

Questa è la nuova *Guida di riferimento ai modelli CloudFormation *. Aggiorna i segnalibri e i link. Per informazioni su come iniziare CloudFormation, consulta la [Guida AWS CloudFormation per l'utente](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

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

Questo argomento descrive come utilizzare la `AWS::SecretsManager` trasformazione e il tipo di [AWS::SecretsManager::RotationSchedule](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-secretsmanager-rotationschedule.html)risorsa per specificare una funzione Lambda per eseguire la rotazione dei segreti.

La `AWS::SecretsManager` trasformazione è una CloudFormation macro che, se referenziata nel modello di stack, genera automaticamente una funzione Lambda per la rotazione dei segreti quando si crea o si aggiorna uno stack utilizzando un set di modifiche. La funzione Lambda viene inserita in uno stack annidato nel modello elaborato. Utilizza un modello di funzione dal repository [Gestione dei segreti AWS Rotation Lambda Functions](https://github.com/aws-samples/aws-secrets-manager-rotation-lambdas), basato sul valore della [RotationType](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-secretsmanager-rotationschedule-hostedrotationlambda.html#cfn-secretsmanager-rotationschedule-hostedrotationlambda-rotationtype)proprietà della risorsa. [AWS::SecretsManager::RotationSchedule](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-secretsmanager-rotationschedule.html)

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

Per utilizzare la `AWS::SecretsManager` trasformazione, è necessario dichiararla al livello più alto del modello. CloudFormation Non è possibile utilizzare `AWS::SecretsManager` come trasformazione incorporata in qualsiasi altra sezione del modello.

La dichiarazione deve utilizzare la stringa letterale `AWS::SecretsManager-2020-07-23` o `AWS::SecretsManager-2024-09-16` come valore. Non è possibile utilizzare un parametro o una funzione per specificare un valore di trasformazione.

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

Per dichiarare questa trasformazione nel CloudFormation modello, utilizzate la seguente sintassi:

#### 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:
  ...
```

La trasformazione `AWS::SecretsManager` è una dichiarazione autonoma senza parametri aggiuntivi. Invece, configuri la [HostedRotationLambda](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-secretsmanager-rotationschedule-hostedrotationlambda.html)proprietà della [AWS::SecretsManager::RotationSchedule](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-secretsmanager-rotationschedule.html)risorsa nel tuo modello di stack. La [HostedRotationLambda](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-secretsmanager-rotationschedule-hostedrotationlambda.html)proprietà specifica la funzione Lambda per eseguire la rotazione dei segreti.

## Nuove funzionalità in `AWS::SecretsManager-2024-09-16`
<a name="aws-secretsmanager-new-version"></a>

L’ultima versione di trasformazione `AWS::SecretsManager` (`AWS::SecretsManager-2024-09-16`) introduce i seguenti miglioramenti:
+ **Aggiornamenti Lambda automatici**: quando aggiorni gli CloudFormation stack, le funzioni Lambda ora aggiornano automaticamente la configurazione di runtime e le dipendenze interne. Ciò garantisce l’utilizzo delle versioni più sicure e affidabili del codice che gestisce la rotazione segreta in Secrets Manager.
+ **Supporto per attributi aggiuntivi**: la nuova trasformazione supporta attributi di risorsa aggiuntivi per il tipo di risorsa `AWS::SecretsManager::RotationSchedule` quando viene utilizzata con la proprietà `HostedRotationLambda`, incluso l’attributo `DependsOn`.
**Nota**  
Entrambe le versioni supportano gli attributi `DeletionPolicy` e `UpdateReplacePolicy`.

Per saperne di più su questa nuova versione della `AWS::SecretsManager` trasformazione, consulta [Introducing a Enhanced Version of the Gestione dei segreti AWS Transform: AWS::SecretsManager-2024-09-16 sul Security](https://aws.amazon.com/blogs/security/introducing-an-enhanced-version-of-the-aws-secrets-manager-transform-awssecretsmanager-2024-09-16/) Blog. AWS 

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

Gli esempi seguenti mostrano come utilizzare `AWS::SecretsManager` transform (`AWS::SecretsManager-2024-09-16`) e la [AWS::SecretsManager::RotationSchedule](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-secretsmanager-rotationschedule.html)risorsa nel modello. In questo esempio, CloudFormation genererà automaticamente una funzione Lambda per la rotazione segreta di un singolo utente MySQL.

Il segreto è impostato per ruotare automaticamente ogni giorno a mezzanotte (UTC). Il processo di rotazione può richiedere fino a 2 ore. L’aggiornamento del programma di rotazione non avvia una rotazione immediata.

### 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
```

## Risorse correlate
<a name="aws-secretsmanager-related-resources"></a>

Per esempi completi di CloudFormation modelli che puoi utilizzare per impostare rotazioni segrete, consulta la sezione [Esempi](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-secretsmanager-rotationschedule.html#aws-resource-secretsmanager-rotationschedule--examples) della risorsa. `AWS::SecretsManager::RotationSchedule`

*Per informazioni generali sull'uso delle macro, consulta [Eseguire l'elaborazione personalizzata sui CloudFormation modelli con le macro dei modelli](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-macros.html) nella Guida per l'AWS CloudFormation utente.*