ネットワーク ACL ポリシーは、永続的な AccessKey を使用する API リクエストのソース IP アドレスを制限し、AccessKey の使用を信頼できるネットワーク環境内に限定します。
ポリシータイプ
Resource Access Management (RAM) は、2 種類の AccessKey のネットワーク ACL ポリシーを提供します:
-
アカウントレベルのネットワーク ACL ポリシー
このポリシーは、Alibaba Cloud アカウント内のすべての AccessKey (Alibaba Cloud アカウントの AccessKey および RAM ユーザーの AccessKey を含む) に適用されます。アカウント内のすべての AccessKey に統一されたネットワーク制限を適用する場合に、このポリシーを設定します。
-
AccessKey レベルのネットワーク ACL ポリシー
このポリシーは、Alibaba Cloud アカウントまたは RAM ユーザーに属する単一の AccessKey に適用されます。個別の AccessKey に制限を設定したり、アカウントレベルのポリシーを上書きしたりする場合に、このポリシーを設定します。
AccessKey レベルのポリシーは、アカウントレベルのポリシーより優先されます。AccessKey に特定の AccessKey レベルのポリシーがある場合、アカウントレベルのポリシーはその AccessKey には適用されません。
次のフローチャートは、2 種類のポリシーがどのように評価されるかを示しています。

注意事項
-
ネットワーク ACL ポリシーは、永続的な AccessKey を使用した API コールのみを制限します。STS トークンなど、一時的な認証情報には適用されません。
-
コンソールのログオンに対するネットワークアクセスを制限するには、ログオンマスクを使用します。詳細については、「ネットワークアクセス制御設定」をご参照ください。
-
まず、テスト用または新規作成した AccessKey でポリシーをテストします。結果を確認した後、本番環境の AccessKey にポリシーを適用して、不完全な IP アドレス設定によるサービスの中断を回避してください。
-
Alibaba Cloud にデプロイされたアプリケーションがパブリックネットワーク経由で他のクラウドサービスを呼び出す場合は、パブリックネットワークポリシーを設定します。アプリケーションがプライベートネットワーク経由で他のクラウドサービスを呼び出す場合は、VPC ポリシーを設定します。
制限事項
-
AccessKey のネットワーク ACL ポリシーは、ApsaraMQ for RocketMQ、ApsaraMQ for RabbitMQ、ApsaraMQ for MQTT、EventBridge、Simple Message Queue (旧 MNS)、CMS (HTTP 経由でイベント監視データを報告する場合)、Hologres を除くすべてのクラウドサービスに適用されます。サポートが追加された際には、各サービスから発表されます。
-
Alibaba Cloud アカウントまたは単一の AccessKey には、最大 8 つのネットワーク ACL ポリシーを追加できます。このうち、パブリックネットワークポリシーは 1 つのみです。
-
各ポリシーには、最大 50 の IP アドレスまたは CIDR ブロックを含めることができます。
ポリシーの設定
ポリシーを設定する前に、ActionTrail の AccessKey 監査レコードとエンタープライズネットワーク設定を確認し、信頼できるネットワークアドレスの完全なリストを作成してください。
アカウントレベルのポリシー
-
RAM 管理者として RAM コンソール にログインします。
-
設定 ページの ネットワークアクセス制御 セクションで、[AccessKey による API 呼び出し時の許可ソースネットワークアドレス] の横にある 変更 をクリックします。
-
[アカウントレベルのネットワークアクセス制御] パネルで、パブリックネットワークポリシーと VPC ポリシーを設定し、ポリシーを有効にしてから 送信 をクリックします。
ネットワークアクセスポリシーは、ApsaraMQ for RocketMQ、ApsaraMQ for RabbitMQ、ApsaraMQ for MQTT、EventBridge、Simple Message Queue (旧 MNS)、CMS (HTTP 経由でイベント監視データを報告する場合)、Hologres の各サービスには適用されません。ポリシーを作成する前に、AccessKey の操作ログを確認して、過去のソース IP アドレスを確認することを推奨します。
-
[ポリシーステータス]:有効 を選択してポリシーをアクティブ化します。
-
[パブリックネットワーク ACL]:パブリックネットワークステートメントを追加 をクリックし、パブリック IP アドレスまたは CIDR ブロックを入力します。IPv4 および IPv6 形式がサポートされています。
パブリックネットワークポリシーを追加しない場合、すべてのパブリック IP アドレスからのアクセスが拒否されます。すべてのパブリック IP アドレスからのアクセスを許可するには、すべてのパブリックネットワークアクセスを許可 をクリックします。この操作により、
0.0.0.0/0または::/0を含むパブリックネットワークポリシーが追加されます。 -
[VPC ネットワーク ACL]:VPC ステートメントを追加 をクリックし、VPC ID と VPC 内の IP アドレスまたは CIDR ブロックを入力します。IPv4 および IPv6 形式がサポートされています。
VPC ポリシーを追加しない場合、VPC 内のすべての IP アドレスからのアクセスが拒否されます。すべてのアカウントにまたがる任意の VPC 内のすべての IP アドレスからのアクセスを許可するには、すべての VPC ネットワークアクセスを許可 をクリックします。この操作により、VPC ID が
AllowAllVPCに設定され、IP アドレスが0.0.0.0/0または::/0に設定された VPC ポリシーが追加されます。
説明ポリシーには複数の IP アドレスまたは CIDR ブロックを入力できます。エントリは、スペース、カンマ (,)、またはセミコロン (;) で区切ってください。
-
-
送信の確認 ダイアログボックスでアカウント ID を入力し、OK をクリックします。
重要ポリシーは、送信後、有効になるまでに数分かかります。AccessKey に AccessKey レベルのポリシーがある場合、アカウントレベルのネットワーク ACL ポリシーはその AccessKey には適用されません。
RAM ユーザーの AccessKey レベルのポリシー
-
RAM 管理者として RAM コンソール にログインします。
-
ナビゲーションペインで、 を選択します。
-
ユーザー ページで、対象の RAM ユーザーの名前をクリックします。
-
[認証] タブの AccessKey セクションで、対象の AccessKey を見つけ、[操作] 列の [ネットワークアクセス制御] をクリックします。
対象の AccessKey がかなり前 (たとえば 5 か月前) に作成された場合、[ローテーションを推奨] ラベルが表示され、速やかに AccessKey をローテーションするように求められます。
-
[AccessKey レベルのネットワークアクセス制御] パネルで、パブリックネットワークポリシーと VPC ポリシーを設定し、ポリシーを有効にしてから 送信 をクリックします。
このポリシーは、ApsaraMQ for RocketMQ、ApsaraMQ for RabbitMQ、ApsaraMQ for MQTT、EventBridge、Simple Message Queue (旧 MNS)、CMS (HTTP 経由でイベント監視データを報告する場合)、Hologres の各サービスには適用されません。ポリシーを作成する前に、AccessKey の操作ログを確認することを推奨します。
-
[ポリシーステータス]:有効 を選択してポリシーをアクティブ化します。
-
[パブリックネットワーク ACL]:パブリックネットワークステートメントを追加 をクリックし、パブリック IP アドレスまたは CIDR ブロックを入力します。IPv4 および IPv6 形式がサポートされています。
パブリックネットワークポリシーを追加しない場合、すべてのパブリック IP アドレスからのアクセスが拒否されます。すべてのパブリック IP アドレスからのアクセスを許可するには、すべてのパブリックネットワークアクセスを許可 をクリックします。この操作により、
0.0.0.0/0または::/0を含むパブリックネットワークポリシーが追加されます。 -
[VPC ネットワーク ACL]:VPC ステートメントを追加 をクリックし、VPC ID と VPC 内の IP アドレスまたは CIDR ブロックを入力します。IPv4 および IPv6 形式がサポートされています。
VPC ポリシーを追加しない場合、VPC 内のすべての IP アドレスからのアクセスが拒否されます。すべてのアカウントにまたがる任意の VPC 内のすべての IP アドレスからのアクセスを許可するには、すべての VPC ネットワークアクセスを許可 をクリックします。この操作により、VPC ID が
AllowAllVPCに設定され、IP アドレスが0.0.0.0/0または::/0に設定された VPC ポリシーが追加されます。
説明ポリシーには複数の IP アドレスまたは CIDR ブロックを入力できます。エントリは、スペース、カンマ (,)、またはセミコロン (;) で区切ってください。
-
-
送信の確認 ダイアログボックスで AccessKey ID を入力し、OK をクリックします。
重要ポリシーは、送信後、有効になるまでに数分かかります。AccessKey に AccessKey レベルのポリシーがある場合、アカウントレベルのネットワーク ACL ポリシーはその AccessKey には適用されません。
Alibaba Cloud アカウントの AccessKey レベルのポリシー
-
Alibaba Cloud アカウントで Alibaba Cloud 管理コンソール にログインします。
-
右上のプロファイルアイコンをポイントし、[AccessKey] をクリックします。
-
[メインアカウントの AccessKey は推奨されません] ダイアログボックスで、[メインアカウントの AccessKey を使用する際のセキュリティリスクを認識しています] を選択し、[メインアカウントの AccessKey を使用] をクリックします。
-
対象の AccessKey を見つけ、[操作] 列の [ネットワークアクセス制御] をクリックします。
-
[AccessKey レベルのネットワークアクセス制御] パネルで、パブリックネットワークポリシーと VPC ポリシーを設定し、ポリシーを有効にしてから 送信 をクリックします。
-
[ポリシーステータス]:有効 を選択してポリシーをアクティブ化します。
-
[パブリックネットワーク ACL]:パブリックネットワークステートメントを追加 をクリックし、パブリック IP アドレスまたは CIDR ブロックを入力します。IPv4 および IPv6 形式がサポートされています。
パブリックネットワークポリシーを追加しない場合、すべてのパブリック IP アドレスからのアクセスが拒否されます。すべてのパブリック IP アドレスからのアクセスを許可するには、すべてのパブリックネットワークアクセスを許可 をクリックします。この操作により、
0.0.0.0/0または::/0を含むパブリックネットワークポリシーが追加されます。 -
[VPC ネットワーク ACL]:VPC ステートメントを追加 をクリックし、VPC ID と VPC 内の IP アドレスまたは CIDR ブロックを入力します。IPv4 および IPv6 形式がサポートされています。
VPC ポリシーを追加しない場合、VPC 内のすべての IP アドレスからのアクセスが拒否されます。すべてのアカウントにまたがる任意の VPC 内のすべての IP アドレスからのアクセスを許可するには、すべての VPC ネットワークアクセスを許可 をクリックします。この操作により、VPC ID が
AllowAllVPCに設定され、IP アドレスが0.0.0.0/0または::/0に設定された VPC ポリシーが追加されます。
説明ポリシーには複数の IP アドレスまたは CIDR ブロックを入力できます。エントリは、スペース、カンマ (,)、またはセミコロン (;) で区切ってください。
-
-
送信の確認 ダイアログボックスで AccessKey ID を入力し、OK をクリックします。
重要ポリシーは、送信後、有効になるまでに数分かかります。AccessKey に AccessKey レベルのポリシーがある場合、アカウントレベルのネットワーク ACL ポリシーはその AccessKey には適用されません。
設定例
|
シナリオ |
ポリシー設定 |
|
どの AccessKey のネットワークアクセスも制限しない。 |
ポリシーの内容に関係なく、アカウントレベルと AccessKey レベルの両方のネットワーク ACL ポリシーのステータスを 無効 に設定します。 |
|
すべてのパブリック IP アドレスからの呼び出しを許可する。 |
アカウントレベルまたは AccessKey レベルのネットワーク ACL ポリシーで、IP アドレスが |
|
アカウントに関係なく、すべての VPC 内の IP アドレスからの呼び出しを許可する。 |
アカウントレベルまたは AccessKey レベルのネットワーク ACL ポリシーで、VPC ID が |
|
すべてのパブリック IP アドレスからの呼び出しを拒否する。 |
アカウントレベルまたは AccessKey レベルのネットワーク ACL ポリシーで、ポリシーのステータスを 有効 に設定し、パブリックネットワークポリシーは追加しません。 |
|
VPC 内の IP アドレスからの呼び出しをすべて拒否する。 |
アカウントレベルまたは AccessKey レベルのネットワーク ACL ポリシーで、ポリシーのステータスを 有効 に設定し、VPC ポリシーは追加しません。 |
|
アカウントレベルのネットワークアクセス制限が設定されており、特定の AccessKey が任意のパブリック IP アドレスおよび VPC IP アドレスからの呼び出しを許可する必要があります。 |
特定の AccessKey に対して、以下の内容で AccessKey レベルのネットワーク ACL ポリシーを有効にします:
|
|
Alibaba Cloud アカウント内のすべての AccessKey が、パブリック IP アドレス (例: |
以下の内容でアカウントレベルのネットワーク ACL ポリシーを有効にします:
詳細については、「アカウントレベルのポリシー」をご参照ください。 |
|
特定の AccessKey が、パブリック IP アドレス (例: |
特定の AccessKey に対して、以下の内容で AccessKey レベルのネットワーク ACL ポリシーを有効にします:
AccessKey レベルのネットワーク ACL ポリシーが有効になると、アカウントレベルのポリシーはこの AccessKey に適用されなくなります。 詳細については、「RAM ユーザーの AccessKey レベルのポリシー」および「Alibaba Cloud アカウントの AccessKey レベルのポリシー」をご参照ください。 |
|
VPC ピアリング接続を介して、 |
アカウントレベルまたは AccessKey レベルのネットワーク ACL ポリシーで、VPC ポリシーを追加します。VPC ID には、ピア VPC の ID (例: VPC ポリシーのみを追加し、パブリックネットワークポリシーを追加しない場合、すべてのパブリック API 呼び出しが拒否されます。このポリシーを適用する前に、ワークロードへの影響を評価してください。 詳細については、「アカウントレベルのポリシー」をご参照ください。 |
よくある質問
信頼できる IP アドレスを特定する方法
ActionTrail での過去の API 呼び出しデータの確認
ActionTrail 監査ログを使用して、過去に成功した API 呼び出しのソース IP アドレスをクエリできます。次のいずれかの方法を選択してください:
-
Log Service (SLS) への証跡の配信を設定した場合:ActionTrail コンソール の [証跡] ページで、証跡の詳細を開き、SLS Logstore 名をクリックして Log Service コンソールに移動してください。その後、検索クエリを実行して、指定された AccessKey (フィールド
event.userIdentity.accessKeyId) の過去のソース IP アドレス (event.sourceIpAddress) と VPC ID (event.vpcId) を集計できます。詳細については、「Log Service または 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****************' -
証跡の配信を設定していない場合:ActionTrail コンソール の [AccessKey 監査] ページで、AccessKey ID を入力し、呼び出しレコードで各クラウドサービスのソース IP アドレスを表示してください。詳細については、「AccessKey ログのクエリ」をご参照ください。
ActionTrail は、サポートされているクラウドサービスの監査イベントのみをカバーします。サポートされていないデータイベントについては、対応するクラウドサービスのネイティブ監査機能を使用してください。
ネットワーク設定のクエリ
Alibaba Cloud にデプロイされたアプリケーション
ECS や ACK などの Alibaba Cloud サービスにデプロイされたアプリケーションの場合、Alibaba Cloud コンソールで、リソースのパブリック IP アドレス、VPC ID、およびプライベート CIDR ブロックを検索してください。
アプリケーションがパブリックエンドポイントを使用してクラウドサービスを呼び出す場合、ソース IP アドレスはリソースまたはその NAT ゲートウェイのパブリック出口 IP アドレスです。アプリケーションが VPC エンドポイントを使用してクラウドサービスを呼び出す場合、ソース IP アドレスは VPC からのプライベート IP アドレスです。
クラウドサービス間の呼び出し
Alibaba Cloud サービス間の呼び出しは、内部 IP アドレスから発信される場合があります。ActionTrail レコードでは、イベントソースがサービスアドレスまたは "internal" として表示されることがあります。AccessKey を必要としない RAM ロールまたは別の認証情報メソッドを使用することを推奨します。
以下は、特定のサービス間呼び出しの参照設定です:
-
DataWorks:DataWorks がデータ分析のために MaxCompute を呼び出す際に使用される IP 範囲については、「データ分析 IP ホワイトリスト」をご参照ください。メタデータ収集に使用される可能性のある IP 範囲については、「メタデータ収集のための IP アドレスホワイトリストの設定」をご参照ください。
-
Log Service (SLS):データ処理を伴うログ転送時には、RAM ロールを使用して同一アカウント内でデータを転送することを推奨します。
-
Application Real-Time Monitoring Service (ARMS):アカウント間のアクセスには、RAM ロールを使用することを推奨します。
動的 IP アドレス
-
クラウドリソースの IP アドレスは、弾性スケーリングや自動再設定中に変更される可能性があります。新しい IP アドレスを速やかにネットワーク ACL ポリシーに追加してください。
-
Function Compute:デフォルトでは、Function Compute は動的なパブリック IP アドレスを使用します。静的なパブリック IP アドレスを設定することができます。
-
光学文字認識 (OCR) やその他の Platform as a Service (PaaS) サービス:呼び出し元の IP アドレスは動的に変更される可能性があり、固定できません。セキュリティ要件によりポリシーを無効にできない場合は、Security Token Service トークンを使用して API を呼び出してください。AccessKey のネットワーク ACL ポリシーは、Security Token Service トークンには適用されません。
Alibaba Cloud の外部にデプロイされたアプリケーション
アプリケーションのデプロイ環境の出口 IP アドレスを手動で確認してください。
オフィスネットワークの IP アドレス
ローカルでの開発やデバッグに AccessKey を使用する場合は、エンタープライズネットワーク管理者に連絡して、オフィスネットワークの出口 IP アドレスを取得してください。
予期しない拒否のトラブルシューティング
現象
ネットワーク ACL ポリシーが有効になると、許可された範囲外のソース IP アドレスからの呼び出しは拒否されます。一般的なエラーメッセージは次のとおりです:
Message: The specified parameter "AccessKeyId.AccessPolicyDenied" is not valid.Message: code: 400, Specified access key denied due to access policy.
ソリューション
API 呼び出しがネットワーク ACL ポリシーによって予期せず拒否された場合は、次のトラブルシューティング手順に従ってください:
-
影響を受ける AccessKey に AccessKey レベルのネットワーク ACL ポリシーがあるかどうかを確認してください。
-
ある場合は、AccessKey レベルのネットワーク ACL ポリシーを変更して、ソース IP アドレスを含めてください。
-
ない場合は、次の手順に進んでください。
-
-
RAM 管理者として、アカウントレベルのネットワーク ACL ポリシーを確認および変更して、ソース IP アドレスを含めてください。
-
問題が解決しない場合、ポリシー内のソース IP アドレスが不正確である可能性があります。正しい IP アドレスを確認して取得してください。
ActionTrail を使用して、AccessKey 呼び出しの過去のソース IP アドレスを見つけることができます。詳細については、「ActionTrail での過去の API 呼び出しデータの確認」をご参照ください。
-
ソース IP アドレスが動的に変更され、網羅的にリストアップできない場合 (Platform as a Service (PaaS) サービスの呼び出しシナリオなど) は、Security Token Service トークンを使用して API を呼び出してください。このアプローチは、セキュリティ要件によりポリシーを無効にできない場合に適用されます。AccessKey のネットワーク ACL ポリシーは、Security Token Service トークンには適用されません。