翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
混乱した代理問題は、アクションを実行するアクセス許可を持たないエンティティが、より権限のあるエンティティにアクションの実行を強制できるセキュリティ上の問題です。では AWS、サービス間のなりすましにより、混乱した代理問題が発生する可能性があります。サービス間でのなりすましは、あるサービス (呼び出し元サービス) が、別のサービス (呼び出し対象サービス) を呼び出すときに発生する可能性があります。呼び出し元サービスが操作され、それ自身のアクセス許可を使用して、本来アクセス許可が付与されるべきではない方法で別の顧客のリソースに対して働きかけることがあります。これを防ぐため、 AWS では、アカウント内のリソースへのアクセス許可が付与されたサービスプリンシパルですべてのサービスのデータを保護するために役立つツールを提供しています。
リソースポリシーで aws:SourceArn
および aws:SourceAccount
グローバル条件コンテキストキーを使用して、 が別のサービス AWS IoT SiteWise に付与するアクセス許可をリソースに制限することをお勧めします。aws:SourceArn
値が、Amazon S3 バケットの Amazon リソースネーム (ARN) などのアカウント ID が含まれていない場合、アクセス許可を制限するため、両方のグローバル条件コンテキストキーを使用する必要があります。同じポリシーステートメントでこれらのグローバル条件コンテキストキーの両方を使用し、アカウント ID にaws:SourceArn
の値が含まれていない場合、aws:SourceAccount
値と aws:SourceArn
値の中のアカウントには、同じアカウント ID を使用する必要があります。
クロスサービスのアクセスにリソースを 1 つだけ関連付けたい場合は、
aws:SourceArn
を使用します。そのアカウント内のリソースをクロスサービスの使用に関連付けることを許可する場合は、
aws:SourceAccount
を使用します。
の値は、sts:AssumeRole
リクエストに関連付けられている AWS IoT SiteWise カスタマーリソースaws:SourceArn
である必要があります。
混乱した代理問題から保護するための最も効果的な方法は、リソースの完全な ARN を指定して aws:SourceArn
グローバル条件コンテキストキーを使用することです。リソースの ARN 全体が不明または複数のリソースを指定する場合、ARN の未知部分にワイルドカード *
が付いた aws:SourceArn
グローバルコンテキスト条件キー を使用します。例えば、arn:aws:
と指定します。servicename
:*:123456789012
:*
例 - 混乱した代理の防止
次の例は、 で aws:SourceArn
および aws:SourceAccount
グローバル条件コンテキストキーを使用して、混乱した代理問題 AWS IoT SiteWise を回避する方法を示しています。
{
"Version": "2012-10-17",
"Statement": {
"Sid": "ConfusedDeputyPreventionExamplePolicy",
"Effect": "Allow",
"Principal": {
"Service": "iotsitewise
.amazonaws.com"
},
"Action": "sts:AssumeRole",
"Resource": [
"arn:aws:iotsitewise
:::ResourceName
/*"
],
"Condition": {
"ArnLike": {
"aws:SourceArn": "arn:aws:iotsitewise
:*:123456789012
:*"
},
"StringEquals": {
"aws:SourceAccount": "123456789012
"
}
}
}
}