翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
サービス間の混乱した代理の防止
混乱した代理問題は、アクションを実行するためのアクセス許可を持たないエンティティが、より特権のあるエンティティにアクションの実行を強制できてしまう場合に生じる、セキュリティ上の問題です。では AWS、サービス間のなりすましにより、混乱した代理問題が発生する可能性があります。サービス間でのなりすましは、1 つのサービス (呼び出し元サービス) が、別のサービス (呼び出し対象サービス) を呼び出すときに発生する可能性があります。呼び出し元サービスは、本来ならアクセスすることが許可されるべきではない方法でその許可を使用して、別のお客様のリソースに対する処理を実行するように操作される場合があります。これを防ぐため、 AWS では、アカウントのリソースへのアクセス権が付与されたサービスプリンシパルで、すべてのサービスのデータを保護するために役立つツールを提供しています。
リソースポリシーで aws:SourceArn
、aws:SourceAccount
、aws:SourceOrgID
、および aws:SourceOrgPaths
グローバル条件コンテキストキーを使用して、xraylong がリソースに別のサービスに付与するアクセス許可を制限することをお勧めします。1 つのリソースだけをクロスサービスのアクセスに関連付ける場合は、aws:SourceArn
を使用します。アカウント内の任意のリソースをクロスサービスの使用に関連付ける場合は、aws:SourceAccount
を使用します。組織内の任意のアカウントの任意のリソースをクロスサービスの使用に関連付ける場合は、aws:SourceOrgID
を使用します。 AWS Organizations パス内の任意のアカウントのリソースをクロスサービスの使用に関連付ける場合は、aws:SourceOrgPaths
を使用します。パスの使用と理解の詳細については、AWS Organizations 「エンティティパスを理解する」を参照してください。
混乱した代理問題から保護するための最も効果的な方法は、リソースの完全な ARN を指定して、aws:SourceArn
グローバル条件コンテキストキーを使用することです。リソースの完全な ARN が不明な場合や、複数のリソースを指定する場合には、グローバルコンテキスト条件キー aws:SourceArn
で、ARN の未知部分を示すためにワイルドカード文字 (*
) を使用します。例えば、arn:aws:
。servicename
:*:123456789012
:*
aws:SourceArn
の値に Amazon S3 バケット ARN などのアカウント ID が含まれていない場合は、両方の aws:SourceAccount
と aws:SourceArn
を使用して、アクセス許可を制限する必要があります。
混乱した代理問題から保護するために、リソースベースポリシー内のリソースの組織 ID または組織パスを指定しながら、aws:SourceOrgID
または aws:SourceOrgPaths
のグローバル条件コンテキストキーを使用してください。aws:SourceOrgID
または aws:SourceOrgPaths
キーを含むポリシーには正しいアカウントが自動的に組み込まれるため、組織のアカウントを追加、削除、移動する際には手動で更新する必要はありません。
次の例は、xray で aws:SourceArn
および aws:SourceAccount
グローバル条件コンテキストキーを使用して、混乱した代理問題を防ぐ方法を示しています。
{ "Sid": "BlockCrossAccountUnlessSameSource", "Effect": "Deny", "Principal": { "AWS": "*" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "StringNotEquals": { "aws:PrincipalAccount": "123456789012", "aws:SourceAccount": "123456789012" }, "ArnNotLike": { "aws:SourceArn": "arn:*:*:*:123456789012:*" } } }