Come usare la CLI di AWS crittografia - AWS Encryption SDK

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

Come usare la CLI di AWS crittografia

Questo argomento spiega come utilizzare i parametri nella CLI di AWS crittografia. Per alcuni esempi, consulta Esempi diAWSCLI di crittografia. Per la documentazione completa, consulta Leggi i documenti. La sintassi mostrata in questi esempi si riferisce alla versione 2.1 di AWS Encryption CLI. x e versioni successive.

Nota

Le versioni di AWS Encryption CLI precedenti alla 4.0.0 sono in fase e. nd-of-support

Puoi aggiornare in sicurezza dalla versione 2.1. x e versioni successive all'ultima versione di AWS Encryption CLI senza modifiche al codice o ai dati. Tuttavia, nuove funzionalità di sicurezza sono state introdotte nella versione 2.1. x non sono compatibili con le versioni precedenti. Per aggiornare dalla versione 1.7. x o versioni precedenti, devi prima eseguire l'aggiornamento alla versione più recente 1. versione x di AWS Encryption CLI. Per informazioni dettagliate, consultare Migrazione della tuaAWS Encryption SDK.

Le nuove funzionalità di sicurezza sono state originariamente rilasciate nelle versioni 1.7 di AWS Encryption CLI. x e 2.0. x. Tuttavia, AWS Encryption CLI versione 1.8. x sostituisce la versione 1.7. x e AWS Encryption CLI 2.1. x sostituisce 2.0. x. Per i dettagli, consulta l'avviso di sicurezza pertinente nel aws-encryption-sdk-clirepository su. GitHub

Per un esempio che mostra come utilizzare la funzionalità di sicurezza che limita le chiavi dati crittografate, vedereLimitazione delle chiavi di dati crittografate.

Per un esempio che mostra come utilizzare le chiavi AWS KMS multiregionali, vedereUtilizzo di più regioni AWS KMS keys.

Come crittografare e decrittare i dati

L'AWSEncryption CLI utilizza le funzionalità di AWS Encryption SDK per semplificare la crittografia e la decrittografia dei dati in modo sicuro.

Nota

Il --master-keys parametro è obsoleto nella versione 1.8. x dell'AWSEncryption CLI e rimosso nella versione 2.1. x. Utilizza invece il parametro --wrapping-keys. A partire dalla versione 2.1. x, il --wrapping-keys parametro è richiesto per la crittografia e la decrittografia. Per informazioni dettagliate, consultare Sintassi e riferimento parametri dell'interfaccia a riga di comando AWS Encryption SDK.

  • Quando si crittografano i dati nella CLI di AWS crittografia, si specificano i dati in chiaro e una chiave di avvolgimento (o chiave master), ad esempio in (). AWS KMS key AWS Key Management Service AWS KMS Se si utilizza un provider di chiavi master personalizzate, è necessario specificare anche il provider. È inoltre possibile specificare i percorsi di output per il messaggio crittografato e per i metadati relativi all'operazione di crittografia. Un contesto di crittografia è opzionale, ma consigliato.

    Nella versione 1.8. x, il --commitment-policy parametro è obbligatorio quando si utilizza il --wrapping-keys parametro; altrimenti non è valido. A partire dalla versione 2.1. x, il --commitment-policy parametro è facoltativo, ma consigliato.

    aws-encryption-cli --encrypt --input myPlaintextData \ --wrapping-keys key=1234abcd-12ab-34cd-56ef-1234567890ab \ --output myEncryptedMessage \ --metadata-output ~/metadata \ --encryption-context purpose=test \ --commitment-policy require-encrypt-require-decrypt

    L'AWSEncryption CLI crittografa i tuoi dati con una chiave dati univoca. Quindi crittografa la chiave dati sotto le chiavi di avvolgimento specificate. Restituisce un messaggio crittografato e i metadati relativi all'operazione. Il messaggio crittografato contiene i dati crittografati (testo cifrato) e una copia crittografata della chiave di dati. Non devi preoccuparti di archiviare, gestire o perdere la chiave di dati.

     

  • Quando esegui la decrittografia dei dati, passi il tuo messaggio crittografato, il contesto di crittografia opzionale e la posizione per l'output di testo non crittografato e i metadati. È inoltre possibile specificare le chiavi di wrapping che la CLI di AWS crittografia può utilizzare per decrittografare il messaggio o indicare alla CLI di AWS crittografia che può utilizzare qualsiasi chiave di wrapping che ha crittografato il messaggio.

    A partire dalla versione 1.8. x, il --wrapping-keys parametro è facoltativo durante la decrittografia, ma consigliato. A partire dalla versione 2.1. x, il --wrapping-keys parametro è richiesto per la crittografia e la decrittografia.

    Durante la decrittografia, è possibile utilizzare l'attributo chiave del --wrapping-keys parametro per specificare le chiavi di wrapping che decrittografano i dati. Specificare una chiave di AWS KMS avvolgimento durante la decrittografia è facoltativo, ma è una procedura consigliata che impedisce di utilizzare una chiave che non si intendeva utilizzare. Se utilizzi un provider di chiavi master personalizzate, devi specificare il provider e la chiave di wrapping.

    Se non si utilizza l'attributo key, è necessario impostare l'attributo discovery del --wrapping-keys parametro sutrue, che consente alla CLI di AWS crittografia di decodifica utilizzando qualsiasi chiave di wrapping che ha crittografato il messaggio.

    È consigliabile utilizzare il --max-encrypted-data-keys parametro per evitare di decifrare un messaggio malformato con un numero eccessivo di chiavi dati crittografate. Specifica il numero previsto di chiavi dati crittografate (una per ogni chiave di wrapping utilizzata nella crittografia) o un numero massimo ragionevole (ad esempio 5). Per informazioni dettagliate, consultare Limitazione delle chiavi di dati crittografate.

    Il --buffer parametro restituisce testo in chiaro solo dopo l'elaborazione di tutti gli input, inclusa la verifica della firma digitale, se presente.

    Il --decrypt-unsigned parametro decrittografa il testo cifrato e garantisce che i messaggi non siano firmati prima della decrittografia. Usa questo parametro se hai utilizzato il --algorithm parametro e hai selezionato una suite di algoritmi senza firma digitale per crittografare i dati. Se il testo cifrato è firmato, la decrittografia non riesce.

    È possibile utilizzare --decrypt o --decrypt-unsigned per la decrittografia, ma non entrambi.

    aws-encryption-cli --decrypt --input myEncryptedMessage \ --wrapping-keys key=1234abcd-12ab-34cd-56ef-1234567890ab \ --output myPlaintextData \ --metadata-output ~/metadata \ --max-encrypted-data-keys 1 \ --buffer \ --encryption-context purpose=test \ --commitment-policy require-encrypt-require-decrypt

    L'AWSEncryption CLI utilizza la chiave di wrapping per decrittografare la chiave di dati nel messaggio crittografato. Quindi usa la chiave di dati per decrittografare i dati. Restituisce i tuoi dati di testo non crittografato e i metadati relativi all'operazione.

Come specificare le chiavi di avvolgimento

Quando si crittografano i dati nella CLI di AWS crittografia, è necessario specificare almeno una chiave di wrapping (o chiave master). Puoi usare AWS KMS keys in AWS Key Management Service (AWS KMS), avvolgere le chiavi di un provider di chiavi master personalizzato o entrambi. Il provider di chiavi master personalizzato può essere qualsiasi provider di chiave master compatibile con Python.

Per specificare le chiavi di wrapping nelle versioni 1.8. x e versioni successive, utilizzare il --wrapping-keys parametro (-w). Il valore di questo parametro è una raccolta di attributi con il attribute=value formato. Gli attributi utilizzati dipendono dal provider di chiavi master e dal comando.

  • AWS KMS. Nei comandi di crittografia, è necessario specificare un --wrapping-keys parametro con un attributo chiave. A partire dalla versione 2.1. x, il --wrapping-keys parametro è richiesto anche nei comandi di decrittografia. Durante la decrittografia, il --wrapping-keys parametro deve avere un attributo chiave o un attributo discovery con un valore pari a true (ma non entrambi). Gli altri attributi sono opzionali.

  • Provider di chiavi master personalizzato. È necessario specificare un --wrapping-keys parametro in ogni comando. Il valore di parametro deve avere gli attributi relativi a chiave e provider.

È possibile includere più --wrapping-keys parametri e più attributi chiave nello stesso comando.

Confezionamento degli attributi dei parametri chiave

Il valore del parametro --wrapping-keys consiste nei seguenti attributi e nei loro rispettivi valori. Un --wrapping-keys parametro (o --master-keys parametro) è richiesto in tutti i comandi di crittografia. A partire dalla versione 2.1. x, il --wrapping-keys parametro è richiesto anche durante la decrittografia.

Se nel nome o nel valore di un attributo sono inclusi spazi o caratteri speciali, racchiudi il nome e il valore tra virgolette. Ad esempio, --wrapping-keys key=12345 "provider=my cool provider".

Chiave: specifica una chiave di avvolgimento

Usa l'attributo key per identificare una chiave di avvolgimento. Durante la crittografia, il valore può essere qualsiasi identificatore di chiave riconosciuto dal provider della chiave master.

--wrapping-keys key=1234abcd-12ab-34cd-56ef-1234567890ab

In un comando di crittografia, è necessario includere almeno un attributo e un valore chiave. Per crittografare la chiave dati con più chiavi di avvolgimento, utilizza più attributi chiave.

aws-encryption-cli --encrypt --wrapping-keys key=1234abcd-12ab-34cd-56ef-1234567890ab key=1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d

Nei comandi di crittografia utilizzatiAWS KMS keys, il valore della chiave può essere l'ID della chiave, la relativa chiave ARN, un nome alias o l'alias ARN. Ad esempio, questo comando di crittografia utilizza un ARN alias nel valore dell'attributo della chiave. Per i dettagli sugli identificatori chiave di unAWS KMS key, consulta Identificatori chiave nella Guida per gli sviluppatori. AWS Key Management Service

aws-encryption-cli --encrypt --wrapping-keys key=arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias

Nei comandi di decrittografia che utilizzano un provider di chiavi master personalizzato, sono necessari gli attributi chiave e provider.

\\ Custom master key provider aws-encryption-cli --decrypt --wrapping-keys provider='myProvider' key='100101'

Nei comandi di decrittografia utilizzatiAWS KMS, è possibile utilizzare l'attributo key per specificare l'attributo da utilizzare AWS KMS keys per la decrittografia o l'attributo discovery con un valore ditrue, che consente alla CLI di AWS crittografia di utilizzare tutto AWS KMS key ciò che è stato utilizzato per crittografare il messaggio. Se si specifica unAWS KMS key, deve essere una delle chiavi di wrapping utilizzate per crittografare il messaggio.

Specificare la chiave di avvolgimento è una procedura AWS Encryption SDKconsigliata. Assicura che utilizzi ciò che AWS KMS key intendi utilizzare.

In un comando di decrypt, il valore dell'attributo key deve essere una chiave ARN.

\\ AWS KMS key aws-encryption-cli --decrypt --wrapping-keys key=arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
Discovery: usane uno qualsiasi AWS KMS key durante la decrittografia

Se non è necessario limitare l'utilizzo durante AWS KMS keys la decrittografia, è possibile utilizzare l'attributo discovery con un valore di. true Un valore di true consente alla CLI di AWS crittografia di decrittografare utilizzando qualsiasi elemento AWS KMS key che abbia crittografato il messaggio. Se non specifichi un attributo discovery, discovery è false (impostazione predefinita). L'attributo discovery è valido solo nei comandi di decrypt e solo quando il messaggio è stato crittografato con. AWS KMS keys

L'attributo discovery con un valore di true è un'alternativa all'utilizzo dell'attributo key per specificare. AWS KMS keys Quando si decrittografa un messaggio crittografato conAWS KMS keys, ogni --wrapping-keys parametro deve avere un attributo chiave o un attributo discovery con un valore pari atrue, ma non entrambi.

Quando discovery è vero, è consigliabile utilizzare gli attributi discovery-partition e discovery-account per limitare gli utenti a quelli AWS KMS keys specificati. Account AWS Nell'esempio seguente, gli attributi di rilevamento consentono alla CLI di AWS crittografia di utilizzare qualsiasi AWS KMS key elemento specificatoAccount AWS.

aws-encryption-cli --decrypt --wrapping-keys \ discovery=true \ discovery-partition=aws \ discovery-account=111122223333 \ discovery-account=444455556666
Provider: specifica il fornitore della chiave principale

L'attributo del provider identifica il provider della chiave master. Il valore predefinito è aws-kms, che rappresenta AWS KMS. Se stai usando un altro provider di chiavi master, è necessario utilizzare l'attributo provider.

--wrapping-keys key=12345 provider=my_custom_provider

Per ulteriori informazioni sull'utilizzo di fornitori di chiavi master (nonAWS KMS) personalizzate, vedere l'argomento Configurazione avanzata nel file README per il repository AWSEncryption CLI.

Regione: specificare una Regione AWS

Utilizzare l'attributo region per specificare il valore Regione AWS di unAWS KMS key. Questo attributo è valido solo per i comandi di crittografia e solo quando il provider della chiave master è AWS KMS.

--encrypt --wrapping-keys key=alias/primary-key region=us-east-2

AWSI comandi CLI di crittografia utilizzano quanto specificato nel valore dell'attributo chiave se include una regione, ad esempio un ARN. Se il valore della chiave specifica aRegione AWS, l'attributo region viene ignorato. Regione AWS

L'attributo della regione prevale su altre specifiche relative alle regioni. Se non utilizzi un attributo regionale, i comandi AWS Encryption CLI utilizzano Regione AWS quanto specificato nel profilo AWS CLI indicato, se presente, o il tuo profilo predefinito.

Profilo: specifica un profilo denominato

Utilizza l'attributo del profilo per specificare un AWS CLIprofilo denominatohttps://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html#cli-configure-files-using-profiles. I profili denominati possono includere credenziali e unRegione AWS. Questo attributo è valido solo quando il provider della chiave master è AWS KMS.

--wrapping-keys key=alias/primary-key profile=admin-1

È possibile utilizzare l'attributo del profilo per specificare credenziali alternative nei comandi di crittografia e decrittografia. In un comando di crittografia, la CLI di AWS crittografia utilizza il valore Regione AWS nel profilo denominato solo quando il valore della chiave non include una regione e non è presente alcun attributo di regione. In un comando di decriptazione, il profilo Regione AWS in the name viene ignorato.

Come specificare più chiavi di wrapping

È possibile specificare più chiavi di wrapping (o chiavi master) in ogni comando.

Se si specifica più di una chiave di wrapping, la prima chiave di wrapping genera e crittografa la chiave dati utilizzata per crittografare i dati. Le altre chiavi di wrapping crittografano la stessa chiave dati. Il messaggio crittografato risultante contiene i dati crittografati («testo cifrato») e una raccolta di chiavi dati crittografate, una crittografata da ciascuna chiave di wrapping. Qualsiasi involucro può decrittografare una chiave di dati crittografata e quindi decrittografare i dati.

Esistono due modi per specificare più chiavi di wrapping:

  • Includi più attributi chiave nel valore del --wrapping-keys parametro.

    $key_oregon=arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab $key_ohio=arn:aws:kms:us-east-2:111122223333:key/0987ab65-43cd-21ef-09ab-87654321cdef --wrapping-keys key=$key_oregon key=$key_ohio
  • Includere molteplici parametri --wrapping-keys nello stesso comando. Utilizzate questa sintassi quando i valori degli attributi specificati non si applicano a tutte le chiavi di avvolgimento del comando.

    --wrapping-keys region=us-east-2 key=alias/test_key \ --wrapping-keys region=us-west-1 key=alias/test_key

L'attributo discovery con un valore di true consente alla CLI di AWS crittografia di utilizzare qualsiasi elemento AWS KMS key che ha crittografato il messaggio. Se si utilizzano più --wrapping-keys parametri nello stesso comando, l'utilizzo discovery=true di qualsiasi --wrapping-keys parametro sostituisce efficacemente i limiti dell'attributo chiave negli altri parametri. --wrapping-keys

Ad esempio, nel comando seguente, l'attributo key nel primo --wrapping-keys parametro limita la CLI di AWS crittografia a quanto specificato. AWS KMS key Tuttavia, l'attributo discovery nel secondo --wrapping-keys parametro consente alla CLI di AWS crittografia di utilizzare qualsiasi account AWS KMS key negli account specificati per decrittografare il messaggio.

aws-encryption-cli --decrypt \ --wrapping-keys key=arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab \ --wrapping-keys discovery=true \ discovery-partition=aws \ discovery-account=111122223333 \ discovery-account=444455556666

Come fornire l'input

L'operazione di crittografia nella CLI di AWS crittografia accetta dati in testo normale come input e restituisce un messaggio crittografato. L'operazione di decrittografia richiede un messaggio crittografato come input e restituisce un dati di testo non crittografato.

Il --input parametro (-i), che indica alla CLI di AWS crittografia dove trovare l'input, è richiesto in tutti i comandi di AWS Encryption CLI.

Puoi fornire l'input in uno dei seguenti modi:

  • Utilizza un file.

    --input myData.txt
  • Usa un modello di nome di file.

    --input testdir/*.xml
  • Utilizza una directory o un modello di nome di directory. Quando l'input è una directory, il --recursive parametro (-r, -R) è obbligatorio.

    --input testdir --recursive
  • Indirizza l'input al comando (stdin). Utilizza un valore di - per il parametro --input. (Il parametro --input è sempre obbligatorio).

    echo 'Hello World' | aws-encryption-cli --encrypt --input -

Come specificare la posizione dell'output

Il --output parametro indica alla CLI di AWS crittografia dove scrivere i risultati dell'operazione di crittografia o decrittografia. È richiesto in ogni comando di AWS Encryption CLI. L'AWSEncryption CLI crea un nuovo file di output per ogni file di input dell'operazione.

Se esiste già un file di output, per impostazione predefinita, AWS Encryption CLI stampa un avviso, quindi sovrascrive il file. Per evitare la sovrascrittura, utilizza il parametro --interactive che richiede la conferma prima di sovrascrivere oppure --no-overwrite, che salta l'input nel caso in cui l'output comporti una sovrascrittura. Per annullare l'avviso relativo alla sovrascrittura, utilizza --quiet. Per acquisire errori e avvisi dalla CLI di AWS crittografia, utilizza l'operatore di 2>&1 reindirizzamento per scriverli nel flusso di output.

Nota

I comandi che sovrascrivano i file di output cominciano con l'eliminare il file di output. Se il comando ha esito negativo, il file di output potrebbe essere già stato eliminato.

Puoi modificare la posizione dell'output in diversi modi.

  • Specifica un nome di file. Se specifichi un percorso per il file, tutte le directory nel percorso devono esistere prima di eseguire il comando.

    --output myEncryptedData.txt
  • Specifica una directory. La directory di output deve esistere prima di eseguire il comando.

    Se l'input contiene sottodirectory, il comando riproduce le sottodirectory nella directory specificata.

    --output Test

    Quando la posizione di output è una directory (senza nomi di file), l'AWSEncryption CLI crea i nomi dei file di output in base ai nomi dei file di input più un suffisso. Le operazioni di crittografia aggiungono .encrypted al nome del file di input, mentre le operazioni di decrittografia aggiungono .decrypted. Per modificare il suffisso, utilizza il parametro --suffix.

    Ad esempio, se esegui la crittografia file.txt, il comando di crittografia crea file.txt.encrypted. Se esegui la decrittografia file.txt.encrypted, il comando di decrittografia crea file.txt.encrypted.decrypted.

     

  • Scrivi nella riga di comando (stdout). Inserisci un valore di - per il parametro --output. È possibile utilizzare --output - per reindirizzare l'output a un altro comando o programma.

    --output -

Come utilizzare un contesto di crittografia

L'AWSEncryption CLI consente di fornire un contesto di crittografia nei comandi di crittografia e decrittografia. Non è necessario, ma è una best practice crittografica che ti consigliamo.

Un contesto di crittografia è rappresentato da tipi di dati autenticati aggiuntivi arbitrari e non segreti. Nella CLI di AWS crittografia, il contesto di crittografia è costituito da una raccolta di name=value coppie. È possibile utilizzare i contenuti nelle coppie, incluse le informazioni sui file, i dati che consentono di individuare le operazioni di crittografia nei log o i dati richiesti da concessioni e policy.

In un comando di crittografia

Il contesto di crittografia specificato in un comando di crittografia, insieme alle eventuali coppie aggiunte dal CMM, è vincolato a livello crittografico ai dati crittografati. Inoltre è incluso (in testo normale) nel messaggio crittografato che il comando restituisce. Se si utilizza unAWS KMS key, il contesto di crittografia potrebbe anche apparire in testo normale nei record e nei registri di controllo, ad esempio. AWS CloudTrail

L'esempio seguente mostra un contesto di crittografia con tre coppie name=value.

--encryption-context purpose=test dept=IT class=confidential

In un comando di decrittazione

In un comando di decrittografia, il contesto di crittografia consente di confermare che stai decrittografando il messaggio crittografato corretto.

Non devi fornire un contesto di crittografia in un comando di decrittografia, anche se, per crittografare, è stato usato un contesto di crittografia. Tuttavia, se lo fai, l'AWSEncryption CLI verifica che ogni elemento nel contesto di crittografia del comando decrypt corrisponda a un elemento nel contesto di crittografia del messaggio crittografato. Se non corrisponde alcun elemento, il comando di decrittografia ha esito negativo.

Ad esempio, il comando seguente decrittografa il messaggio crittografato solo se il relativo contesto di crittografia include dept=IT.

aws-encryption-cli --decrypt --encryption-context dept=IT ...

Un contesto di crittografia è una parte importante della tua strategia di sicurezza. Tuttavia, quando scegli un contesto di crittografia, ricordati che i suoi valori non sono segreti. Non includere dati riservati nel contesto di crittografia.

Per specificare un contesto di crittografia

  • In un comando di crittografia, utilizza il parametro --encryption-context con una o più coppie name=value. Utilizza uno spazio per separare ogni coppia.

    --encryption-context name=value [name=value] ...
  • In un comando di decrittografia, il valore del parametro --encryption-context può includere coppie name=value , elementi name (senza valori) o una combinazione di entrambi.

    --encryption-context name[=value] [name] [name=value] ...

Se name o value in una coppia name=value include spazi o caratteri speciali, racchiudi la coppia completa tra virgolette.

--encryption-context "department=software engineering" "Regione AWS=us-west-2"

Ad esempio, questo comando di crittografia include un contesto di crittografia con due coppie, purpose=test e dept=23.

aws-encryption-cli --encrypt --encryption-context purpose=test dept=23 ...

Questo comando di decrittografia avrebbe esito positivo. Il contesto di crittografia in ogni comando è un sottoinsieme del contesto di crittografia originale.

\\ Any one or both of the encryption context pairs aws-encryption-cli --decrypt --encryption-context dept=23 ... \\ Any one or both of the encryption context names aws-encryption-cli --decrypt --encryption-context purpose ... \\ Any combination of names and pairs aws-encryption-cli --decrypt --encryption-context dept purpose=test ...

Tuttavia, questi comandi di decrittografia non avrebbero esito positivo. Il contesto di crittografia nel messaggio crittografato non contiene gli elementi specificati.

aws-encryption-cli --decrypt --encryption-context dept=Finance ... aws-encryption-cli --decrypt --encryption-context scope ...

Come specificare una politica di impegno

Per impostare la politica di impegno per il comando, utilizzare il --commitment-policyparametro. Questo parametro è stato introdotto nella versione 1.8. x. È valido nei comandi di crittografia e decrittografia. La politica di impegno impostata è valida solo per il comando in cui viene visualizzata. Se non si imposta una politica di impegno per un comando, AWS Encryption CLI utilizza il valore predefinito.

Ad esempio, il seguente valore del parametro imposta la politica di impegno surequire-encrypt-allow-decrypt, che crittografa sempre con l'impegno della chiave, ma decrittografa un testo cifrato con o senza impegno di chiave.

--commitment-policy require-encrypt-allow-decrypt

Come archiviare i parametri in un file di configurazione

È possibile risparmiare tempo ed evitare errori di digitazione salvando i parametri e i valori di AWS Encryption CLI utilizzati di frequente nei file di configurazione.

Un file di configurazione è un file di testo che contiene parametri e valori per un comando CLI di AWS crittografia. Quando si fa riferimento a un file di configurazione in un comando AWS Encryption CLI, il riferimento viene sostituito dai parametri e dai valori nel file di configurazione. L'effetto è lo stesso se digitassi il contenuto del file nella riga di comando. Un file di configurazione può avere qualsiasi nome e può essere posizionato in qualsiasi directory a cui l'utente attuale può accedere.

Il seguente file di configurazione di esempio,key.conf, ne specifica due AWS KMS keys in regioni diverse.

--wrapping-keys key=arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab --wrapping-keys key=arn:aws:kms:us-east-2:111122223333:key/0987ab65-43cd-21ef-09ab-87654321cdef

Per utilizzare il file di configurazione in un comando, inserisci il prefisso con la chiocciola nel nome del file (@). In una PowerShell console, usa un carattere di marcia indietro per sfuggire al segno at ()`@.

Questo comando di esempio utilizza il file key.conf in un comando di crittografia.

Bash
$ aws-encryption-cli -e @key.conf -i hello.txt -o testdir
PowerShell
PS C:\> aws-encryption-cli -e `@key.conf -i .\Hello.txt -o .\TestDir

Regole dei file di configurazione

Le regole per l'utilizzo di file di configurazione sono le seguenti:

  • È possibile includere più parametri in ogni file di configurazione ed elencarli in qualsiasi ordine. Elenca ciascun parametro con i relativi valori (se presenti) su una riga separata.

  • Utilizza # per aggiungere un commento a tutta o a una parte di una riga.

  • È possibile includere riferimenti ad altri file di configurazione. Non usare un segno di spunta per sfuggire al @ cartello, anche dentro. PowerShell

  • Se utilizzi le virgolette in un file di configurazione, tale testo non può estendersi su più righe.

Ad esempio, questo è il contenuto di un file encrypt.conf di esempio.

# Archive Files --encrypt --output /archive/logs --recursive --interactive --encryption-context class=unclassified dept=IT --suffix # No suffix --metadata-output ~/metadata @caching.conf # Use limited caching

È inoltre possibile includere più file di configurazione in un comando. In questo esempio il comando utilizza entrambi i file di configurazione encrypt.conf e master-keys.conf.

Bash
$ aws-encryption-cli -i /usr/logs @encrypt.conf @master-keys.conf
PowerShell
PS C:\> aws-encryption-cli -i $home\Test\*.log `@encrypt.conf `@master-keys.conf

Prossimo: Prova gli esempi di AWS Encryption CLI