本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 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-stage
或version-id
,則預設為AWSCURRENT
版本。此區段可能不可包含冒號字元 (:
)。 - version-id (選用)
-
您要使用的秘密版本的唯一識別碼。如果您指定
version-id
,則請不要指定version-stage
。如果您未指定version-stage
或version-id
,則預設為AWSCURRENT
版本。此區段可能不可包含冒號字元 (:
)。
如需詳細資訊,請參閱使用動態參考指定 Secrets Manager 秘密。
注意
請勿使用反斜線做(\)
為最終值來建立動態參考。 AWS CloudFormation 無法解析這些引用,導致資源失敗。