預防跨服務混淆代理人 - Managed Service for Apache Flink

Amazon Managed Service for Apache Flink 之前稱為 Amazon Kinesis Data Analytics for Apache Flink。

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

預防跨服務混淆代理人

在 中 AWS,當一個服務 (呼叫服務) 呼叫另一個服務 (呼叫服務) 時,可能會發生跨服務模擬。可以操縱呼叫服務來對其他客戶的資源採取操作,即使該服務不應有適當的許可,導致混淆代理人的問題。

為了防止混淆代理, AWS 提供工具,協助您使用可存取您帳戶中資源的服務主體來保護所有 服務的資料。本節著重於 Managed Service for Apache Flink 特有的跨服務混淆代理預防,但您可以在 IAM 使用者指南 的混淆代理問題區段中進一步了解此主題。

在 Managed Service for Apache Flink 中,我們建議您在角色信任政策中使用 aws:SourceArnaws:SourceAccount 全域條件內容金鑰,將角色的存取限制為僅由預期資源產生的請求。

如果您想要僅允許一個資源與跨服務存取相關聯,則請使用 aws:SourceArn。如果您想要允許該帳戶中的任何資源與跨服務使用相關聯,請使用 aws:SourceAccount

的值aws:SourceArn必須是 Managed Service for Apache Flink 使用的資源ARN的 ,其指定格式如下:arn:aws:kinesisanalytics:region:account:resource

建議解決混淆代理問題的方法為使用aws:SourceArn全域條件內容索引鍵搭配完整資源 ARN。

如果您不知道資源ARN的完整內容,或要指定多個資源,請使用 aws:SourceArn索引鍵搭配萬用字元 (*) 用於 的未知部分ARN。例如:arn:aws:kinesisanalytics::111122223333:*

您提供給 Managed Service for Apache Flink 的角色政策,以及為您產生之角色的信任政策,都可以使用這些索引鍵。

請執行下列步驟以防範混淆代理人問題:

如要防範混淆代理人問題
  1. 登入 AWS 管理主控台,並在 開啟IAM主控台https://console.aws.amazon.com/iam/

  2. 選擇角色,然後選擇您要修改的角色。

  3. 選擇編輯信任政策

  4. 編輯信任政策頁面上,將預設JSON政策取代為使用 aws:SourceArnaws:SourceAccount 全域條件內容索引鍵之一或兩者的政策。請參閱以下政策範例:

  5. 選擇 更新政策

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