Amazon Web Services ブログ
AWS マネジメントコンソールへのアクセスを想定するネットワークに制限
本ブログは 2026 年 6 月 24 日に公開された AWS Blog “Restrict AWS Management Console access to expected networks with sign-in resource-based policies and RCPs” を翻訳したものです。
Amazon Web Services (AWS) は 2026 年 6 月 16 日に、リソースベースポリシーとリソースコントロールポリシー (RCP) を AWS サインインでサポートすることを発表しました。リソースベースポリシーと RCP を使用すると、AWS マネジメントコンソールへのサインインと aws login CLI セッションへのアクセスを、想定するネットワーク、オンプレミスのデータセンターネットワーク、およびお客様の Amazon Virtual Private Cloud (Amazon VPC) からのリクエストに制限できます。
サインインのリソースベースポリシーと RCP は、いくつかのセキュリティ目標に対応します。具体的には、コンソールサインインを企業ネットワークに制限すること、コンソールにサインインできるプリンシパルを限定すること、そして AWS Organizations の組織全体にわたって一貫した ネットワーク境界制御 を適用することです。
この記事では、一般的なユースケースを取り上げます。規制コンプライアンスのために、ある金融サービス企業がコンソールアクセスを企業ネットワークに制限するというケースです。単一アカウントに対してサインインのリソースベースポリシーを使用してこれを実装する方法、AWS CloudTrail で制御を検証する方法、そしてこれらのポリシーが AWS Management Console Private Access やより広範な AWS データ境界フレームワーク とどのように統合されるかを説明します。
コンソールサインインアクセスを企業ネットワークに制限する
ある金融サービス企業が、AWS マネジメントコンソール へのサインインを企業ネットワークから行うことを求めているとします。この企業には次の要件があります。
- ユーザーは、企業 VPN、オフィスネットワーク、またはお客様の VPC からのみコンソールにサインインする
- 個人ネットワーク、公衆 Wi-Fi、その他の想定外の場所からのサインイン試行は拒否しなければならない
- ロックアウトを防ぐため、指定したプリンシパルはどのネットワークからでもアクセスを保持できるようにする
- コンプライアンスの証跡として、すべてのサインイン試行 (許可および拒否) を CloudTrail に記録しなければならない
以下のステップでは、単一アカウントでこれらの要件を適用するリソースベースポリシーを作成する方法を紹介します。
前提条件
- AWS Command Line Interface (AWS CLI) が最新バージョンでインストールされ、設定されていること
- サインインのリソースポリシーを管理する権限。AWS マネージドポリシーの
AWSSignInResourcePolicyManagementをアタッチするか、各プリンシパルに次のアクションへの権限を付与します。- リソース許可ステートメントの管理:
signin:PutResourcePermissionStatement,signin:DeleteResourcePermissionStatement,signin:ListResourcePermissionStatements,signin:GetResourcePolicy. - コンソール認可の管理:
signin:PutConsoleAuthorizationConfiguration,signin:GetConsoleAuthorizationConfiguration,signin:DeleteConsoleAuthorizationConfiguration
- リソース許可ステートメントの管理:
- 特定の企業ネットワーク: IP CIDR 範囲または VPC ID
- 除外する指定プリンシパルの Amazon リソースネーム (ARN)。これにより、ネットワーク条件が変わってもアクセスを保持できます
注: AWS サインインアクションの完全なリストについては、サービス認可リファレンスの AWS Signin のアクション、リソース、および条件キー を参照してください。
ステップ 1: リソース許可ステートメントを作成する
ほとんどのリソースベースポリシーでは、作成者がポリシードキュメント全体 (JSON ステートメント) を入力する必要があります。サインインのリソース許可ステートメントは異なります。パラメータを指定すると、AWS サインインがポリシーを生成します。
次のコマンドでは、企業 IP 範囲、VPC、除外プリンシパルをパラメータとして指定します。AWS サインインはこれらのパラメータを使用して、コンソールサインインをそれらのネットワークに制限しつつ、除外プリンシパルがどのネットワークからでもサインインできるようにするポリシーを生成します。お客様が制御するのはパラメータの値であり、ポリシーの構造ではありません。生成されたポリシーは、get-resource-policy コマンドでいつでも確認できます。
注: リソース許可ステートメントは、ステップ 2 でコンソール認可を有効にするまで効果を発揮しません。そのため、効果が発生する前に完全なポリシーを確認できます。なお、書き込み操作は
us-east-1を対象にする必要があります。
リソース許可ステートメントを作成するには、次の手順を実行します。
1. ターミナルを開き、最新の AWS CLI がインストールされていることを確認します。
2. 次のコマンドを実行し、プレースホルダー値 <my-vpc>、<my-vpc-region>、<my-corporate-cidr>、<excluded-IAM-principal-arn> を、お客様の具体的な設定に置き換えます。
3. 出力に statementId があることを確認して、コマンドが成功したか検証します。
出力例:
{
"statementId":"b2HfHli9qCF1P4eGNll13CrZtusXlcPxxVBqz2aYLjlAcWtWQHP6Hg0"
}
4. get-resource-policy コマンドを実行して、完全なリソースベースポリシーを確認します。
aws signin get-resource-policy
出力例:
生成されたポリシーには 4 つのステートメントが含まれ、2 つのペアにグループ化されています。最初のペアはネットワークソースによってアクセスを制限し、企業 IP 範囲 (<my-corporate-cidr>) または VPC (<my-vpc>) の外部からリクエストを行うプリンシパルを拒否します。2 番目のペアは、VPC がターゲットにできる AWS リージョンを制限し、<my-vpc> から発信されたリクエストを、<my-vpc-region> に向けられたものでない限り拒否します。このリージョンへのバインディングが必要なのは、VPC ID が単一リージョン内でのみ一意であるためです。
AWS サインインはこれらのポリシーを 2 つのフェーズ、つまり認証前と認証後で評価します。認証後の評価は、コンソールセッションが新しい認証情報をリクエストするたびに繰り返されます。各ペアの中で、1 つのステートメントは認証前フェーズをカバーし、もう 1 つは認証後フェーズをカバーします。
認証前のステートメントは signin:Authenticate アクションを評価します。このフェーズではプリンシパルがまだ認証されていないため、ステートメントは signin:PrincipalArn 条件キーを使用して除外プリンシパルを免除します。このキーはすべてのプリンシパルタイプ (ルートユーザー、AWS Identity and Access Management (IAM) ユーザー、フェデレーションユーザー、ロール) をサポートします。
認証後のステートメントは signin:AuthorizeOAuth2Access および signin:CreateOAuth2Token アクションを評価します。AWS サインインは、コンソールセッションを確立するトークンを発行する認証後に、これらのアクションを評価します。これらのアクションは signin:PrincipalArn キーをサポートしません。代わりに、認証済みのプリンシパルに解決される aws:PrincipalArn を使用します。
aws:ResourceAccount の値は受信側のアカウント ID です。AWS サインインが呼び出し元の認証情報から自動的に取得するため、お客様が自分で設定する必要はありません。サポートされるアクションと条件キーの完全なリスト (各フェーズと各プリンシパルタイプにどのキーが適用されるかを含む) については、Controlling console access with resource-based policies and resource control policies および AWS Sign-In condition keys reference を参照してください。
ステップ 2: アカウントのサインインポリシー適用を有効にする
このステップでは、ステップ 1 で作成したポリシーの適用を有効にします。このステップを実行するまで、ステップ 1 で作成したリソース許可ステートメントは効果を発揮しません。
5. 次のコマンドを使用して、サインインポリシーの適用を有効にします。
6. 出力に "consoleAuthorizationEnabled": true があることを確認して、コマンドが成功したか検証します。
出力例:
{
"Output": {
"consoleAuthorizationEnabled": true,
"scope": "ACCOUNT",
"targetId": "<account-id>"
}
}
7. 以下のように get-console-authorization-configuration コマンドを実行して、設定を検証することもできます。
8. 適用を無効にしたり個別のステートメントを削除したりするには、delete-console-authorization-configuration または delete-resource-permission-statement を使用します。詳細については、AWS サインイン ユーザーガイド の Controlling console access with resource-based policies and resource control policies を参照してください。
実装の検証
適用が有効になったので、サインイン試行はリソースベースポリシーに照らして評価されます。さまざまなネットワーク条件からサインインをテストして、動作を検証しましょう。
シナリオ 1: 企業ネットワークからの許可されたサインイン
許可された企業 IP 範囲または VPC からサインインするプリンシパルは、正常にサインインできます。CloudTrail イベント には ConsoleLogin:Success が表示されます。
コンソールサインイン成功時の CloudTrail イベント詳細の例:
シナリオ 2: 想定外のネットワークからの拒否されたサインイン
許可された IP アドレス範囲、またはソース VPC にアタッチされた VPC エンドポイント以外のネットワークからサインインするプリンシパルはブロックされます。CloudTrail イベントには ConsoleLogin: Failure が表示され、拒否の原因となったポリシーを特定するエラーメッセージが含まれます。
コンソールサインイン失敗時の CloudTrail イベント詳細の例:
エラーメッセージフィールドには、拒否の原因となったポリシータイプが表示されます。"Authorization denied because of a resource-based policy" (リソースベースポリシーにより認可が拒否されました)。
RCP による大規模展開
上記のステップでは、サインインのリソースベースポリシーを単一アカウントに適用します。多数のアカウントを管理する組織にとっては、RCP がより優れた方法です。RCP は AWS Organizations の組織、OU、またはアカウントレベルでアタッチでき、対象範囲内のすべてのアカウントに自動的に適用されます。RCP の例については、こちら を参照してください。
RCP によってコンソールへのサインインが拒否された場合、エラーメッセージフィールドには拒否が "Authorization denied because of a resource control policy" (リソースコントロールポリシーにより認可が拒否されました) と表示されます。
Console Private Access とデータ境界による拡張
作成したサインインのリソースベースポリシーは、どのネットワークがお客様のアカウントのサインインフローに到達できるかを制御します。AWS Management Console Private Access は補完的な制御を追加します。具体的には、お客様のネットワーク内から、コンソールアクセスを既知の AWS アカウントのセットに限定し、想定外の AWS アカウントへのサインインを防ぎます。
これらの機能を組み合わせることで、コンソールアクセスのデータ境界の形成に役立ちます。
- ネットワーク境界: サインインのリソースベースポリシーと RCP は、コンソールサインインを想定するネットワーク (企業 IP 範囲、VPC) に制限します
- アイデンティティ境界: サインインのリソースベースポリシーと RCP は、信頼できるアイデンティティのみがコンソールにサインインできることを保証します。コンソール VPC エンドポイントポリシーとサインイン VPC エンドポイントポリシーは、信頼できるアイデンティティのみがお客様の VPC からコンソールを使用できることを保証します
- リソース境界: サインイン VPC エンドポイントポリシーとコンソール VPC エンドポイントポリシーは、お客様のネットワークからどの AWS アカウントに到達できるかを制限します
この記事の制御はコンソールアクセスに焦点を当てています。これらの境界を他の AWS サービスやより広範な実装シナリオに拡張するには、Data perimeter policy examples リポジトリと Data Perimeters Blog Post Series を参照してください。
まとめ
サインインのリソースベースポリシーと RCP を使用することで、AWS マネジメントコンソールへのアクセスを想定するネットワークに制限できます。これらの制御は、すべての AWS 商用リージョンで追加料金なしで利用できます。
使い始めるには、AWS サインイン ユーザーガイド を参照してください。組織全体での適用については、AWS Organizations ユーザーガイドの Resource control policies を参照してください。