

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

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

混乱した代理問題は、アクションを実行する許可を持たないエンティティが、より特権のあるエンティティにアクションを実行するように強制できるセキュリティの問題です。では AWS、サービス間のなりすましにより、混乱した代理問題が発生する可能性があります。サービス間でのなりすましは、1 つのサービス (*呼び出し元サービス*) が、別のサービス (*呼び出し対象サービス*) を呼び出すときに発生する可能性があります。呼び出し元サービスは、本来ならアクセスすることが許可されるべきではない方法でその許可を使用して、別のお客様のリソースに対する処理を実行するように操作される場合があります。これを防ぐため、 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) グローバル条件コンテキストキーを使用して、 がリソースに別のサービス AWS DataSync に付与するアクセス許可を制限することをお勧めします。同じポリシーステートメントでこれらのグローバル条件コンテキストキーの両方を使用し、アカウント ID に`aws:SourceArn` の値が含まれていない場合、`aws:SourceAccount` 値と `aws:SourceArn` 値の中のアカウントには、同じアカウント ID を使用する必要があります。クロスサービスのアクセスにリソースを 1 つだけ関連付けたい場合は、`aws:SourceArn` を使用します。クロスサービスが使用できるように、アカウント内の任意のリソースを関連づけたい場合は、`aws:SourceAccount` を使用します。

`aws:SourceArn` の値には、DataSync が IAM ロールを引き受けることができる DataSync 場所 ARN が含まれている必要があります。

混乱した代理問題から保護するための最も効果的な方法は、リソースの完全な ARN を指定して `aws:SourceArn` キーを使用することです。リソースの完全な ARN が不明な場合や、複数のリソースを指定する場合には、不明な部分にワイルドカード文字 (`*`) を使用します。ここでは、DataSync でこれを行う方法についての例をいくつか紹介します。
+ 信頼ポリシーを既存の DataSync の場所に限定するには、ポリシーにフルロケーション ARN を含めてください。DataSync は、その特定の場所を処理する場合にのみ IAM ロールを引き受けます。
+ DataSync 用の Amazon S3 ロケーションを作成する場合、そのロケーションの ARN はわかりません。このようなシナリオでは、`aws:SourceArn` キーに次の形式を使用します: `arn:aws:datasync:{{us-east-2}}:{{123456789012}}:*` この形式はパーティション (`aws`)、アカウント ID、リージョンを検証します。

次の詳しい例では、信頼性ポリシーで `aws:SourceArn` および `aws:SourceAccount` グローバル条件コンテキストキーを使用して、DataSync の混乱した代理問題を回避する方法を示します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "datasync.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                "aws:SourceAccount": "{{123456789012}}"
                },
                "ArnLike": {
                "aws:SourceArn": "arn:aws:datasync:{{us-east-2}}:{{123456789012}}:*"
                }
            }
        }
    ]
}
```

------

グローバル条件コンテキストキーの `aws:SourceArn` と `aws:SourceAccount` を DataSync と共に使用できることが分かるポリシーの例については、以下の各項目を参照してください。
+ [DataSync が Amazon S3 バケットにアクセスすることを許可する信頼関係を作成する](using-identity-based-policies.md#datasync-example1)
+ [Amazon S3 バケットにアクセスするための IAM ロールを設定する](create-s3-location.md#create-role-manually)