

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# サービス間の混乱した代理の防止
<a name="cross-service-confused-deputy-prevention"></a>

では AWS、あるサービス (*呼び出し*元のサービス) が別のサービス (*呼び出し元のサービス*) を呼び出すと、サービス間のなりすましが発生する可能性があります。呼び出し側のサービスは、適切なアクセス許可を持たないはずの場合でも、別の顧客のリソースを操作するように操作される可能性があり、その結果、混乱した代理問題が発生します。

これを防ぐために、 は、アカウント内のリソースへのアクセス権が付与されたサービスプリンシパルを持つすべてのサービスのデータを保護するのに役立つツール AWS を提供します。

リソースポリシー内では [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) および [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) のグローバル条件コンテキストキーを使用して、Amazon Rekognition が別のサービスに付与する、リソースへのアクセス許可を制限することをお勧めします。

`aws:SourceArn` の値に Amazon S3 バケット ARN などのアカウント ID が含まれていない場合は、両方のキーを使用して、アクセス許可を制限する必要があります。両方のキーを使用し、`aws:SourceArn` 値にアカウント ID が含まれている場合、`aws:SourceAccount` 値と `aws:SourceArn` 値内のアカウントは、同じポリシーステートメントで使用するときに、同じアカウント ID を使用する必要があります。

クロスサービスアクセスにリソースを 1 つだけ関連付けたい場合は、`aws:SourceArn` を使用します。そのアカウント内のリソースをクロスサービスの使用に関連付けることを許可する場合は、`aws:SourceAccount` を使用します。

`aws:SourceArn` の値は Rekognition が使用するリソースの ARN で、`arn:aws:rekognition:region:account:resource` の形式で指定する必要があります。

`arn:User ARN` の値は、ビデオ分析オペレーションを呼び出すユーザー (ロールを引き受けるユーザー) の ARN である必要があります。

代理の混乱が生じないようにするための最も効果的な方法は、リソースの完全な ARN を指定しながら、`aws:SourceArn` グローバル条件コンテキストキーを使用することです。

 リソースの完全な ARN が不明な場合や、複数のリソースを指定する場合には、`aws:SourceArn` キーで、ARN の未知部分を示すワイルドカード文字 (`*`) を使用します。例えば、`arn:aws:rekognition:*:111122223333:*`。

代理の混乱が生じないようにするには、次のステップを実行します。

1. IAM コンソールのナビゲーションペインで **[ロール]** をクリックします。コンソールに、現在のアカウントのロールが表示されます。

1. 修正するロールの名前を選択します。修正するロールには、**AmazonRekognitionServiceRole** アクセス権限ポリシーがあるはずです。**[信頼関係]** タブを選択します。

1. **[Edit trust policy]** (信頼ポリシーを編集) を選択します。

1. **[信頼ポリシーを編集]** ページで、デフォルトの JSON ポリシーを、`aws:SourceArn` と `aws:SourceAccount` のグローバル条件コンテキストキーのいずれか、または両方を使用しているポリシーに置き換えます。以下のポリシー例を参照してください。

1. [**ポリシーの更新**] を選択してください。

以下は、Amazon Rekognition で `aws:SourceArn` および `aws:SourceAccount` グローバル条件コンテキストキーを使用して代理の混乱を防ぐ例です。

ビデオを保存してストリーミング配信する場合は、IAM ロールに次のようなポリシーを使用できます。

保存されたビデオのみを使用する場合は、IAM ロールに次のようなポリシーを使用できます (`streamprocessor` を指定する `StringLike` 引数を含める必要はないことにご注意ください)。