使用動態引用獲取存儲在其他服務中的值 - AWS CloudFormation

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

使用動態引用獲取存儲在其他服務中的值

動態參考可讓您輕鬆指定在其他服務中儲存和管理的外部值,並將敏感資訊與 infrastructure-as-code 範本分離。 CloudFormation 在堆棧和更改集操作過程中必要時檢索指定引用的值。

使用動態參考,您可以:

  • 使用安全字符串-對於敏感數據,請始終使用安全字符串參數 AWS Systems Manager 參數存放區或密碼 AWS Secrets Manager 以確保您的數據在靜態時加密。

  • 限制存取 — 將參數存放區參數或 Secrets Manager 的存取限制為僅授權的主參與者和角色。

  • 輪換認證 — 定期輪換儲存在「參數存放區」或「Secrets Manager」中的敏感資料,以維持高度的安全性。

  • 自動輪換 — 利用 Secrets Manager 的自動輪替功能,定期在您的應用程式和環境中更新和分發敏感資料。

一般考量

以下是您在 CloudFormation 範本中指定動態參照之前應考量的一般考量事項:

  • 避免在資源主標識符的一部分的資源屬性中包含動態引用或任何敏感數據。 CloudFormation 可能會在主要資源識別碼中使用實際的純文字值,這可能會造成安全風險。此資源 ID 可能會出現在任何衍生輸出或目的地中。

    若要判斷哪些資源特性構成資源類型的主要識別碼,請參閱中該資源的資源參考文件集AWS 資源和屬性類型參考。在 Return values (傳回值) 區段中,Ref 函數傳回值表示組成資源類型主要識別碼的資源屬性。

  • 您在一個堆疊範本中最多可以包含 60 個動態參考。

  • 如果您使用的是轉換 (例如AWS::IncludeAWS::Serverless),在套用變形之前, CloudFormation 不會解析動態參考。相反地,它會將動態參照的常值字串傳遞給轉換,並在您使用範本執行變更集時解析參照。

  • 您無法在自訂資源中針對安全值 (例如儲存在參數存放區或 Secrets Manager 中的值) 使用動態參考。

  • 請勿建立以反斜線 (\) 結尾的動態參考。 CloudFormation無法解析這些引用,這將導致堆棧操作失敗。

下列主題提供使用動態參照的資訊和其他考量事項。