如何透過跨帳戶 Kinesis 串流調用 Lambda 函數?

1 分的閱讀內容
0

我想透過另一個 AWS 帳戶中的 Amazon Kinesis 串流調用 AWS Lambda 函數。

解決方法

Amazon Kinesis Data Streams 支援資源型政策。這可讓您使用另一個帳戶中的 AWS Lambda 函數處理擷取到某個帳戶的串流中的資料。

依照下列步驟建立 Lambda 函數,然後將其設定為存取 Kinesis Data Streams。

建立 Lambda 執行角色

  1. 存取 IAM 主控台,然後選擇角色標籤。
  2. 選擇建立角色
  3. 對於 AWS 服務,請選擇「信任實體類型」。對於服務,請選擇 Lambda
  4. 許可政策表中,選取受管 IAM 政策 AWSLambdaKinesisExecutionRole
  5. 提供角色的名稱,然後選擇建立角色

注意: 受管 IAM 政策AWSLambdaKinesisExecutionRole 具有所需的 Kinesis Data Streams 和 Lambda 調用許可。它還授予您對也許可以存取的所有潛在 Kinesis Data Streams 資源的存取權。

建立 Lambda 函數

建立 AWS Lambda 函數,以便處理 Amazon Kinesis Data Streams 中的記錄

對於執行角色,請選擇您建立的角色。

注意: 此政策具有必要的 Kinesis Data Streams 和 Lambda 調用許可。它還授予您也許可以存取的所有潛在 Kinesis Data Streams 資源的存取權。
執行角色新增至 Kinesis Data Streams 資源擁有者,以設定資源政策。

設定 Kinesis Data Streams

  1. 存取 Amazon Kinesis Data Streams 主控台,然後選擇您的資料串流。
  2. 選擇資料串流共用標籤。
  3. 選擇建立政策按鈕,以啟動視覺政策編輯器。
  4. 增強型散發標籤中選擇取用者,以在資料串流中共用註冊的取用者。
  5. 選擇建立政策。您也可以直接編寫 JSON 政策。
  6. 主體中輸入您建立的跨帳戶 Lambda 執行角色。請務必包含動作 kinesis:DescribeStream
    如需有關 Kinesis Data Streams 範例資源政策的詳細資訊,請參閱 Kinesis Data Streams 資源型政策範例
  7. 選擇建立政策。或者,使用 PutResourcePolicy 將政策連接至您的資源。

如果您使用具有 AWS 受管金鑰的伺服器端加密,並且想要透過資源政策共用存取權,則必須使用取用者受管金鑰 (AWS KMS key)。如需詳細資訊,請參閱什麼是 Kinesis Data Streams 的伺服器端加密?此外,您還必須允許共用主體實體透過 KMS 跨帳戶存取權存取您的 KMS 金鑰。如需詳細資訊,請參閱允許其他帳戶中的使用者使用 KMS 金鑰

AWS 官方
AWS 官方已更新 2 個月前