翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
サービス間の混乱した代理の防止
混乱した代理問題は、アクションを実行するアクセス許可を持たないエンティティが、より権限のあるエンティティにアクションの実行を強制できるセキュリティ上の問題です。では AWS、サービス間のなりすましにより、混乱した代理問題が発生する可能性があります。サービス間でのなりすましは、1 つのサービス (呼び出し元サービス) が、別のサービス (呼び出し対象サービス) を呼び出すときに発生する可能性があります。呼び出し元サービスは、本来ならアクセスすることが許可されるべきではない方法でその許可を使用して、別のお客様のリソースに対する処理を実行するように操作される場合があります。これを防ぐため、 AWS では、アカウントのリソースへのアクセス権が付与されたサービスプリンシパルで、すべてのサービスのデータを保護するために役立つツールを提供しています。
リソースポリシーで aws:SourceArn
のグローバル条件コンテキストキーを使用して、 AWSClean Rooms が別のサービスに付与するアクセス許可をそのリソースに制限することをお勧めします。クロスサービスのアクセスにリソースを 1 つだけ関連付けたい場合は、aws:SourceArn
を使用します。
混乱した代理問題から保護するための最も効果的な方法は、リソースの完全な ARN を指定して aws:SourceArn
グローバル条件コンテキストキーを使用することです。では AWSClean Rooms、 sts:ExternalId
条件キーと比較する必要があります。
aws:SourceArn
の値は、引き受けられたロールのメンバーシップの ARN に設定する必要があります。
次の例では、 AWSClean Rooms で aws:SourceArn
グローバル条件コンテキストキーを使用して、混乱した代理問題を回避する方法を示します。
注記
このサンプルポリシーは、 AWSClean Rooms が顧客データへのアクセスに使用するサービスロールの信頼ポリシーに適用されます。
MembershipID
の値は、コラボレーションにおける AWSClean Rooms メンバーシップ ID です。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowIfExternalIdMatches", "Effect": "Allow", "Principal": { "Service": "cleanrooms.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringLike": { "sts:ExternalId": "arn:aws:*:
aws-region
:*:dbuser:*/membershipID
*" } } }, { "Sid": "AllowIfSourceArnMatches", "Effect": "Allow", "Principal": { "Service": "cleanrooms.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ForAnyValue:ArnEquals": { "aws:SourceArn": "arn:aws:cleanrooms:aws-region
:123456789012
:membership/membershipID
" } } } ] }