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)」を参照してください。