View a markdown version of this page

信頼できる ID - AWS マネジメントコンソール

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

信頼できる ID

AWS マネジメントコンソール プライベートアクセスを使用すると、VPC 内 AWS マネジメントコンソール から を使用できる AWS アカウント および組織 ID を制限できます。これにより、個人アカウントや組織外のアカウントからのアクセスが防止されます。

AWS マネジメントコンソール および AWS サインイン VPC エンドポイントはそれぞれ、サインインアカウントの ID を制御する VPC エンドポイントポリシーをサポートしています。ポリシーはサインイン時に評価され、既存のセッションでは定期的に再評価されます。

  • AWS マネジメントコンソール VPC エンドポイントポリシー – このエンドポイント AWS マネジメントコンソール を介して にアクセスできるサインイン ID を制限します。Action: * および を Principal: *aws:PrincipalOrgIdまたは aws:PrincipalAccount条件キーとともに使用します。

  • AWS サインイン VPC エンドポイントポリシー (サインインフロー) – このエンドポイント AWS マネジメントコンソール を介して にサインインできるユーザーを制限し、認証情報の検証前と検証後に個別に評価します。事前認証は、 を使用して、認証情報を入力する前のサインイン試行をブロックしますsignin:Authenticate認証後 は、認証情報が受け入れられた後、および signin:AuthorizeOAuth2Accessと を使用して OAuth トークン交換中にセッションを検証しますsignin:CreateOAuth2Token

  • AWS サインイン VPC エンドポイントポリシー (サインアップフロー) – AWS アカウントサインアップフローがプライベートネットワーク内からアクセス可能かどうかを制御します。暗黙的な拒否で signin:CreateAccountアクションをサポートします。

次の例は、アカウントまたは組織ごとにアクセスを制限する方法を示しています。各エンドポイントに適切なポリシー形式を使用して、 AWS マネジメントコンソール と AWS サインイン VPC エンドポイントの両方に同等の制限を適用します。

注記

以下の例は、説明のみのためのリファレンスポリシーです。本番環境では、ネットワーク境界 SCP など、aws-samples/data-perimeter-policy-examples リポジトリの包括的なデータ境界ポリシーの例を使用します。 https://github.com/aws-samples/data-perimeter-policy-examples/blob/main/service_control_policies/network_perimeter_sourcevpc_scp.json

AWS マネジメントコンソール VPC エンドポイントの例

例: 組織内のアカウントのみを許可する

この AWS マネジメントコンソール VPC エンドポイントポリシーは、指定された AWS 組織 AWS アカウント 内の へのアクセスを許可し、他のアカウントをブロックします。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "*", "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalOrgId": "o-xxxxxxxxxxx" } } } ] }
例: 特定のアカウントのみを許可する

この AWS マネジメントコンソール VPC エンドポイントポリシーは、特定のアカウントのリストへのアクセスを制限 AWS アカウント し、他のアカウントをブロックします。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "*", "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalAccount": [ "111122223333", "222233334444" ] } } } ] }

AWS サインイン VPC エンドポイントの例

AWS サインイン VPC エンドポイントには、各認証フェーズに適した特定のサインインアクションと条件キーを持つポリシーが必要です。

  • 事前認証フェーズ – ユーザーの ID が確立される前に評価されます。プリンシパル情報はまだわからないため、リソースベースの条件キーのみを使用できます。

    • サポートされているアクション: signin:Authenticate

    • サポートされている条件キー: aws:ResourceOrgIdまたは aws:ResourceAccount

  • 認証後フェーズ – サインインサービスがセッション認証情報を発行すると、認証後に評価されます。完全なプリンシパル情報を利用できます。

    • サポートされているアクション: signin:AuthorizeOAuth2Accesssignin:CreateOAuth2Token

    • サポートされている条件キー: aws:PrincipalOrgIdまたは aws:PrincipalAccountaws:ResourceOrgIdaws:ResourceAccount

例: 組織内のアカウントに対してのみサインインを許可する

この AWS サインイン VPC エンドポイントポリシーは、アクション固有のステートメントを使用して、認証前フェーズと認証後フェーズの両方で、指定された AWS 組織 AWS アカウント 内の へのサインインを許可します。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "PreAuthOrgRestriction", "Effect": "Allow", "Principal": "*", "Action": "signin:Authenticate", "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceOrgID": "o-xxxxxxxxxxx" } } }, { "Sid": "PostAuthOrgRestriction", "Effect": "Allow", "Principal": "*", "Action": [ "signin:AuthorizeOAuth2Access", "signin:CreateOAuth2Token" ], "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalOrgId": "o-xxxxxxxxxxx" } } } ] }
例: 特定のアカウントに対してのみサインインを許可する

この AWS サインイン VPC エンドポイントポリシーは、アクション固有のステートメントを使用して、認証前フェーズと認証後フェーズ AWS アカウント の両方で特定の のリストへのサインインを制限します。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "PreAuthAccountRestriction", "Effect": "Allow", "Principal": "*", "Action": "signin:Authenticate", "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceAccount": [ "123456789012", "210987654321" ] } } }, { "Sid": "PostAuthAccountRestriction", "Effect": "Allow", "Principal": "*", "Action": [ "signin:AuthorizeOAuth2Access", "signin:CreateOAuth2Token" ], "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalAccount": [ "123456789012", "210987654321" ] } } } ] }
アカウントサインアップフローの制御

signin:CreateAccount アクションは、 AWS アカウントサインアップフローがプライベートネットワーク内からアクセス可能かどうかを制御します。このアクションは匿名プリンシパル (サインアップ中にアカウントが存在しない) を使用し、条件キーをサポートしていません。

AWS サインイン VPC エンドポイントポリシー形式を使用する場合、明示的に許可しない限り、サインアップフローは暗黙的な拒否によってブロックされます。組織でプライベートネットワーク内からのアカウントサインアップが必要な場合は、VPC AWS サインイン エンドポイントポリシーに次のステートメントを追加します。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowAccountSignup", "Effect": "Allow", "Principal": "*", "Action": "signin:CreateAccount", "Resource": "*" } ] }

アクセス拒否エラーページ

アカウントに属さない ID で接続すると、「アカウントには AWS マネジメントコンソールのプライベートアクセスを使用するアクセス許可がありません」というエラーが表示されます。次のスクリーンショットは、アクセス拒否エラーページを示しています。

AWS マネジメントコンソール プライベートアクセスを使用するアクセス許可がないことを示すメッセージを含むエラーページ。

サービスコントロールポリシーへのサインインの許可

AWS 組織が特定のサービスを許可するサービスコントロールポリシー (SCP) を使用している場合は、許可されたアクションsignin:*に を追加する必要があります。このアクセス許可は、プライベートアクセス VPC エンドポイント AWS マネジメントコンソール 経由で にサインインすると、アクセス許可なしで SCP がブロックする IAM 認可が実行されるために必要です。一例として、次のサービスコントロールポリシーは、Amazon EC2 サービスと CloudWatch サービスを組織内で使用することを許可します。これには、 AWS マネジメントコンソール のプライベートアクセスのエンドポイントを使用してアクセスする場合も含まれます。。

{ "Effect": "Allow", "Action": [ "signin:*", "ec2:*", "cloudwatch:*", ... Other services allowed }, "Resource": "*" }

SCP の詳細については、AWS Organizations ユーザーガイド の「サービスコントロールポリシー (SCP)」を参照してください。