在 AWS CloudFormation 資源中獲取 AWS Secrets Manager 秘密 - AWS Secrets Manager

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

在 AWS CloudFormation 資源中獲取 AWS Secrets Manager 秘密

使用 AWS CloudFormation,您可以擷取要在其他 AWS CloudFormation 資源中使用的密碼。常見的案例是首先使用 Secrets Manager 產生的密碼建立秘密,然後從秘密中擷取使用者名稱和密碼,以用作新資料庫的憑證。如需使用建立密碼的相關資訊 AWS CloudFormation,請參閱在 AWS CloudFormation 中建立 AWS Secrets Manager 秘密

若要擷取 AWS CloudFormation 範本中的密碼,請使用動態參照。當您創建堆棧時,動態引用將秘密值提取到 AWS CloudFormation 資源中,因此您不必對密碼信息進行硬編碼。相對地,您就必須依名稱或 ARN 來參考秘密。您可以在任何資源屬性中將動態參考用於機密。您不能在資源中繼資料中將動態參考用於機密 (例如 AWS::CloudFormation::Init),因為這會使機密值在主控台中可見。

秘密的動態參考具有下列模式:

{{resolve:secretsmanager:secret-id:SecretString:json-key:version-stage:version-id}}
secret-id

秘密的名稱或 ARN。要訪問您 AWS 帳戶中的密碼,您可以使用密碼名稱。若要存取不同 AWS 帳戶中的密碼,請使用密碼的 ARN。

json-key (選用)

您要擷取值的鍵值組的索引鍵名稱。如果未指定json-key, AWS CloudFormation 會擷取整個密碼文字。此區段可能不可包含冒號字元 (:)。

version-stage (選用)

要使用的秘密版本。Secrets Manager 在輪換程序期間使用預備標籤來追蹤不同版本。如果您使用 version-stage,請不要指定 version-id。如果您未指定 version-stageversion-id,則預設為 AWSCURRENT 版本。此區段可能不可包含冒號字元 (:)。

version-id (選用)

您要使用的秘密版本的唯一識別碼。如果您指定 version-id,則請不要指定 version-stage。如果您未指定 version-stageversion-id,則預設為 AWSCURRENT 版本。此區段可能不可包含冒號字元 (:)。

如需詳細資訊,請參閱使用動態參考指定 Secrets Manager 秘密

注意

請勿使用反斜線做(\)為最終值來建立動態參考。 AWS CloudFormation 無法解析這些引用,導致資源失敗。