

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

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

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

混乱した代理を防ぐために、 は、アカウントのリソースへのアクセス権が付与されたサービスプリンシパルを使用して、すべてのサービスのデータを保護するのに役立つツール AWS を提供します。このセクションでは、Apache Flink のマネージドサービスに固有のサービス間の混乱した代理問題の防止に焦点を当てています。ただし、このトピックの詳細については、*IAM ユーザーガイド*の[混乱した代理問題](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html)セクションを参照してください。

Managed Service for Apache Flinkのコンテキストでは、ロール信頼ポリシーで[aws:SourceArn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)と[aws:SourceAccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)グローバル条件コンテキストキーを使用して、想定されるリソースによって生成されたリクエストのみにロールへのアクセスを制限することをお勧めします。

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

`aws:SourceArn`　の値は、Managed Service for Apache Flinkが使用するリソースのARNです。この値は、次の形式　`arn:aws:kinesisanalytics:region:account:resource`　で指定されます。

混乱した代理問題から保護するために推奨されるアプローチは、リソースの完全な ARN を指定しながら、`aws:SourceArn` グローバル条件コンテキストキーを使用することです。

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

Managed Service for Apache Flink に提供するロールのポリシーと、ユーザー用に生成されたロールの信頼ポリシーをこれらのキーを使用することができます。

混乱した代理問題から保護するために、次の手順を実行します。

**「混乱した代理」問題からの保護**

1.  AWS マネジメントコンソールにサインインし、[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) で IAM コンソールを開きます。

1. **ロール**を選択して、変更したいロールを選択します。

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

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

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

------
#### [ JSON ]

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement":[
         {
            "Effect":"Allow",
            "Principal":{
               "Service":"kinesisanalytics.amazonaws.com"
            },
            "Action":"sts:AssumeRole",
            "Condition":{
               "StringEquals":{
                  "aws:SourceAccount":"Account ID"
               },
               "ArnEquals":{
                  "aws:SourceArn":"arn:aws:kinesisanalytics:us-east-1:123456789012:application/my-app"
               }
            }
         }
      ]
   }
   ```

------