

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 預防跨服務混淆代理人
<a name="cross-service-confused-deputy-prevention"></a>

混淆代理人問題屬於安全性議題，其中沒有執行動作許可的實體可以強制具有更多許可的實體執行該動作。在 中 AWS，跨服務模擬可能會導致混淆代理人問題。在某個服務 (*呼叫服務*) 呼叫另一個服務 (*被呼叫服務*) 時，可能會發生跨服務模擬。可以操縱呼叫服務來使用其許可，以在未經許可的情況下對其他客戶的資源採取動作。為了預防這種情況，Amazon Web Services 提供的工具可協助您保護所有服務的資料，而這些服務主體已獲得您帳戶中資源的存取權。

我們建議在資源政策中使用 [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 Audit Manager 提供給其他服務的許可，以存取您的資源。
+ 如果您想要僅允許一個資源與跨服務存取權相關聯，則請使用 `aws:SourceArn`。如需指定多個資源，您也可以使用萬用字元 (`*`) `aws:SourceArn`。

  例如，您可以使用 Amazon SNS 主題接收來自 Audit Manager 的活動通知。在此情況下，在您的 SNS 主題存取政策中，`aws:SourceArn` 的 ARN 值是作為通知來源的 Audit Manager 資源。因為您可能有多個 Audit Manager 資源，因此建議您使用萬用字元 `aws:SourceArn`。因此，您可在 SNS 主題存取政策中指定所有 Audit Manager 資源。
+ 如果您想要允許該帳戶中的任何資源與跨服務使用相關聯，請使用 `aws:SourceAccount`。
+ 如果 `aws:SourceArn` 值不包含帳戶 ID (例如 Amazon Simple Storage Service (Amazon S3) 儲存貯體 ARN)，則必須使用這兩個全域條件內容索引鍵來限制許可。
+ 如果使用兩項條件，且如果 `aws:SourceArn` 值包含帳戶 ID，則在相同政策陳述式中使用 `aws:SourceAccount` 值和 `aws:SourceArn` 值中的帳戶時，必須顯示相同的帳戶 ID。
+ 防範混淆代理人問題的最有效方法是使用 `aws:SourceArn` 全域條件內容索引鍵，以及資源的完整 ARN。如果不知道資源的完整 Amazon Resource Name (ARN)，或者如果您指定了多個資源，請使用 `aws:SourceArn` 全域內容條件索引鍵搭配萬用字元 (`*`) 來表示 ARN 的未知部分。例如 `arn:aws:servicename:*:123456789012:*`。

## Audit Manager 混淆代理人支援
<a name="audit-manager-confused-deputy-support"></a>

Audit Manager 在下列情況下會提供混淆代理人支援。下列政策範例示範如何使用 `aws:SourceArn` 和 `aws:SourceAccount` 條件索引鍵來預防混淆代理人問題。
+ [範例政策：您用來接收 Audit Manager 通知的 SNS 主題](https://docs.aws.amazon.com/audit-manager/latest/userguide/security_iam_id-based-policy-examples.html#sns-topic-permissions)
+ [範例政策：您用來加密 SNS 主題的 KMS 金鑰](https://docs.aws.amazon.com/audit-manager/latest/userguide/security_iam_id-based-policy-examples.html#sns-key-permissions)

Audit Manager 不會為您在 Audit Manager [設定您的資料加密設定](settings-KMS.md) 設定中提供的客戶管理金鑰提供混淆代理人支援。如果您提供了自己的客戶管理金鑰，則無法在該 KMS 金鑰政策中使用 `aws:SourceAccount` 或 `aws:SourceArn` 條件。