View a markdown version of this page

Crittografa le tabelle di ricerca nei CloudWatch registri utilizzando 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 le tabelle di ricerca nei CloudWatch registri utilizzando AWS Key Management Service

I dati della tabella di ricerca sono sempre crittografati nei registri. CloudWatch Per impostazione predefinita, CloudWatch Logs utilizza la crittografia lato server con Advanced Encryption Standard Galois/Counter Mode (AES-GCM) a 256 bit per crittografare i dati della tabella di ricerca inattivi. In alternativa, è possibile utilizzare AWS Key Management Service per questa crittografia. In tal caso, la crittografia viene eseguita utilizzando una chiave. AWS KMS L'utilizzo della crittografia AWS KMS è abilitato a livello di tabella di ricerca, associando una chiave KMS a una tabella di ricerca, quando si crea la tabella di ricerca o quando la si aggiorna.

Importante

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

Dopo aver associato una chiave KMS a una tabella di ricerca, tutti i dati memorizzati nella tabella di ricerca vengono crittografati utilizzando questa chiave. CloudWatch I registri decrittografano questi dati ogni volta che vengono richiesti. CloudWatch I log devono disporre delle autorizzazioni per la chiave KMS ogni volta che vengono richiesti dati crittografati.

Se successivamente si dissocia una chiave KMS da una tabella di ricerca, CloudWatch Logs crittografa i dati utilizzando il metodo di crittografia predefinito di Logs. CloudWatch Tuttavia, se la chiave viene disabilitata o eliminata prima di dissociarla, CloudWatch Logs non è in grado di leggere i dati crittografati con quella chiave.

Per informazioni generali su come CloudWatch Logs utilizza per AWS KMS crittografare i dati di registro, vedere. Crittografa i dati di registro in CloudWatch Logs utilizzando AWS Key Management Service

Come viene utilizzato CloudWatch Logs per le tabelle di ricerca AWS KMS

CloudWatch Logs utilizza la crittografia a AWS KMS busta per proteggere i dati della tabella di ricerca. Quando associ una chiave KMS a una tabella di ricerca, CloudWatch Logs invia una richiesta a. GenerateDataKey AWS KMS AWS KMS genera una chiave di crittografia dei dati (DEK) unica e restituisce sia una copia in testo semplice che una copia crittografata del DEK. CloudWatch Logs utilizza il DEK in testo semplice per crittografare i dati della tabella di ricerca, quindi archivia il DEK crittografato insieme ai dati crittografati. Il DEK in testo semplice non viene archiviato e viene eliminato dalla memoria dopo l'uso.

Quando CloudWatch Logs deve leggere i dati della tabella di ricerca, invia una Decrypt richiesta a con il DEK crittografato. AWS KMS AWS KMS decrittografa il DEK e restituisce il DEK in testo semplice a CloudWatch Logs, che quindi lo utilizza per decrittografare i dati della tabella di ricerca.

CloudWatch Logs utilizza il seguente contesto di crittografia quando effettua richieste a: AWS KMS

{ "aws:logs:arn": "arn:aws:logs:region:account-id:lookup-table:lookup-table-name" }

È possibile utilizzare questo contesto di crittografia nelle politiche IAM e nelle politiche AWS KMS chiave per controllare l'accesso alla chiave KMS. Per ulteriori informazioni, consulta AWS KMS chiavi e contesto di crittografia.

Autorizzazioni richieste

Per utilizzare AWS KMS la crittografia con le tabelle di ricerca, il principale IAM deve disporre delle seguenti AWS KMS autorizzazioni sulla chiave KMS:

  • kms:Decrypt

  • kms:GenerateDataKey

L'kms:Decryptautorizzazione è richiesta quando si richiama GetLookupTable una tabella di ricerca crittografata con una chiave KMS, in modo che CloudWatch Logs possa decrittografare i dati per conto dell'utente. L'kms:Decryptautorizzazione è richiesta anche sulla chiave (la chiave KMS utilizzata per crittografare la tabella di ricerca) quando si chiama StartQuery con una query che utilizza il comando su una tabella di ricerca crittografata. lookup L'kms:GenerateDataKeyautorizzazione è richiesta durante la chiamata CreateLookupTable o UpdateLookupTable con una chiave KMS, in modo che CloudWatch Logs possa generare una chiave di crittografia dei dati per crittografare i dati della tabella di ricerca.

Inoltre, il servizio CloudWatch Logs deve disporre dell'autorizzazione per utilizzare la chiave KMS. Puoi concedere queste autorizzazioni aggiungendo una dichiarazione politica alla politica chiave KMS, come descritto nella sezione seguente.

Passaggio 1: creare una chiave AWS KMS

Per creare una chiave KMS simmetrica, usa 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" ] } }

Registra la chiave ARN. Ne hai bisogno nei seguenti passaggi.

Fase 2: Impostazione delle autorizzazioni sulla chiave KMS

Per impostazione predefinita, tutte AWS KMS le chiavi sono private. Solo il proprietario della risorsa può utilizzarla per crittografare e decrittare i dati. È necessario concedere al servizio CloudWatch Logs l'autorizzazione principale per utilizzare la chiave e concedere anche al ruolo chiamante l'autorizzazione a utilizzare la chiave.

Innanzitutto, salva la politica predefinita per la tua chiave KMS 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

Apri il policy.json file in un editor di testo e aggiungi la seguente istruzione per concedere al servizio CloudWatch Logs l'autorizzazione principale all'uso della chiave. Questo esempio utilizza una Condition sezione che corrisponde al contesto di crittografia per limitare la chiave a una tabella di ricerca specifica.

{ "Effect": "Allow", "Principal": { "Service": "logs.region.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:aws:logs:arn": "arn:aws:logs:region:account-id:lookup-table:lookup-table-name", "aws:SourceAccount": "account-id", "aws:SourceArn": "arn:aws:logs:region:account-id:lookup-table:lookup-table-name" } } }

Quindi, aggiungi le autorizzazioni al ruolo che chiamerà i CloudWatch CreateLookupTable Logs o. UpdateLookupTable APIs CloudWatch Registra gli usi kms:ViaService per effettuare chiamate per AWS KMS conto del cliente. Per ulteriori informazioni, vedere kms:. ViaService

{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-id:role/role-name" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": [ "logs.region.amazonaws.com" ] } } }

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

Fase 3: Associare una chiave KMS a una tabella di ricerca

Puoi associare una chiave KMS a una tabella di ricerca quando la crei utilizzando l'CreateLookupTableAPI o aggiornare una tabella di ricerca esistente utilizzando l'API. UpdateLookupTable Entrambi APIs fanno parte di. AWSLogs ConfigService

Per associare la chiave KMS a una tabella di ricerca al momento della creazione

Usa l'CreateLookupTableAPI e specifica il kmsKeyArn parametro con l'ARN della tua chiave KMS:

aws logs create-lookup-table \ --lookup-table-name my-lookup-table \ --kms-key-arn "arn:aws:kms:region:account-id:key/key-id"
Per associare la chiave KMS a una tabella di ricerca esistente

Usa l'UpdateLookupTableAPI e specifica il kmsKeyArn parametro con l'ARN della tua chiave KMS:

aws logs update-lookup-table \ --lookup-table-name my-lookup-table \ --kms-key-arn "arn:aws:kms:region:account-id:key/key-id"

Considerazioni

  • Dopo aver associato o dissociato una chiave KMS da una tabella di ricerca, possono essere necessari fino a cinque minuti prima che l'operazione abbia effetto.

  • Se si revoca l'accesso CloudWatch dei log a una chiave associata o si elimina una chiave KMS associata, i dati crittografati della tabella di ricerca in Logs non possono più essere recuperati. CloudWatch

  • Per eseguire i passaggi descritti in questo argomento, è necessario disporre delle seguenti autorizzazioni:, kms:CreateKey kms:GetKeyPolicykms:PutKeyPolicy, e delle autorizzazioni di registro appropriate per chiamare o. CloudWatch CreateLookupTable UpdateLookupTable