

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

# 使用動態參考取得存放在其他服務中的值
<a name="dynamic-references"></a>

動態參考可讓您方便地指定在其他服務中存放且管理的外部值，並從基礎設施即程式碼範本中分離敏感資訊。在堆疊和變更集操作期間，CloudFormation 會在必要時擷取指定參考的值。

透過動態參考，您可以：
+ **使用安全字串** – 對於敏感資料，請一律使用 AWS Systems Manager 參數存放區中的安全字串參數或 中的秘密 AWS Secrets Manager ，以確保靜態加密您的資料。
+ **限制存取** – 僅將 Parameter Store 參數或 Secrets Manager 秘密的存取權限制給已授權的主體和角色。
+ **輪換憑證** – 定期輪換儲存在 Parameter Store 或 Secrets Manager 中的敏感資料，以維持高層級的安全性。
+ **自動化輪換** – 利用 Secrets Manager 的自動輪換功能，在應用程式和環境中定期更新和分發敏感資料。

## 一般考量事項
<a name="dynamic-references-considerations"></a>

以下是在 CloudFormation 範本中指定動態參考之前要考慮的一般考量事項：
+ 不要在作為資源主識別碼一部分的資源屬性中包含動態引用或任何敏感資料。CloudFormation 可能會在主要資源識別符中使用實際的純文字值，這可能是安全風險。此資源 ID 可能會出現在任何衍生輸出或目的地中。

  若要確定哪些資源屬性組成資源類型的主要識別碼，請參閱 [AWS 資源和屬性類型參考](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-template-resource-type-ref.html)中該資源的資源參考文件。在 **Return values** (傳回值) 區段中，`Ref` 函數傳回值表示組成資源類型主要識別碼的資源屬性。
+ 您在一個堆疊範本中最多可以包含 60 個動態參考。
+ 如果使用轉換 (例如 `AWS::Include` 或 `AWS::Serverless`)，CloudFormation 不會在套用轉換之前解析動態參考。反之，它會將動態參考的常值字串傳遞至轉換，並在您使用範本執行變更集時解析參考。
+ 動態參考無法用於自訂資源中的安全值 (例如儲存在 Parameter Store 或 Secrets Manager 中的值)。
+ `AWS::CloudFormation::Init` 中繼資料和 Amazon EC2 `UserData` 屬性也不支援動態參考。
+ 請勿建立以反斜線 (\$1) 結尾的動態參考。CloudFormation 無法解析這些參考，這會導致堆疊操作失敗。

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

**Topics**
+ [一般考量事項](#dynamic-references-considerations)
+ [從 Systems Manager Parameter Store 取得純文字值](dynamic-references-ssm.md)
+ [從 Systems Manager Parameter Store 中取得安全字串值](dynamic-references-ssm-secure-strings.md)
+ [從 Secrets Manager 中取得秘密或秘密值](dynamic-references-secretsmanager.md)