Ottenimento di un valore di stringa sicura da Systems Manager Parameter Store - AWS CloudFormation

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à.

Ottenimento di un valore di stringa sicura da Systems Manager Parameter Store

In CloudFormation puoi utilizzare dati sensibili come password o chiavi di licenza senza esporli direttamente nei tuoi modelli, archiviando i dati sensibili come “stringa sicura” in AWS Systems Manager Parameter Store. Per un’introduzione a Parameter Store, consulta AWS Systems Manager Parameter Store nella Guida per l’utente di AWS Systems Manager.

Per utilizzare una stringa sicura di Parameter Store all’interno del modello, utilizza un riferimento dinamico ssm-secure. CloudFormation non archivia mai il valore del file di stringa sicura effettivo. Al contrario, archivia il riferimento dinamico letterale, che contiene il nome del parametro della stringa sicura in testo normale.

Durante la creazione o gli aggiornamenti dello stack, CloudFormation accede al valore della stringa sicura secondo necessità, senza esporre il valore effettivo. Al momento, i parametri di stringa sicura possono essere utilizzati solo per proprietà di risorsa che supportano lo schema di riferimenti dinamici ssm-secure. Per ulteriori informazioni, consulta Risorse che supportano schemi di parametri dinamici per stringhe sicure.

CloudFormation non restituisce il valore di parametro effettivo per le stringhe sicure in qualsiasi chiamata API. Restituisce solo il riferimento dinamico letterale. Quando si confrontano le modifiche utilizzando i set di modifiche, CloudFormation confronta solo la stringa del riferimento dinamico letterale. Non risolve e non confronta i valori effettivi della stringa sicura.

Quando si utilizzano riferimenti dinamici ssm-secure, ci sono alcune cose importanti da tenere a mente:

  • CloudFormation non può accedere ai valori del Parameter Store di altri Account AWS.

  • CloudFormation non supporta l’utilizzo di etichette di parametro Systems Manager o parametri pubblici nei riferimenti dinamici.

  • Le stringhe sicure non sono supportate da Systems Manager nelle regioni cn-north-1 e cn-northwest-1.

  • I riferimenti dinamici per valori sicuri, come ssm-secure, non sono attualmente supportati nelle risorse personalizzate.

  • Se CloudFormation deve eseguire il rollback di un aggiornamento di stack e la versione specificata precedentemente di un parametro di stringa sicura non è più disponibile, tale operazione non riuscirà. In questi casi, sono disponibili due opzioni:

    • Utilizza CONTINUE_UPDATE_ROLLBACK per ignorare la risorsa.

    • Ricrea il parametro di stringa sicura in Systems Manager Parameter Store e aggiornalo fino a che la versione del parametro è identica alla versione utilizzata nel modello. Utilizza quindi CONTINUE_UPDATE_ROLLBACK senza ignorare la risorsa.

Risorse che supportano schemi di parametri dinamici per stringhe sicure

Le risorse che supportano lo schema di riferimenti dinamici ssm-secure includono:

Schema di riferimento

Per fare riferimento a un valore di stringa sicuro da Systems Manager Parameter Store nel modello CloudFormation, utilizza il seguente schema di riferimento ssm-secure.

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

Il riferimento deve essere conforme allo schema di espressione regolare per parameter-name e version:

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

Il nome del parametro in Archivio parametri . Il nome di parametro prevede la distinzione tra lettere maiuscole e minuscole.

Obbligatorio.

version

Un numero intero che specifica la versione del parametro da utilizzare. Se non specifichi la versione esatta, CloudFormation utilizza la versione più recente del parametro ogni volta che crei o aggiorni lo stack. Per ulteriori informazioni, consulta Working with parameter versions nella Guida per l’utente di AWS Systems Manager.

Facoltativo.

Esempio

L’esempio seguente utilizza un riferimento dinamico ssm-secure per impostare la password per un utente IAM su una stringa sicura archiviata in Parameter Store. Come specificato, CloudFormation utilizzerà la versione 10 del parametro IAMUserPassword per le operazioni di stack e di set di modifica.

JSON

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

YAML

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