View a markdown version of this page

Crittografa i risultati delle query con AWS Key Management Service - CloudWatch Registri Amazon

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

Crittografa i risultati delle query con AWS Key Management Service

Per impostazione predefinita, CloudWatch Logs crittografa i risultati archiviati delle query CloudWatch Logs Insights utilizzando il metodo di crittografia predefinito di CloudWatch Logs sul lato server. Puoi invece scegliere di utilizzare una AWS KMS chiave per crittografare questi risultati. Se associ una AWS KMS chiave ai risultati della crittografia, CloudWatch Logs utilizza tale chiave per crittografare i risultati archiviati di tutte le query nell'account.

Se successivamente dissocii una chiave dai risultati della query, CloudWatch Logs torna al metodo di crittografia predefinito per le query successive. Tuttavia, le query eseguite mentre la chiave era associata sono ancora crittografate con quella chiave. CloudWatch I log possono comunque restituire quei risultati dopo la dissociazione della chiave KMS, perché CloudWatch i log possono continuare a fare riferimento alla chiave. Tuttavia, se la chiave viene successivamente disattivata, CloudWatch Logs non è in grado di leggere i risultati della query crittografati con quella chiave.

Importante

CloudWatch Logs supporta solo chiavi KMS simmetriche. Non utilizzare una chiave asimmetrica per crittografare i risultati della query. Per ulteriori informazioni, consulta la sezione relativa all'uso di chiavi simmetriche e asimmetriche.

Limits

  • Per eseguire la procedura seguente, devi avere le seguenti autorizzazioni: kms:CreateKey, kms:GetKeyPolicy e kms:PutKeyPolicy.

  • Dopo aver associato o dissociato una chiave dai risultati della query, possono essere necessari fino a cinque minuti per rendere effettiva l'operazione.

  • Se CloudWatch revochi l'accesso di Logs a una chiave associata o elimini una chiave KMS associata, i tuoi dati crittografati in CloudWatch Logs non possono più essere recuperati.

  • Non puoi usare la CloudWatch console per associare una chiave, devi usare l' AWS CLI API o Logs. CloudWatch

Passaggio 1: creare un AWS KMS key

Per creare una chiave KMS, utilizza il seguente comando create-key:

aws kms create-key

L'output contiene l'ID chiave e l'Amazon Resource Name (ARN) della chiave. Di seguito è riportato un output di esempio:

{ "KeyMetadata": { "Origin": "AWS_KMS", "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "Description": "", "KeyManager": "CUSTOMER", "Enabled": true, "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "Enabled", "CreationDate": 1478910250.94, "Arn": "arn:aws:kms:us-west-2:123456789012:key/6f815f63-e628-448c-8251-e40cb0d29f59", "AWSAccountId": "123456789012", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ] } }

Fase 2: Impostazione delle autorizzazioni sulla chiave KMS

Per impostazione predefinita, tutte le chiavi KMS sono private. Solo il proprietario della risorsa può utilizzarla per crittografare e decrittare i dati. Tuttavia, il proprietario della risorsa può concedere ad altri utenti e risorse le autorizzazioni per accedere alla chiave. Con questo passaggio, concedi al servizio CloudWatch Logs il permesso principale di utilizzare la chiave. L'entità del servizio deve trovarsi nella stessa AWS regione in cui è archiviata la chiave.

Come best practice, ti consigliamo di limitare l'uso della chiave solo agli AWS account specificati.

In primo luogo, salva la policy predefinita per la chiave KMS come policy.json utilizzando il seguente comando get-key-policy:

aws kms get-key-policy --key-id key-id --policy-name default --output text > ./policy.json

Aprire il file policy.json in un editor di testo e aggiungere la sezione in grassetto da una delle seguenti istruzioni. Separare l'istruzione esistente dalla nuova istruzione con una virgola. Queste dichiarazioni utilizzano Condition sezioni per migliorare la sicurezza della AWS KMS chiave. Per ulteriori informazioni, consulta AWS KMS chiavi e contesto di crittografia.

La Condition sezione in questo esempio limita l'uso della AWS KMS chiave ai risultati della query CloudWatch Logs Insights nell'account specificato.

JSON
{ "Version":"2012-10-17", "Id": "key-default-1", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": "kms:*", "Resource": "*" }, { "Effect": "Allow", "Principal": { "Service": "logs.region.amazonaws.com" }, "Action": [ "kms:Encrypt*", "kms:Decrypt*", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:Describe*" ], "Resource": "*", "Condition": { "ArnEquals": { "aws:SourceArn": "arn:aws:logs:us-east-1:111122223333:query-result:*" }, "StringEquals": { "aws:SourceAccount": "111122223333" } } } ] }

Infine, aggiungi la policy aggiornata utilizzando il comando put-key-policy seguente:

aws kms put-key-policy --key-id key-id --policy-name default --policy file://policy.json

Fase 3: associazione di una chiave KMS ai risultati della query

Associazione della chiave KMS ai risultati della query nell'account

Utilizza il comando disassociate-kms-key come riportato di seguito:

aws logs associate-kms-key --resource-identifier "arn:aws:logs:region:account-id:query-result:*" --kms-key-id "key-arn"

Fase 4: Dissociazione di una chiave dai risultati della query nell'account

Per dissociare la chiave KMS associata ai risultati della query, utilizza il seguente comando disassociate-kms-key:

aws logs disassociate-kms-key --resource-identifier "arn:aws:logs:region:account-id:query-result:*"