サービス間の混乱した代理の防止
混乱した代理とは、別のエンティティから強制的にアクションを実行させられるエンティティ (サービスやアカウント) のことです。この種のなりすましは、クロスアカウントおよびクロスサービスで発生するおそれがあります。
これを防ぐために AWS では、お客様のすべてのサービスのデータを保護するのに役立つツールを提供しています。これには、AWS アカウント のリソースへのアクセス許可が付与されたサービスプリンシパルを使用します。このセクションでは、Internet Monitor 固有のサービス間での混乱した代理の防止に焦点を当てていますが、このトピックの詳細については、「IAM ユーザーガイド」の「混乱した代理問題」セクションを参照してください。
IAM が Internet Monitor に与えるリソースへのアクセス許可を制限するには、リソースポリシーでグローバル条件コンテキストキー aws:SourceArn
と aws:SourceAccount
を使用することをお勧めします。
グローバル条件コンテキストキーの両方を使用し、aws:SourceArn
の値に AWS アカウント ID が含まれている場合、同じポリシーステートメントで使用する時は、aws:SourceAccount
の値と AWS アカウント の aws:SourceArn
に同じ AWS アカウント ID を使用する必要があります。
Internet Monitor では、aws:SourceAccount
にアカウント ID を指定し、aws:SourceArn
にモニター ARN を指定します。クロスサービスアクセスの場合も、aws:SourceArn
にモニター ARN を使用します。
注記
混乱した代理問題から保護するための最も効果的な方法は、リソースの完全な ARN を指定しながら、aws:SourceArn
グローバル条件コンテキストキーを使用することです。ARN 全体が不明または複数のリソースを指定する場合、ARN の未知部分にワイルドカード (*
) が付いた aws:SourceArn
グローバルコンテキスト条件キー を使用します。例えば、arn:aws:internetmonitor:us-east-1:
。111122223333
:*
以下は、混乱した代理問題を防ぐ方法を示すロールの継承ポリシーの例です。
{ "Version": "2012-10-17", "Statement": { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": "internetmonitor.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:internetmonitor:us-east-1:111122223333:monitor/confused-deputy-monitor" }, "StringEquals": { "aws:SourceAccount": "111122223333" } } } }