在中配置目標帳戶閘道 StackSets - AWS CloudFormation

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

在中配置目標帳戶閘道 StackSets

帳戶閘道是一項選用功能,可讓您指定一個AWS Lambda函數,以便在該帳戶中 AWS CloudFormation StackSets 開始堆疊作業之前,確認目標帳戶是否符合特定需求。帳戶閘道的一個常見範例是確認目標帳戶上沒有啟動或未解決的 CloudWatch 警示。 StackSets每次在目標帳戶中啟動堆疊作業時,都會叫用函式,並且只有在函式傳回SUCCEEDED程式碼時才會繼續執行。如果 Lambda 函數傳回的狀態FAILED,則 StackSets不會繼續執行要求的作業。如果您尚未設定帳戶閘控 Lambda 函數,則會 StackSets 略過檢查並繼續進行作業。

如果您目標帳戶的帳戶閘道檢查失敗,則失敗操作將計入您指定的堆疊容錯能力數目或百分比。如需容錯能力的詳細資訊,請參閱 堆疊集操作選項

帳戶閘控僅適用於 StackSets 操作。此功能不適用於以外的其他 AWS CloudFormation 作業 StackSets。

設定要求

下列清單說明帳戶閘道的設定要求。

  • 若要使用 StackSets 帳戶閘控功能,您的 Lambda 函數必須命名AWSCloudFormationStackSetAccountGate

  • AWSCloudFormationStackSetExecutionRole需要有權限才能叫用您的 Lambda 函數。如果沒有這些權限,則會 StackSets 略過帳戶閘控檢查,並繼續進行堆疊作業。

  • Lambda InvokeFunction 許可必須新增至目標帳戶,帳戶閘道才能運作。目標帳戶信任政策必須具有與管理員帳戶的信任關係。下列是授予 Lambda InvokeFunction 許可的範例政策聲明。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ], "Resource": "*" } ] }

範例 Lambda 帳戶閘道函數

您可以使用下列 AWS CloudFormation 範例範本來建立 Lambda AWSCloudFormationStackSetAccountGate函數。如需如何使用這些範本建立新堆疊的詳細資訊,請參閱從 CloudFormation 主控台建立堆疊

範本位置

描述

https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/AccountGateSucceeded. YML

建立實作 Lambda 帳戶閘道函數 (將傳回 SUCCEEDED 狀態) 的堆疊。

https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/AccountGateFailed. YML

建立實作 Lambda 帳戶閘道函數 (將傳回 FAILED 狀態) 的堆疊。