我想透過另一個 AWS 帳戶中的 Amazon Kinesis 串流調用 AWS Lambda 函數。
解決方法
Amazon Kinesis Data Streams 支援資源型政策。這可讓您使用另一個帳戶中的 AWS Lambda 函數處理擷取到某個帳戶的串流中的資料。
依照下列步驟建立 Lambda 函數,然後將其設定為存取 Kinesis Data Streams。
建立 Lambda 執行角色
- 存取 IAM 主控台,然後選擇角色標籤。
- 選擇建立角色。
- 對於 AWS 服務,請選擇「信任實體類型」。對於服務,請選擇 Lambda。
- 在許可政策表中,選取受管 IAM 政策 AWSLambdaKinesisExecutionRole。
- 提供角色的名稱,然後選擇建立角色。
注意: 受管 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
- 存取 Amazon Kinesis Data Streams 主控台,然後選擇您的資料串流。
- 選擇資料串流共用標籤。
- 選擇建立政策按鈕,以啟動視覺政策編輯器。
- 在增強型散發標籤中選擇取用者,以在資料串流中共用註冊的取用者。
- 選擇建立政策。您也可以直接編寫 JSON 政策。
- 在主體中輸入您建立的跨帳戶 Lambda 執行角色。請務必包含動作 kinesis:DescribeStream。
如需有關 Kinesis Data Streams 範例資源政策的詳細資訊,請參閱 Kinesis Data Streams 資源型政策範例。
- 選擇建立政策。或者,使用 PutResourcePolicy 將政策連接至您的資源。
如果您使用具有 AWS 受管金鑰的伺服器端加密,並且想要透過資源政策共用存取權,則必須使用取用者受管金鑰 (AWS KMS key)。如需詳細資訊,請參閱什麼是 Kinesis Data Streams 的伺服器端加密?此外,您還必須允許共用主體實體透過 KMS 跨帳戶存取權存取您的 KMS 金鑰。如需詳細資訊,請參閱允許其他帳戶中的使用者使用 KMS 金鑰。