

Ini adalah *Panduan Referensi CloudFormation Template* baru. Harap perbarui bookmark dan tautan Anda. Untuk bantuan memulai CloudFormation, lihat [Panduan AWS CloudFormation Pengguna](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

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

# Tansformasi `AWS::SecretsManager`
<a name="transform-aws-secretsmanager"></a>

Topik ini menjelaskan cara menggunakan `AWS::SecretsManager` transformasi dan jenis [AWS::SecretsManager::RotationSchedule](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-secretsmanager-rotationschedule.html)sumber daya untuk menentukan fungsi Lambda untuk melakukan rotasi rahasia.

`AWS::SecretsManager`Transformasi adalah CloudFormation makro yang, ketika direferensikan dalam template tumpukan Anda, secara otomatis menghasilkan fungsi Lambda untuk rotasi rahasia saat Anda membuat atau memperbarui tumpukan menggunakan set perubahan. Fungsi Lambda ditempatkan di tumpukan bersarang di template yang diproses. Ini menggunakan template fungsi dari repositori [Fungsi Lambda AWS Secrets Manager Rotasi](https://github.com/aws-samples/aws-secrets-manager-rotation-lambdas), berdasarkan nilai [RotationType](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-secretsmanager-rotationschedule-hostedrotationlambda.html#cfn-secretsmanager-rotationschedule-hostedrotationlambda-rotationtype)properti sumber daya. [AWS::SecretsManager::RotationSchedule](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-secretsmanager-rotationschedule.html)

## Penggunaan
<a name="aws-secretsmanager-usage"></a>

Untuk menggunakan `AWS::SecretsManager` transformasi, Anda harus mendeklarasikannya di tingkat atas template Anda CloudFormation . Anda tidak dapat menggunakan `AWS::SecretsManager` sebagai perubahan yang tertanam di bagian templat lainnya.

Deklarasi harus menggunakan string literal `AWS::SecretsManager-2020-07-23` atau `AWS::SecretsManager-2024-09-16` sebagai nilainya. Anda tidak dapat menggunakan parameter atau fungsi untuk menentukan nilai perubahan.

### Sintaksis
<a name="aws-secretsmanager-syntax"></a>

Untuk mendeklarasikan transformasi ini di CloudFormation template Anda, gunakan sintaks berikut:

#### JSON
<a name="aws-secretsmanager-syntax.json"></a>

```
{
  "Transform":"AWS::SecretsManager-{{2020-07-23}}",
  "Resources":{
    {{...}}
  }
}
```

#### YAML
<a name="aws-secretsmanager-syntax.yaml"></a>

```
Transform: AWS::SecretsManager-{{2020-07-23}}
Resources:
  {{...}}
```

`AWS::SecretsManager`Transformasi adalah deklarasi mandiri tanpa parameter tambahan. Sebagai gantinya, Anda mengonfigurasi [HostedRotationLambda](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-secretsmanager-rotationschedule-hostedrotationlambda.html)properti [AWS::SecretsManager::RotationSchedule](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-secretsmanager-rotationschedule.html)sumber daya di template tumpukan Anda. [HostedRotationLambda](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-secretsmanager-rotationschedule-hostedrotationlambda.html)Properti menentukan fungsi Lambda untuk melakukan rotasi rahasia.

## Fitur baru di `AWS::SecretsManager-2024-09-16`
<a name="aws-secretsmanager-new-version"></a>

Versi terbaru dari `AWS::SecretsManager` transform (`AWS::SecretsManager-2024-09-16`) memperkenalkan penyempurnaan berikut:
+ **Upgrade Lambda Otomatis** — Saat Anda memperbarui CloudFormation tumpukan, fungsi Lambda Anda sekarang secara otomatis memperbarui konfigurasi runtime dan dependensi internalnya. Ini memastikan Anda menggunakan versi kode yang paling aman dan andal yang mengelola rotasi rahasia di Secrets Manager.
+ **Support untuk atribut tambahan** — Transformasi baru mendukung atribut sumber daya tambahan untuk jenis `AWS::SecretsManager::RotationSchedule` sumber daya saat digunakan dengan `HostedRotationLambda` properti, termasuk `DependsOn` atribut.
**catatan**  
Kedua versi mendukung `DeletionPolicy` dan `UpdateReplacePolicy` atribut.

Untuk mempelajari lebih lanjut tentang versi `AWS::SecretsManager` transformasi baru ini, lihat [Memperkenalkan versi AWS Secrets Manager transformasi yang disempurnakan: AWS::SecretsManager-2024-09-16](https://aws.amazon.com/blogs/security/introducing-an-enhanced-version-of-the-aws-secrets-manager-transform-awssecretsmanager-2024-09-16/) di Blog AWS Keamanan.

## Contoh
<a name="aws-secretsmanager-examples"></a>

Contoh berikut menunjukkan cara menggunakan `AWS::SecretsManager` transform (`AWS::SecretsManager-2024-09-16`) dan [AWS::SecretsManager::RotationSchedule](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-secretsmanager-rotationschedule.html)sumber daya dalam template Anda. Dalam contoh ini, secara otomatis CloudFormation akan menghasilkan fungsi Lambda untuk MySQL rotasi rahasia pengguna tunggal.

Rahasianya diatur untuk berputar secara otomatis setiap hari pada tengah malam (UTC). Proses rotasi dapat memakan waktu hingga 2 jam untuk menyelesaikannya. Memperbarui jadwal rotasi tidak akan memulai rotasi langsung.

### JSON
<a name="aws-secretsmanager-example.json"></a>

```
{
  "AWSTemplateFormatVersion":"2010-09-09",
  "Transform":"AWS::SecretsManager-2024-09-16",
  "Resources":{

  {{...}}

    "{{MySecretRotationSchedule}}":{
      "Type":"AWS::SecretsManager::RotationSchedule",
      "DependsOn":"{{logical name of AWS::SecretsManager::SecretTargetAttachment resource}}",
      "Properties":{
        "SecretId":{
          "Ref":"{{logical name of AWS::SecretsManager::Secret resource}}"
        },
        "HostedRotationLambda":{
          "RotationType":"MySQLSingleUser",
          "RotationLambdaName":"{{name of Lambda function to be created}}",
          "VpcSecurityGroupIds":{
            "Fn::GetAtt":[
              "{{logical name of AWS::EC2::SecurityGroup resource}}",
              "GroupId"
            ]
          },
          "VpcSubnetIds":{
            "Fn::Join":[
              ",",
              [
                {
                  "Ref":"{{logical name of primary subnet}}"
                },
                {
                  "Ref":"{{logical name of secondary subnet}}"
                }
              ]
            ]
          }
        },
        "RotationRules":{
          "ScheduleExpression":"cron(0 0 * * ? *)",
          "Duration":"2h"
        },
        "RotateImmediatelyOnUpdate":false
      }
    }
  }
}
```

### YAML
<a name="aws-secretsmanager-example.yaml"></a>

```
AWSTemplateFormatVersion: 2010-09-09
Transform: AWS::SecretsManager-2024-09-16
Resources:

  {{...}}

  {{MySecretRotationSchedule}}:
    Type: AWS::SecretsManager::RotationSchedule
    DependsOn: {{logical name of AWS::SecretsManager::SecretTargetAttachment resource}}
    Properties:
      SecretId: !Ref {{logical name of AWS::SecretsManager::Secret resource}}
      HostedRotationLambda:
        RotationType: MySQLSingleUser
        RotationLambdaName: {{name of Lambda function to be created}}
        VpcSecurityGroupIds: !GetAtt {{logical name of AWS::EC2::SecurityGroup resource}}.GroupId
        VpcSubnetIds:
          Fn::Join:
          - ","
          - - Ref: {{logical name of primary subnet}}
            - Ref: {{logical name of secondary subnet}}
      RotationRules:
        ScheduleExpression: cron(0 0 * * ? *)
        Duration: 2h
      RotateImmediatelyOnUpdate: false
```

## Sumber daya terkait
<a name="aws-secretsmanager-related-resources"></a>

Untuk contoh CloudFormation template lengkap yang dapat Anda gunakan untuk mengatur rotasi rahasia, lihat bagian [Contoh](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-secretsmanager-rotationschedule.html#aws-resource-secretsmanager-rotationschedule--examples) `AWS::SecretsManager::RotationSchedule` sumber daya.

Untuk informasi umum tentang penggunaan makro, lihat [Melakukan pemrosesan kustom pada CloudFormation templat dengan makro templat](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-macros.html) di *AWS CloudFormation Panduan Pengguna*.