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

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

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

預防跨服務混淆代理人

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

為了防止代表混淆, AWS 提供了一些工具,可協助您使用已授予您帳戶資源存取權的服務主體來保護所有服務的資料。本節重點介紹 Apache Flink 託管服務特定的跨服務混淆副預防,但是,您可以在IAM用戶指南的混淆副問題部分中了解有關此主題的更多信息。

在 Apache Flink 受管服務的內容中,我們建議在角色信任政策中使用 aws: SourceArn 和 aws: SourceAccount 全域條件上下文金鑰,將角色的存取限制為只有預期資源產生的請求。

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

的值aws:SourceArn必須是 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" } } } ] }