

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

混乱した代理とは、別のエンティティから強制的にアクションを実行させられるエンティティ (サービスやアカウント) のことです。この種のなりすましは、クロスアカウントおよびクロスサービスで発生するおそれがあります。

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

IAM が Internet Monitor に与えるリソースへのアクセス許可を制限するには、リソースポリシーでグローバル条件コンテキストキー [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) を使用することをお勧めします。

グローバル条件コンテキストキーの両方を使用し、`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}}:*`。

以下は、混乱した代理問題を防ぐ方法を示すロールの継承ポリシーの例です。

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

****  

```
{
  "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"
      }
    }
  }
}
```

------