AccessKey ペアベースのネットワークアクセス制御ポリシーを設定して、永続的な AccessKey ペアを使用して Alibaba Cloud API 操作を呼び出すことができる IP アドレスを特定のものに限定できます。これにより、信頼できるネットワーク環境で AccessKey ペアを使用して API 操作が呼び出されるようになります。
ポリシータイプ
Resource Access Management (RAM) は、次のタイプの AccessKey ペアベースのネットワークアクセス制御ポリシーを提供します:
アカウントレベルの AccessKey ペアベースのネットワークアクセス制御ポリシー
これらのポリシーは、Alibaba Cloud アカウント内のすべての AccessKey ペア (Alibaba Cloud アカウントの AccessKey ペアと RAM ユーザーの AccessKey ペアを含む) に有効です。アカウント内のすべての AccessKey ペアに統一されたポリシーを設定する場合は、アカウントレベルの AccessKey ペアベースのネットワークアクセス制御ポリシーを設定します。
AccessKey ペアレベルのネットワークアクセス制御ポリシー
これらのポリシーは、Alibaba Cloud アカウントまたは RAM ユーザーの単一の AccessKey ペアに有効です。単一の AccessKey ペアにポリシーを設定する場合、またはアカウントレベルのポリシーとは異なる特定の AccessKey ペアに特別なポリシーを設定する場合は、AccessKey ペアレベルのネットワークアクセス制御ポリシーを設定します。
AccessKey ペアレベルのポリシーは、アカウントレベルのポリシーよりも優先度が高くなります。AccessKey ペアに対して AccessKey ペアレベルのネットワークアクセス制御ポリシーが有効になると、アカウントレベルの AccessKey ペアベースのネットワークアクセス制御ポリシーはその AccessKey ペアには適用されません。
次の図は、ポリシーの評価プロセスを示しています。

使用上の注意
AccessKey ペアベースのネットワークアクセス制御ポリシーは、永続的な AccessKey ペアにのみ有効であり、セキュリティトークンサービス (STS) トークンには有効ではありません。
コンソールログインのネットワークアクセス制御を設定する場合は、ログインマスクを使用します。詳細については、「ネットワークアクセス制御設定」をご参照ください。
まず、テスト環境で AccessKey ペアを使用するか、AccessKey ペアを作成してポリシーをテストします。テストが期待どおりに完了したら、本番環境の AccessKey ペアにポリシーを設定します。これにより、不完全な IP アドレス設定によるオンラインビジネスへの影響を防ぐことができます。
Alibaba Cloud にデプロイされたアプリケーションがインターネット経由で他のクラウドサービスを呼び出す場合は、AccessKey ペアにパブリックネットワークアクセス制御ポリシーを設定します。アプリケーションがプライベートネットワーク経由で他のクラウドサービスを呼び出す場合は、VPC アクセス制御ポリシーを設定します。
制限事項
AccessKey ペアベースのネットワークアクセス制御ポリシーは、Message Queue for Apache RocketMQ、Message Queue for RabbitMQ、Message Queue for MQTT、EventBridge、Lightweight Message Queue、Cloud Monitor (HTTP ベースのイベントモニタリングデータレポート)、および Hologres を除くすべてのクラウドサービスに有効です。サポートされていないクラウドサービスは、サポートされるようになった時点で通知されます。
単一の Alibaba Cloud アカウントまたは単一の AccessKey ペアに対して、最大 8 つのネットワークアクセス制御ポリシーを設定できます。単一の Alibaba Cloud アカウントまたは単一の AccessKey ペアに対しては、パブリックネットワークアクセス制御ポリシーを 1 つだけ設定できます。
各ポリシーには、最大 50 個の IP アドレスまたは CIDR ブロックを含めることができます。
ポリシーの設定
ポリシーを設定する前に、AccessKey の監査レコードと企業のネットワーク管理情報を参照して、信頼できるネットワークアドレスのリストを特定し、アクセス ポリシーが正確かつ完全であることを確認することをお勧めします。
アカウントレベルの AccessKey ペアベースのネットワークアクセス制御ポリシーの設定
RAM 管理者として Resource Access Management (RAM) コンソールにログインします。
[設定] ページで、[ネットワークアクセス制御] セクションの [AccessKey ペアを使用して API 操作を呼び出すために使用できるソースネットワークアドレス] の右側にある [変更] をクリックします。

[アカウントレベルの AccessKey ペアベースのネットワークアクセス制御ポリシー] パネルで、パブリックネットワークポリシーと VPC ポリシーを設定し、ポリシーを有効にしてから [送信] をクリックします。

ポリシーのステータス: [有効化] を選択して、設定したポリシーを有効にします。
パブリックネットワークポリシー: [パブリックネットワークポリシーの追加] をクリックし、パブリック IP アドレスまたは CIDR ブロックを入力します。IPv4 と IPv6 の両方のフォーマットがサポートされています。
パブリックネットワークポリシーを追加しない場合、すべてのパブリック IP アドレスからのアクセスが拒否されます。[すべてのパブリックネットワークアクセスを許可] をクリックすると、
0.0.0.0/0または::/0を持つパブリックネットワークポリシーが追加され、すべてのパブリック IP アドレスからのアクセスが許可されます。VPC ポリシー: [VPC ポリシーの追加] をクリックし、VPC ID と VPC 内の IP アドレスまたは CIDR ブロックを入力します。IPv4 と IPv6 の両方のフォーマットがサポートされています。
VPC ポリシーを追加しない場合、VPC 内のすべての IP アドレスからのアクセスが拒否されます。[すべての VPC アクセスを許可] をクリックすると、VPC ID
AllowAllVPCと IP アドレス0.0.0.0/0または::/0を持つ VPC ポリシーが追加され、すべての VPC (アカウントに関係なく) 内のすべての IP アドレスからのアクセスが許可されます。
説明1 つのポリシーに複数の IP アドレスまたは CIDR ブロックを入力できます。複数の IP アドレスは、スペース、コンマ (,)、またはセミコロン (;) で区切ります。
[送信の確認] ダイアログボックスで、アカウント ID を入力し、[OK] をクリックします。
重要ポリシーは数分の遅延後に有効になります。アカウントレベルの AccessKey ペアベースのネットワークアクセス制御ポリシーは、AccessKey ペアレベルのポリシーが設定されている AccessKey ペアには適用されません。
RAM ユーザーの AccessKey ペアレベルのネットワークアクセス制御ポリシーの設定
RAM 管理者として Resource Access Management (RAM) コンソールにログインします。
左側のナビゲーションウィンドウで、 を選択します。
[ユーザー] ページで、対象の RAM ユーザーの名前をクリックします。
[認証] タブの [AccessKey] セクションで、対象の AccessKey ペアの [操作] 列にある [ネットワークアクセス制御ポリシー] をクリックします。

[AccessKey ペアレベルのネットワークアクセス制御ポリシー] パネルで、パブリックネットワークポリシーと VPC ポリシーを設定し、ポリシーを有効にしてから [送信] をクリックします。

ポリシーのステータス: [有効化] を選択して、設定したポリシーを有効にします。
パブリックネットワークポリシー: [パブリックネットワークポリシーの追加] をクリックし、パブリック IP アドレスまたは CIDR ブロックを入力します。IPv4 と IPv6 の両方のフォーマットがサポートされています。
パブリックネットワークポリシーを追加しない場合、すべてのパブリック IP アドレスからのアクセスが拒否されます。[すべてのパブリックネットワークアクセスを許可] をクリックすると、
0.0.0.0/0または::/0を持つパブリックネットワークポリシーが追加され、すべてのパブリック IP アドレスからのアクセスが許可されます。VPC ポリシー: [VPC ポリシーの追加] をクリックし、VPC ID と VPC 内の IP アドレスまたは CIDR ブロックを入力します。IPv4 と IPv6 の両方のフォーマットがサポートされています。
VPC ポリシーを追加しない場合、VPC 内のすべての IP アドレスからのアクセスが拒否されます。[すべての VPC アクセスを許可] をクリックすると、VPC ID
AllowAllVPCと IP アドレス0.0.0.0/0または::/0を持つ VPC ポリシーが追加され、すべての VPC (アカウントに関係なく) 内のすべての IP アドレスからのアクセスが許可されます。
説明1 つのポリシーに複数の IP アドレスまたは CIDR ブロックを入力できます。複数の IP アドレスは、スペース、コンマ (,)、またはセミコロン (;) で区切ります。
[送信の確認] ダイアログボックスで、AccessKey ID を入力し、[OK] をクリックします。
重要ポリシーは数分の遅延後に有効になります。アカウントレベルの AccessKey ペアベースのネットワークアクセス制御ポリシーは、AccessKey ペアレベルのポリシーが設定されている AccessKey ペアには適用されません。
Alibaba Cloud アカウントの AccessKey ペアレベルのネットワークアクセス制御ポリシーの設定
Alibaba Cloud アカウントとして Alibaba Cloud 管理コンソールにログインします。
右上のアカウントアイコンにポインターを移動し、[AccessKey] をクリックします。

[Alibaba Cloud アカウント AccessKey の使用は推奨されません] ダイアログボックスで、[Alibaba Cloud アカウント AccessKey を使用するリスクを理解しています] を選択し、[AccessKey の使用を続行] をクリックします。
対象の AccessKey ペアの [操作] 列にある [ネットワークアクセス制御ポリシー] をクリックします。

[AccessKey ペアレベルのネットワークアクセス制御ポリシー] パネルで、パブリックネットワークポリシーと VPC ポリシーを設定し、ポリシーを有効にしてから [送信] をクリックします。

ポリシーのステータス: [有効化] を選択して、設定したポリシーを有効にします。
パブリックネットワークポリシー: [パブリックネットワークポリシーの追加] をクリックし、パブリック IP アドレスまたは CIDR ブロックを入力します。IPv4 と IPv6 の両方のフォーマットがサポートされています。
パブリックネットワークポリシーを追加しない場合、すべてのパブリック IP アドレスからのアクセスが拒否されます。[すべてのパブリックネットワークアクセスを許可] をクリックすると、
0.0.0.0/0または::/0を持つパブリックネットワークポリシーが追加され、すべてのパブリック IP アドレスからのアクセスが許可されます。VPC ポリシー: [VPC ポリシーの追加] をクリックし、VPC ID と VPC 内の IP アドレスまたは CIDR ブロックを入力します。IPv4 と IPv6 の両方のフォーマットがサポートされています。
VPC ポリシーを追加しない場合、VPC 内のすべての IP アドレスからのアクセスが拒否されます。[すべての VPC アクセスを許可] をクリックすると、VPC ID
AllowAllVPCと IP アドレス0.0.0.0/0または::/0を持つ VPC ポリシーが追加され、すべての VPC (アカウントに関係なく) 内のすべての IP アドレスからのアクセスが許可されます。
説明1 つのポリシーに複数の IP アドレスまたは CIDR ブロックを入力できます。複数の IP アドレスは、スペース、コンマ (,)、またはセミコロン (;) で区切ります。
[送信の確認] ダイアログボックスで、AccessKey ID を入力し、[OK] をクリックします。
重要ポリシーは数分の遅延後に有効になります。アカウントレベルの AccessKey ペアベースのネットワークアクセス制御ポリシーは、AccessKey ペアレベルのポリシーが設定されている AccessKey ペアには適用されません。
設定例
シナリオ | ポリシー設定 |
すべての AccessKey ペアに対してネットワークアクセス制御は実装されていません。 | アカウントレベルと AccessKey ペアレベルの両方のネットワークアクセス制御ポリシーのステータスを [無効化] に設定します (ポリシーに内容があるかどうかに関係なく)。 |
すべてのパブリック IP アドレスから開始された呼び出しを許可する必要があります。 | IP アドレス |
すべての VPC (アカウントに関係なく) 内のすべての IP アドレスから開始された呼び出しを許可する必要があります。 | VPC ID |
すべてのパブリック IP アドレスから開始された呼び出しを拒否する必要があります。 | アカウントレベルまたは AccessKey ペアレベルのネットワークアクセス制御ポリシーのステータスを [有効化] に設定しますが、パブリックネットワークポリシーは追加しません。 |
VPC 内のすべての IP アドレスから開始された呼び出しを拒否する必要があります。 | アカウントレベルまたは AccessKey ペアレベルのネットワークアクセス制御ポリシーのステータスを [有効化] に設定しますが、VPC ポリシーは追加しません。 |
アカウントレベルのネットワークアクセス制御が設定されています。特定の AccessKey ペアは、すべてのパブリックおよび VPC IP アドレスから呼び出しを開始するために使用できます。 | 次の AccessKey ペアレベルのネットワークアクセス制御ポリシーを設定します:
|
Alibaba Cloud アカウント内のすべての AccessKey ペアは、パブリック IP アドレス (例: | 次のアカウントレベルの AccessKey ペアベースのネットワークアクセス制御ポリシーを設定します:
詳細については、「アカウントレベルの AccessKey ペアベースのネットワークアクセス制御ポリシーの設定」をご参照ください。 |
特定の AccessKey ペアは、パブリック IP アドレス (例: | 次の AccessKey ペアレベルのネットワークアクセス制御ポリシーを設定します:
AccessKey ペアに対して AccessKey ペアレベルのネットワークアクセス制御ポリシーが有効になると、アカウントレベルの AccessKey ペアベースのネットワークアクセス制御ポリシーはその AccessKey ペアには適用されません。 詳細については、「RAM ユーザーの AccessKey ペアレベルのネットワークアクセス制御ポリシーの設定」および「Alibaba Cloud アカウントの AccessKey ペアレベルのネットワークアクセス制御ポリシーの設定」をご参照ください。 |
よくある質問
信頼できるネットワーク IP アドレスを特定するにはどうすればよいですか?
ActionTrail で過去の呼び出し IP アドレスを表示する
ActionTrail が提供する監査ログのクエリおよび分析機能を使用して、成功した過去の呼び出しのソース IP アドレスを表示できます。詳細は次のとおりです:
SLS トレイルを作成した場合: ActionTrail コンソール の [トレイル] ページで、トレイルの詳細を開き、SLS Logstore 名をクリックして Simple Log Service コンソールに移動します。検索とクエリを実行して、特定の AccessKey ペア (event.userIdentity.accessKeyId) の過去の呼び出し IP アドレス (event.sourceIpAddress) と過去の呼び出しの VPC ID (event.vpcId) を表示できます。詳細については、「SLS または OSS コンソールを使用したイベントのクエリ」をご参照ください。
検索文の例:
* | SELECT "event.userIdentity.accessKeyId" AS access_key_id, "event.sourceIpAddress" AS source_ip_address, "event.vpcId" AS vpc_id FROM log WHERE "event.userIdentity.accessKeyId" = 'LTAI****************'SLS トレイルを作成していない場合: ActionTrail コンソール の [AccessKey 監査] ページで、AccessKey ID を入力し、呼び出しレコードで各クラウドサービスの呼び出しのソース IP アドレスを表示します。詳細については、「AccessKey ログのクエリ」をご参照ください。
ActionTrail は、サポートされているクラウドサービスの監査イベントのみをクエリできます。ActionTrail でサポートされていないデータイベントについては、クラウドサービスの監査機能を使用する必要があります。
ネットワーク構成のクエリ
Alibaba Cloud にデプロイされたアプリケーション
アプリケーションが Alibaba Cloud ECS またはコンテナーサービスにデプロイされている場合、Alibaba Cloud 上のインスタンス、クラスター、およびその他のリソースにバインドされているパブリック IP アドレス、VPC ID、およびプライベート CIDR ブロックを直接クエリできます。
アプリケーションがクラウドサービスのパブリックエンドポイントを呼び出す場合、呼び出しはインターネット経由で開始されます。ソース IP アドレスは、出口のパブリック IP アドレスまたはインターネット NAT ゲートウェイにバインドされたパブリック IP アドレスです。アプリケーションがクラウドサービスの VPC エンドポイントを呼び出す場合、呼び出しは VPC 経由で開始されます。ソース IP アドレスは、VPC 内のプライベート IP アドレスです。
クラウドサービス間の呼び出し
Alibaba Cloud Service A を使用して Alibaba Cloud Service B にデータを送信する場合、クラウドサービスは通常、複数の呼び出しメソッドを提供します。Cloud Service B を呼び出すとき、クラウドサービスの IP アドレスが使用されることがあります。ActionTrail のイベントレコードでは、イベントソースは通常、クラウドサービスのアドレスまたは "internal" として表示されます。クラウドサービスのドキュメントを確認し、サーバロールまたは AccessKey 認証情報を必要としない他のソリューションを使用することをお勧めします。
以下は、クラウドサービス間の呼び出しに関するいくつかのリファレンスです:
DataWorks: データ分析のために MaxCompute を呼び出すために使用される IP CIDR ブロックについては、「付録: データ分析ホワイトリスト」をご参照ください。メタデータ取得に使用される可能性のある IP CIDR ブロックについては、「データソースにホワイトリストアクセス制御がある場合のメタデータ取得のためのホワイトリスト設定」をご参照ください。
Simple Log Service: データ変換を介して他の Alibaba Cloud アカウントにログを転送するには、AccessKey ペアを使用する代わりに、RAM ロールを作成して使用し、同じアカウント内でデータ転送を完了することをお勧めします。
Application Real-Time Monitoring Service (ARMS): クロスアカウントアクセスについては、RAM ロールアクセス方式を使用することをお勧めします。
動的 IP アドレス
クラウドリソースが弾力的にスケーリングされたり、自動的に再構成されたりすると、IP アドレスは動的に変化します。新しい IP アドレスを AccessKey ペアベースのネットワークアクセス制御ポリシーに速やかに追加する必要があります。
Function Compute: デフォルトでは、動的パブリック IP アドレスが使用され、正確な IP アドレスを提供することはできません。固定パブリック IP アドレスを設定できます。
Alibaba Cloud の外部にデプロイされたアプリケーション
アプリケーションのデプロイメント環境の出口 IP アドレスを手動で確認します。
オフィスネットワークの IP アドレス
ローカルでの開発およびテストに AccessKey ペアを使用する場合は、企業のネットワーク管理者に連絡して、オフィスネットワークの出口 IP アドレスを取得してください。
API 呼び出しがネットワークアクセス制御ポリシーによって拒否され、その拒否が期待どおりでない場合はどうすればよいですか?
問題の説明
AccessKey ペアベースのネットワークアクセス制御ポリシーが有効になると、許可された範囲にないソース IP アドレスからの呼び出しは拒否されます。一般的なエラーメッセージは次のとおりです:
Message: The specified parameter "AccessKeyId.AccessPolicyDenied" is not valid.Message: code: 400, Specified access key denied due to access policy. ソリューション
呼び出しがネットワークアクセス制御ポリシーによって拒否され、その拒否が期待どおりでない場合は、次のソリューションを試すことができます:
拒否された AccessKey ペアに対して AccessKey ペアレベルのネットワークアクセス制御ポリシーが設定されているかどうかを確認します。
設定されている場合は、AccessKey ペアレベルのネットワークアクセス制御ポリシーを変更して、ソース IP アドレスをポリシーに追加します。
設定されていない場合は、次のステップに進みます。
RAM 管理者を使用して、アカウントレベルの AccessKey ペアベースのネットワークアクセス制御ポリシーを確認および変更し、ソース IP アドレスをポリシーに追加します。
問題が解決しない場合、ソース IP アドレスが間違っている可能性があります。正しい IP アドレスを確認して取得する必要があります。
ActionTrail を使用して、AccessKey ペアの過去の呼び出し元 IP アドレスをクエリできます。詳細については、「ActionTrail で過去の呼び出し IP アドレスを表示する」をご参照ください。