Crea un Parameter Store parametro utilizzando il AWS CLI - AWS Systems Manager

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

Crea un Parameter Store parametro utilizzando il AWS CLI

È possibile utilizzare AWS Command Line Interface (AWS CLI) per creare String e tipi di SecureString parametri. StringList Dopo aver eliminato un parametro, attendere almeno 30 secondi per creare un parametro con lo stesso nome.

I parametri non possono essere referenziati o nidificati nei valori di altri parametri. Non è possibile includere {{}} o {{ssm:parameter-name}} in un valore di parametro.

Nota

I parametri sono disponibili solo nel Regione AWS luogo in cui sono stati creati.

Create un String parametro utilizzando il AWS CLI

  1. Installa e configura AWS Command Line Interface (AWS CLI), se non l'hai già fatto.

    Per informazioni, consulta la pagina Installazione o aggiornamento della versione più recente di AWS CLI.

  2. Per creare un parametro di tipo String, eseguire questo comando. Sostituisci ciascuno example resource placeholder con le tue informazioni.

    Linux & macOS
    aws ssm put-parameter \ --name "parameter-name" \ --value "parameter-value" \ --type String \ --tags "Key=tag-key,Value=tag-value"
    Windows
    aws ssm put-parameter ^ --name "parameter-name" ^ --value "parameter-value" ^ --type String ^ --tags "Key=tag-key,Value=tag-value"

    oppure

    Eseguite il comando seguente per creare un parametro che contenga un Amazon Machine Image (AMI) ID come valore del parametro.

    Linux & macOS
    aws ssm put-parameter \ --name "parameter-name" \ --value "an-AMI-id" \ --type String \ --data-type "aws:ec2:image" \ --tags "Key=tag-key,Value=tag-value"
    Windows
    aws ssm put-parameter ^ --name "parameter-name" ^ --value "an-AMI-id" ^ --type String ^ --data-type "aws:ec2:image" ^ --tags "Key=tag-key,Value=tag-value"

    L'opzione --name supporta le gerarchie. Per informazioni sulle gerarchie, consultare Utilizzo delle gerarchie di parametri in Parameter Store.

    L'--data-typeopzione deve essere specificata solo se state creando un parametro che contiene un AMI ID. Verifica che il valore del parametro inserito sia un Amazon Elastic Compute Cloud (Amazon) formattato correttamente EC2 AMI ID. Per tutti gli altri parametri, il tipo di dati di default è text ed è facoltativo per specificare un valore. Per ulteriori informazioni, consulta Utilizzo del supporto nativo dei parametri in Parameter Store per Amazon Machine Image IDs.

    Importante

    In caso di esito positivo, il comando restituisce il numero di versione del parametro. Eccezione: se è stato specificato aws:ec2:image come tipo di dati, un nuovo numero di versione nella risposta non significa che il valore del parametro sia stato ancora convalidato. Per ulteriori informazioni, consulta Utilizzo del supporto nativo dei parametri in Parameter Store per Amazon Machine Image IDs.

    Il seguente esempio aggiunge due tag di tipo coppia chiave-valore a un parametro.

    Linux & macOS
    aws ssm put-parameter \ --name parameter-name \ --value "parameter-value" \ --type "String" \ --tags '[{"Key":"Region","Value":"East"},{"Key":"Environment", "Value":"Production"}]'
    Windows
    aws ssm put-parameter ^ --name parameter-name ^ --value "parameter-value" ^ --type "String" ^ --tags [{\"Key\":\"Region1\",\"Value\":\"East1\"},{\"Key\":\"Environment1\",\"Value\":\"Production1\"}]

    L'esempio seguente utilizza una gerarchia di parametri nel nome per creare un testo normale di parametro String. Restituisce il numero di versione del parametro. Per ulteriori informazioni sulle gerarchie di parametri, consulta Utilizzo delle gerarchie di parametri in Parameter Store.

    Linux & macOS

    Parametro non in una gerarchia

    aws ssm put-parameter \ --name "golden-ami" \ --type "String" \ --value "ami-12345abcdeEXAMPLE"

    Parametro in una gerarchia

    aws ssm put-parameter \ --name "/amis/linux/golden-ami" \ --type "String" \ --value "ami-12345abcdeEXAMPLE"
    Windows

    Parametro non in una gerarchia

    aws ssm put-parameter ^ --name "golden-ami" ^ --type "String" ^ --value "ami-12345abcdeEXAMPLE"

    Parametro in una gerarchia

    aws ssm put-parameter ^ --name "/amis/windows/golden-ami" ^ --type "String" ^ --value "ami-12345abcdeEXAMPLE"
  3. Eseguire il comando seguente per visualizzare il valore più recente del parametro e verificare i dettagli del nuovo parametro.

    aws ssm get-parameters --names "/Test/IAD/helloWorld"

    Il sistema restituisce informazioni simili alle seguenti.

    {
        "InvalidParameters": [],
        "Parameters": [
            {            
                "Name": "/Test/IAD/helloWorld",
                "Type": "String",
                "Value": "My updated parameter value",
                "Version": 2,
                "LastModifiedDate": "2020-02-25T15:55:33.677000-08:00",
                "ARN": "arn:aws:ssm:us-east-2:123456789012:parameter/Test/IAD/helloWorld"            
            }
        ]
    }

Eseguire questo comando per modificare il valore del parametro. Restituisce il numero di versione del parametro.

aws ssm put-parameter --name "/Test/IAD/helloWorld" --value "My updated 1st parameter" --type String --overwrite

Eseguire questo comando per visualizzare la cronologia del valore del parametro.

aws ssm get-parameter-history --name "/Test/IAD/helloWorld"

Eseguire questo comando per utilizzare questo parametro in un comando.

aws ssm send-command --document-name "AWS-RunShellScript" --parameters '{"commands":["echo {{ssm:/Test/IAD/helloWorld}}"]}' --targets "Key=instanceids,Values=instance-ids"

Eseguire il comando seguente se si desidera recuperare solo il parametro Value (Valore).

aws ssm get-parameter --name testDataTypeParameter --query "Parameter.Value"

Eseguire il comando seguente se si desidera recuperare solo il parametro Value (Valore) tramite get-parameters.

aws ssm get-parameters --names "testDataTypeParameter" --query "Parameters[*].Value"

Eseguire questo comando per visualizzare i metadati del parametro.

aws ssm describe-parameters --filters "Key=Name,Values=/Test/IAD/helloWorld"
Nota

Name (Nome) deve avere l'iniziale maiuscola.

Il sistema restituisce informazioni simili alle seguenti.

{
    "Parameters": [
        {
            "Name": "helloworld",
            "Type": "String",
            "LastModifiedUser": "arn:aws:iam::123456789012:user/JohnDoe",
            "LastModifiedDate": 1494529763.156,
            "Version": 1,
            "Tier": "Standard",
            "Policies": []           
        }
    ]
}

Creare un StringList parametro utilizzando il AWS CLI

  1. Installa e configura AWS Command Line Interface (AWS CLI), se non l'hai già fatto.

    Per informazioni, consulta la pagina Installazione o aggiornamento della versione più recente di AWS CLI.

  2. Per creare un parametro, eseguire questo comando. Sostituisci ciascuno example resource placeholder con le tue informazioni.

    Linux & macOS
    aws ssm put-parameter \ --name "parameter-name" \ --value "a-comma-separated-list-of-values" \ --type StringList \ --tags "Key=tag-key,Value=tag-value"
    Windows
    aws ssm put-parameter ^ --name "parameter-name" ^ --value "a-comma-separated-list-of-values" ^ --type StringList ^ --tags "Key=tag-key,Value=tag-value"
    Nota

    In caso di esito positivo, il comando restituisce il numero di versione del parametro.

    Questo esempio aggiunge due tag di tipo coppia chiave-valore a un parametro. (A seconda del tipo di sistema operativo nel computer locale, utilizzare uno dei comandi seguenti. La versione da eseguire su una macchina Windows locale include i caratteri di escape ("\"), è necessario eseguire il comando dal proprio strumento a riga di comando.)

    Ecco un esempio StringList che utilizza una gerarchia di parametri.

    Linux & macOS
    aws ssm put-parameter \ --name /IAD/ERP/Oracle/addUsers \ --value "Milana,Mariana,Mark,Miguel" \ --type StringList
    Windows
    aws ssm put-parameter ^ --name /IAD/ERP/Oracle/addUsers ^ --value "Milana,Mariana,Mark,Miguel" ^ --type StringList
    Nota

    Gli elementi in StringList devono essere separati da una virgola (,). Non è possibile utilizzare altri caratteri speciali o di punteggiatura per eseguire l'escape degli elementi inclusi nell'elenco. Se un valore di parametro richiede una virgola, utilizzare il tipo di dati String.

  3. Eseguire il comando get-parameters per verificare i dettagli del parametro. Per esempio:

    aws ssm get-parameters --name "/IAD/ERP/Oracle/addUsers"

Create un SecureString parametro utilizzando il AWS CLI

Utilizza la procedura seguente per creare un parametro SecureString. Sostituisci ciascuno example resource placeholder con le tue informazioni.

Importante

Solo il valore di un parametro SecureString viene crittografato. I nomi dei parametri, le descrizioni e altre proprietà non sono crittografati.

  1. Installa e configura (), se non l'hai già fatto. AWS Command Line Interface AWS CLI

    Per informazioni, consulta la pagina Installazione o aggiornamento della versione più recente di AWS CLI.

  2. Eseguire uno dei seguenti comandi per creare un parametro che utilizza il tipo di dati SecureString.

    Linux & macOS

    Crea un SecureString parametro utilizzando il valore predefinito Chiave gestita da AWS

    aws ssm put-parameter \ --name "parameter-name" \ --value "parameter-value" \ --type "SecureString"

    Creazione di un parametro SecureString che utilizza una chiave gestita del cliente

    aws ssm put-parameter \ --name "parameter-name" \ --value "a-parameter-value, for example P@ssW%rd#1" \ --type "SecureString" --tags "Key=tag-key,Value=tag-value"

    Crea un SecureString parametro che utilizza una AWS KMS chiave personalizzata

    aws ssm put-parameter \ --name "parameter-name" \ --value "a-parameter-value, for example P@ssW%rd#1" \ --type "SecureString" \ --key-id "your-account-ID/the-custom-AWS KMS-key" \ --tags "Key=tag-key,Value=tag-value"
    Windows

    Crea un SecureString parametro utilizzando il valore predefinito Chiave gestita da AWS

    aws ssm put-parameter ^ --name "parameter-name" ^ --value "parameter-value" ^ --type "SecureString"

    Creazione di un parametro SecureString che utilizza una chiave gestita del cliente

    aws ssm put-parameter ^ --name "parameter-name" ^ --value "a-parameter-value, for example P@ssW%rd#1" ^ --type "SecureString" ^ --tags "Key=tag-key,Value=tag-value"

    Crea un SecureString parametro che utilizza una AWS KMS chiave personalizzata

    aws ssm put-parameter ^ --name "parameter-name" ^ --value "a-parameter-value, for example P@ssW%rd#1" ^ --type "SecureString" ^ --key-id " ^ --tags "Key=tag-key,Value=tag-value"account-ID/the-custom-AWS KMS-key"

    Se crei un parametro SecureString utilizzando la chiave Chiave gestita da AWS nel tuo account e nella tua Regione, non devi fornire un valore per il parametro --key-id.

    Nota

    Per utilizzare il parametro AWS KMS key assegnato al tuo Account AWS and Regione AWS, rimuovi il key-id parametro dal comando. Per ulteriori informazioni su AWS KMS keys, consulta Concetti dell'AWS Key Management Service nella Guida per gli sviluppatori AWS Key Management Service .

    Per utilizzare una chiave gestita dal cliente anziché quella Chiave gestita da AWS assegnata al tuo account, specifica la chiave utilizzando il --key-id parametro. Il parametro supporta i seguenti formati di KMS parametri.

    • Esempio chiave di Amazon Resource Name (ARN):

      arn:aws:kms:us-east-2:123456789012:key/key-id

    • ARNEsempio di alias:

      arn:aws:kms:us-east-2:123456789012:alias/alias-name

    • Esempio di ID chiave:

      12345678-1234-1234-1234-123456789012

    • Esempio di nome alias:

      alias/MyAliasName

    È possibile creare una chiave gestita dal cliente utilizzando AWS Management Console o il AWS KMS API. I seguenti AWS CLI comandi creano una chiave gestita dal cliente nella versione corrente Regione AWS del tuo Account AWS.

    aws kms create-key

    Utilizza un comando nel formato seguente per creare un parametro SecureString utilizzando la chiave appena creata.

    L'esempio seguente usa un nome offuscato (3l3vat3131) per un parametro password e una AWS KMS key.

    Linux & macOS
    aws ssm put-parameter \ --name /Finance/Payroll/3l3vat3131 \ --value "P@sSwW)rd" \ --type SecureString \ --key-id arn:aws:kms:us-east-2:123456789012:key/1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e
    Windows
    aws ssm put-parameter ^ --name /Finance/Payroll/3l3vat3131 ^ --value "P@sSwW)rd" ^ --type SecureString ^ --key-id arn:aws:kms:us-east-2:123456789012:key/1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e
  3. Utilizzare il comando seguente per verificare i dettagli del parametro.

    Se non si specifica il with-decryption parametro o se si specifica il no-with-decryption parametro, il comando restituisce un valore crittografatoGUID.

    Linux & macOS
    aws ssm get-parameters \ --name "the-parameter-name-you-specified" \ --with-decryption
    Windows
    aws ssm get-parameters ^ --name "the-parameter-name-you-specified" ^ --with-decryption
  4. Eseguire questo comando per visualizzare i metadati del parametro.

    Linux & macOS
    aws ssm describe-parameters \ --filters "Key=Name,Values=the-name-that-you-specified"
    Windows
    aws ssm describe-parameters ^ --filters "Key=Name,Values=the-name-that-you-specified"
  5. Eseguire il comando seguente per modificare il valore del parametro se non si utilizza una AWS KMS key gestita dal cliente.

    Linux & macOS
    aws ssm put-parameter \ --name "the-name-that-you-specified" \ --value "a-new-parameter-value" \ --type "SecureString" \ --overwrite
    Windows
    aws ssm put-parameter ^ --name "the-name-that-you-specified" ^ --value "a-new-parameter-value" ^ --type "SecureString" ^ --overwrite

    oppure

    Eseguire uno dei seguenti comandi per modificare il valore del parametro se si utilizza una AWS KMS key gestita dal cliente.

    Linux & macOS
    aws ssm put-parameter \ --name "the-name-that-you-specified" \ --value "a-new-parameter-value" \ --type "SecureString" \ --key-id "the-KMSkey-ID" \ --overwrite
    aws ssm put-parameter \ --name "the-name-that-you-specified" \ --value "a-new-parameter-value" \ --type "SecureString" \ --key-id "account-alias/the-KMSkey-ID" \ --overwrite
    Windows
    aws ssm put-parameter ^ --name "the-name-that-you-specified" ^ --value "a-new-parameter-value" ^ --type "SecureString" ^ --key-id "the-KMSkey-ID" ^ --overwrite
    aws ssm put-parameter ^ --name "the-name-that-you-specified" ^ --value "a-new-parameter-value" ^ --type "SecureString" ^ --key-id "account-alias/the-KMSkey-ID" ^ --overwrite
  6. Eseguire questo comando per visualizzare il valore più recente del parametro.

    Linux & macOS
    aws ssm get-parameters \ --name "the-name-that-you-specified" \ --with-decryption
    Windows
    aws ssm get-parameters ^ --name "the-name-that-you-specified" ^ --with-decryption
  7. Eseguire questo comando per visualizzare la cronologia del valore del parametro.

    Linux & macOS
    aws ssm get-parameter-history \ --name "the-name-that-you-specified"
    Windows
    aws ssm get-parameter-history ^ --name "the-name-that-you-specified"
Nota

Puoi creare manualmente un parametro con un valore criptato. In questo caso, poiché il valore è già crittografato, non è necessario scegliere il tipo di parametro SecureString. Se scegli comunque SecureString, il parametro è protetto da una doppia crittografia.

Per impostazione predefinita, tutti i valori SecureString vengono visualizzati come testo crittografato. Per decrittografare un SecureString valore, un utente deve disporre dell'autorizzazione a chiamare l'operazione AWS KMS APIDecrypt. Per informazioni sulla configurazione di AWS KMS controllo di accesso, vedere Autenticazione e controllo degli accessi per AWS KMS nella Guida per gli sviluppatori AWS Key Management Service .

Importante

Se si modifica l'alias della KMS KMS chiave utilizzata per crittografare un parametro, è necessario aggiornare anche l'alias della chiave a cui il parametro fa riferimento. AWS KMS Questo vale solo per l'alias della KMS chiave; l'ID della chiave a cui un alias allega rimane lo stesso a meno che non si elimini l'intera chiave.

Create un parametro multilinea utilizzando il AWS CLI

È possibile utilizzare il AWS CLI per creare un parametro con interruzioni di riga. Utilizzare le interruzioni di riga per suddividere il testo in valori di parametro più lunghi per una migliore leggibilità o, ad esempio, aggiornare il contenuto di parametri multiparagrafo per una pagina Web. È possibile includere il contenuto in un JSON file e utilizzare l'--cli-input-jsonopzione, utilizzando caratteri di interruzione di riga come\n, come mostrato nell'esempio seguente.

  1. Installa e configura AWS Command Line Interface (AWS CLI), se non l'hai già fatto.

    Per informazioni, consulta la pagina Installazione o aggiornamento della versione più recente di AWS CLI.

  2. Per creare un parametro a linea multipla, eseguire il seguente comando.

    Linux & macOS
    aws ssm put-parameter \ --name "MultiLineParameter" \ --type String \ --cli-input-json file://MultiLineParameter.json
    Windows
    aws ssm put-parameter ^ --name "MultiLineParameter" ^ --type String ^ --cli-input-json file://MultiLineParameter.json

    Nell'esempio seguente viene mostrato il contenuto del file MultiLineParameter.json.

    { "Value": "<para>Paragraph One</para>\n<para>Paragraph Two</para>\n<para>Paragraph Three</para>" }

Il valore del parametro salvato viene memorizzato come segue.

<para>Paragraph One</para>
<para>Paragraph Two</para>
<para>Paragraph Three</para>