

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Dapatkan nilai string aman dari Systems Manager Parameter Store
<a name="dynamic-references-ssm-secure-strings"></a>

Di CloudFormation, Anda dapat menggunakan data sensitif seperti kata sandi atau kunci lisensi tanpa mengeksposnya langsung di templat Anda dengan menyimpan data sensitif sebagai “string aman” di AWS Systems Manager Parameter Store. Untuk pengenalan Parameter Store, lihat [AWS Systems Manager Parameter Menyimpan](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) di *Panduan AWS Systems Manager Pengguna*.

Untuk menggunakan string aman Parameter Store dalam template Anda, Anda menggunakan referensi `ssm-secure` dinamis. CloudFormation tidak pernah menyimpan nilai string aman yang sebenarnya. Sebaliknya, ia hanya menyimpan referensi dinamis literal, yang berisi nama parameter plaintext dari string aman. 

Selama pembuatan tumpukan atau pembaruan, CloudFormation mengakses nilai string aman sesuai kebutuhan, tanpa mengekspos nilai sebenarnya. String aman hanya dapat digunakan untuk properti sumber daya yang mendukung pola referensi `ssm-secure` dinamis. Untuk informasi selengkapnya, lihat [Sumber daya yang men-support pola parameter dinamis untuk string aman](#template-parameters-dynamic-patterns-resources).

CloudFormation tidak mengembalikan nilai parameter aktual untuk string aman dalam panggilan API apa pun. Ini hanya mengembalikan referensi dinamis literal. Saat membandingkan perubahan menggunakan set perubahan, CloudFormation hanya membandingkan string referensi dinamis literal. Itu tidak menyelesaikan dan membandingkan nilai string aman yang sebenarnya.

Saat menggunakan referensi `ssm-secure` dinamis, ada beberapa hal penting yang perlu diingat:
+ CloudFormation tidak dapat mengakses nilai Parameter Store dari yang lain Akun AWS.
+ CloudFormation tidak mendukung penggunaan label parameter Systems Manager atau parameter publik dalam referensi dinamis.
+ Di wilayah `cn-north-1` dan `cn-northwest-1` wilayah, string aman tidak didukung oleh Systems Manager.
+ Referensi dinamis untuk nilai aman, seperti`ssm-secure`, saat ini tidak didukung dalam sumber daya khusus.
+ Jika CloudFormation perlu memutar kembali pembaruan tumpukan, dan versi parameter string aman yang ditentukan sebelumnya tidak lagi tersedia, operasi rollback akan gagal. Dalam kasus seperti itu, Anda memiliki dua opsi:
  + Gunakan `CONTINUE_UPDATE_ROLLBACK` untuk melewati sumber daya.
  + Buat ulang parameter string aman di Systems Manager Parameter Store, dan perbarui hingga versi parameter mencapai versi yang digunakan dalam template. Kemudian, gunakan `CONTINUE_UPDATE_ROLLBACK` tanpa melewatkan sumber daya.

## Sumber daya yang men-support pola parameter dinamis untuk string aman
<a name="template-parameters-dynamic-patterns-resources"></a>

Sumber daya yang mendukung pola referensi `ssm-secure` dinamis meliputi:


| Sumber daya | Jenis properti | Sifat-sifat | 
| --- | --- | --- | 
| [AWS::DirectoryService::MicrosoftIKLAN](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-directoryservice-microsoftad.html) |  | `Password` | 
| [AWS::DirectoryService::SimpleIKLAN](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-directoryservice-simplead.html) |  | `Password` | 
| [AWS::ElastiCache::ReplicationGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticache-replicationgroup.html) |  | `AuthToken` | 
| [AWS::IAM::User](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-iam-user.html) | [LoginProfile](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-iam-user-loginprofile.html) | `Password` | 
| [AWS::KinesisFirehose::DeliveryStream](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-kinesisfirehose-deliverystream.html) | [RedshiftDestinationConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html) | `Password` | 
| [AWS::OpsWorks::App](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-opsworks-app.html) | [Sumber](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-opsworks-app-source.html) | `Password` | 
| [AWS::OpsWorks::Stack](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-opsworks-stack.html) | [CustomCookbooksSource](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-opsworks-stack-source.html) | `Password` | 
| [AWS::OpsWorks::Stack](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-opsworks-stack.html) | [RdsDbInstances](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-opsworks-stack-rdsdbinstance.html) | `DbPassword` | 
| [AWS: :RDS:: DBCluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-rds-dbcluster.html) |  | `MasterUserPassword` | 
| [AWS: :RDS:: DBInstance](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-rds-dbinstance.html) |  | `MasterUserPassword` | 
| [AWS::Redshift::Cluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-redshift-cluster.html) |  | `MasterUserPassword` | 

## Pola referensi
<a name="dynamic-references-ssm-secure-pattern"></a>

Untuk mereferensikan nilai string aman dari Systems Manager Parameter Store di CloudFormation template Anda, gunakan pola `ssm-secure` referensi berikut.

```
{{resolve:ssm-secure:{{parameter-name}}:{{version}}}}
```

Referensi Anda harus mematuhi pola ekspresi reguler berikut untuk nama parameter dan versi:

```
{{resolve:ssm-secure:[a-zA-Z0-9_.\-/]+(:\d+)?}}
```

`parameter-name`  
Nama parameter dalam Penyimpanan Parameter. Perhatikan bahwa nama parameter bersifat peka huruf besar-kecil.  
Wajib.

`version`  
Integer yang menentukan versi parameter untuk digunakan. Jika Anda tidak menentukan versi yang tepat, CloudFormation gunakan versi terbaru dari parameter setiap kali Anda membuat atau memperbarui tumpukan. Untuk informasi selengkapnya, lihat [Bekerja dengan versi parameter](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-versions.html) di *Panduan AWS Systems Manager Pengguna*.  
Tidak wajib.

## Contoh
<a name="dynamic-references-ssm-secure-example"></a>

Contoh berikut menggunakan referensi `ssm-secure` dinamis untuk mengatur kata sandi untuk pengguna IAM ke string aman yang disimpan di Parameter Store. Seperti yang ditentukan, CloudFormation akan menggunakan {{`10`}} versi `{{IAMUserPassword}}` parameter untuk tumpukan dan mengubah operasi set.

### JSON
<a name="dynamic-references-ssm-secure-example.json"></a>

```
  "MyIAMUser": {
    "Type": "AWS::IAM::User",
    "Properties": {
      "UserName": "MyUserName",
      "LoginProfile": {
        "Password": "{{resolve:ssm-secure:{{IAMUserPassword:10}}}}"
      }
    }
  }
```

### YAML
<a name="dynamic-references-ssm-secure-example.yaml"></a>

```
  MyIAMUser:
    Type: AWS::IAM::User
    Properties:
      UserName: 'MyUserName'
      LoginProfile:
        Password: '{{resolve:ssm-secure:{{IAMUserPassword:10}}}}'
```