如何將某個 AWS 帳戶中建立的 Lambda 函數與另一個 AWS 帳戶中的 AWS CloudFormation 自訂資源結合使用?

1 分的閱讀內容
0

我想要在某個帳戶中建立 AWS Lambda 函數,然後從另一個帳戶中的 AWS CloudFormation 自訂資源叫用該函數。

簡短說明

只有當 Lambda 函數和自訂資源位於相同 AWS 區域時,您才可以從不同帳戶的自訂資源叫用 Lambda 函數。AWS::CloudFormation::CustomResourceServiceToken 屬性必須位於您建立 AWS CloudFormation 堆疊的相同區域中。您必須使用以資源為基礎的政策,授予帳戶叫用 Lambda 函數的自訂資源許可。

**注意事項:**當您將 Lambda 函數與自訂資源建立關聯時,每當建立、更新或刪除自訂資源時,都會叫用函數。AWS CloudFormation 會叫用 Lambda API 來叫用函數,並將所有請求資料傳遞至函數。例如,請求資料包括請求類型和資源屬性。

解決方案

**注意事項:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請確認您使用最新的 AWS CLI 版本

若要授予 Lambda 函數存取權,以從其他帳戶 (帳戶 B) 存取您的自訂資源,請在主要帳戶 (帳戶 A) 中執行 AWS CLI 命令 add-permission

-或-

1.    透過帳戶 A 中的堆疊建立 Lambda 函數時,請使用 AWS::Lambda::Permission 資源授予許可給帳戶 B

2.    在帳戶 B 中,啟動包含您自訂資源的 AWS CloudFormation 堆疊。

注意事項:ServiceToken 務必要從帳戶 A 參考 Lambda 函數的 Amazon Resource Name (ARN)。請將要傳送至自訂資源的任何其他屬性都包含為輸入。

3.    使用 Amazon CloudWatch Logs 確認帳戶 B 中的自訂資源已在帳戶 A 中叫用 Lambda 函數。


相關資訊

屬性

授予函數對其他帳戶的存取權

AWS 官方
AWS 官方已更新 3 年前