Crittografa i risultati delle interrogazioni 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 interrogazioni con AWS Key Management Service

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

Se successivamente si dissocia 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 che la KMS chiave è stata dissociata, perché CloudWatch i log possono continuare a fare riferimento alla chiave. Tuttavia, se la chiave viene successivamente disabilitata, CloudWatch Logs non è in grado di leggere i risultati della query che sono stati 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.

Limiti

  • 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 si revoca l'accesso CloudWatch dei log a una chiave associata o si elimina una chiave associata, i dati crittografati in CloudWatch Logs non possono più essere recuperati. KMS

  • Non è possibile utilizzare la CloudWatch console per associare una chiave, è necessario utilizzare o Logs. AWS CLI CloudWatch API

Fase 1: Creare un AWS KMS key

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

aws kms create-key

L'output contiene l'ID della chiave e 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" ] } }

Passaggio 2: imposta le autorizzazioni sulla chiave KMS

Per impostazione predefinita, tutte le KMS chiavi 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, si CloudWatch concede al servizio Logs l'autorizzazione principale a utilizzare la chiave. L'entità del servizio deve trovarsi nella stessa AWS regione in cui è memorizzata la chiave.

Come procedura ottimale, si consiglia di limitare l'uso della chiave solo agli AWS account specificati.

Innanzitutto, salvate la politica predefinita per la KMS chiave policy.json utilizzando il seguente get-key-policycomando:

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 istruzioni 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 di questo esempio limita l'uso della AWS KMS chiave ai risultati della query CloudWatch Logs Insights nell'account specificato.

{ "Version": "2012-10-17", "Id": "key-default-1", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account_ID: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:region:account_ID:query-result:*" }, "StringEquals": { "aws:SourceAccount": "Your_account_ID" } } } ] }

Infine, aggiungi la politica aggiornata utilizzando il seguente put-key-policycomando:

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

Passaggio 3: Associa una KMS chiave ai risultati della query

Per associare la KMS chiave ai risultati della query nell'account

Utilizza il comando disassociate-kms-key come segue:

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 KMS chiave associata ai risultati della query, utilizzate il seguente disassociate-kms-keycomando:

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