使用以資源為基礎的原則共用 - Amazon Kinesis Data Streams

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

使用以資源為基礎的原則共用

注意

更新現有資源型政策意味著取代現有的政策,因此請確保在新政策中包含所有必要資訊。

透過跨帳戶共用存取權 AWS Lambda 函數

Lambda 運算子
  1. 前往IAM主控台建立IAM角色,該角色將用作您的 Lambda 執行角色 AWS Lambda 功能。新增具有所需 Kinesis Data Streams 和 Lambda 叫用權限的受管IAM政策AWSLambdaKinesisExecutionRole。此政策還會授予對您可能存取 Kinesis Data Streams 資源的存取權。

  2. 中AWS Lambda 主控台,建立 AWS Lambda 函數可處理 Kinesis Data Streams 資料串流中的記錄,並在設定執行角色期間,選擇您在上一個步驟中建立的角色。

  3. 將執行角色提供給 Kinesis Data Streams 資源擁有者,以便設定資源政策。

  4. 完成 Lambda 函數的設定。

Kinesis Data Streams 資源擁有者
  1. 取得將調用 Lambda 函數的跨帳戶 Lambda 執行角色。

  2. 在 Amazon Kinesis Data Streams 主控台上,選擇資料串流。選擇資料串流共用索引標籤,然後選擇建立共用政策按鈕以啟動視覺化政策編輯器。若要在資料串流中共用已註冊的取用者,請選擇該取用者,然後選擇建立共用政策。您也可以直接撰寫JSON原則。

  3. 指定跨帳戶 Lambda 執行角色作為主體,以及您要共用存取權的確切 Kinesis Data Streams 動作。務必包含動作 kinesis:DescribeStream。如需 Kinesis Data Streams 的範例資源政策的詳細資訊,請參閱 Kinesis 資料串流的資源型政策範例

  4. 選擇 [建立策略] 或使PutResourcePolicy用將策略附加至您的資源。

與跨帳戶KCL消費者共享存取權

  • 如果您使用的是 KCL 1.x,請確保您使用的是 KCL 1.15.0 或更高版本。

  • 如果您使用的是 KCL 2.x,請確保您使用的是 KCL 2.5.3 或更高版本。

KCL運營商
  1. 將執行KCL應IAM用程式的使用者或IAM角色提供給資源擁有者。

  2. 向資源擁有者詢問資料串流或取用者ARN。

  3. 請務必將提供的串流指定ARN為KCL組態的一部分。

    • 對於 KCL 1.x:使用KinesisClientLibConfiguration構造函數並提供流ARN。

    • 對於 KCL 2.x:您可以只提供串流ARN或 StreamTrackerKinesis 用戶端程式庫。ConfigsBuilder針對 StreamTracker,從程式庫產生的 DynamoDB 租用表提供串流ARN和建立紀元。如果您想要讀取共用的註冊使用者 (例如增強型散發),請使用 StreamTracker 並提供消費者ARN。

Kinesis Data Streams 資源擁有者
  1. 取得將執行KCL應用程式的跨帳IAM戶使用者或IAM角色。

  2. 在 Amazon Kinesis Data Streams 主控台上,選擇資料串流。選擇資料串流共用索引標籤,然後選擇建立共用政策按鈕以啟動視覺化政策編輯器。若要在資料串流中共用已註冊的取用者,請選擇該取用者,然後選擇建立共用政策。您也可以直接撰寫JSON原則。

  3. 指定跨帳戶KCL應用程式的IAM使用者或IAM角色作為主體,以及您要共用存取權的確切 Kinesis Data Streams 動作。如需 Kinesis Data Streams 的範例資源政策的詳細資訊,請參閱 Kinesis 資料串流的資源型政策範例

  4. 選擇 [建立策略] 或使PutResourcePolicy用將策略附加至您的資源。

共享對加密數據的訪問

如果您已啟用資料串流的伺服器端加密 AWS 託管KMS密鑰並希望通過資源策略共享訪問權限,您必須切換到使用客戶管理的密鑰(CMK)。如需詳細資訊,請參閱什麼是 Kinesis Data Streams 的伺服器端加密?。此外,您必須允許共用主體實體使用KMS跨帳戶共用功能存取您CMK的實體。請務必同時在共用主參與者實體的IAM原則中進行變更。如需詳細資訊,請參閱允許其他帳戶中的使用者使用KMS金鑰