Configura le politiche AWS KMS chiave per CloudTrail - AWS CloudTrail

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

Configura le politiche AWS KMS chiave per CloudTrail

Puoi crearne uno AWS KMS key in tre modi:

  • La CloudTrail console

  • La console AWS di gestione

  • La AWS CLI

Nota

Se crei una chiave KMS nella CloudTrail console, CloudTrail aggiunge la politica della chiave KMS richiesta per te. Non devi aggiungere manualmente le istruzioni della policy. Consultare Policy chiave KMS predefinita creata nella console CloudTrail .

Se crei una chiave KMS in AWS Management Console o il AWS CLI, devi aggiungere sezioni di policy alla chiave in modo da poterla utilizzare con. CloudTrail La politica deve consentire di utilizzare la chiave CloudTrail per crittografare i file di registro, i file digest e gli archivi dati degli eventi e consentire agli utenti specificati di leggere i file di registro e i file digest in formato non crittografato.

Consulta le seguenti risorse:

Sezioni chiave obbligatorie della policy KMS da utilizzare con CloudTrail

Se hai creato una chiave KMS con la Console di AWS gestione o la AWS CLI, devi almeno aggiungere le seguenti istruzioni alla politica delle chiavi KMS per farla funzionare. CloudTrail

Elementi della policy della chiave KMS richiesti per i trail

  1. Concedi le autorizzazioni per crittografare i file di CloudTrail log e digest. Per ulteriori informazioni, consulta Concessione delle autorizzazioni di crittografia per i percorsi.

  2. Concedi le autorizzazioni per CloudTrail decrittografare i file di log e digest. Per ulteriori informazioni, consulta Concessione delle autorizzazioni di decrittografia per i sentieri. Se utilizzi un bucket S3 esistente con una chiave del bucket S3, sono necessarie le autorizzazioni kms:Decrypt per creare o aggiornare un percorso con la crittografia SSE-KMS abilitata.

  3. Abilita CloudTrail per descrivere le proprietà della chiave KMS. Per ulteriori informazioni, consulta Abilita CloudTrail per descrivere le proprietà della chiave KMS.

Come best practice per la sicurezza, aggiungi una chiave di condizione aws:SourceArn per la policy della chiave KMS. La chiave di condizione globale IAM aws:SourceArn aiuta a garantire che venga CloudTrail utilizzata la chiave KMS solo per uno o più percorsi specifici. Il valore di aws:SourceArn è sempre l'ARN del percorso (o l'array di percorsi ARNs) che utilizza la chiave KMS. Assicurarsi di aggiungere la chiave di condizione aws:SourceArn per le politiche chiave KMS per i percorsi esistenti.

Anche la chiave di condizione aws:SourceAccount è supportata, ma non consigliata. Il valore di aws:SourceAccount è l'ID account del proprietario del percorso o, per i percorsi organizzativi, l'ID dell'account di gestione.

Importante

Quando aggiungi le nuove sezioni alla policy della chiave KMS, non modificare le sezioni esistenti nella policy.

Se la crittografia è abilitata su un percorso e la chiave KMS è disabilitata o la politica della chiave KMS non è configurata correttamente CloudTrail, CloudTrail non è possibile fornire i log.

Elementi della policy della chiave KMS richiesti per i datastore di eventi

  1. Concedi le autorizzazioni per crittografare un CloudTrail archivio dati di eventi Lake. Per ulteriori informazioni, consulta Concessione delle autorizzazioni di crittografia per gli archivi di dati di eventi.

  2. Concedi le autorizzazioni per decrittografare un CloudTrail data store di eventi Lake. Per ulteriori informazioni, consulta Concessione delle autorizzazioni di decrittografia per gli archivi di dati di eventi.

    Quando crei un datastore di eventi e lo crittografi con una chiave KMS o esegui query su un datastore di eventi che stai crittografando con una chiave KMS, dovresti avere accesso in scrittura alla chiave KMS. La policy della chiave KMS deve avere accesso a CloudTrail e la chiave KMS deve essere gestibile dagli utenti che eseguono operazioni (come le query) sul data store degli eventi.

  3. Abilita CloudTrail per descrivere le proprietà della chiave KMS. Per ulteriori informazioni, consulta Abilita CloudTrail per descrivere le proprietà della chiave KMS.

Le chiavi di condizione aws:SourceArn e aws:SourceAccount non sono supportate nelle policy della chiave KMS per gli archivi di dati di eventi.

Importante

Quando aggiungi le nuove sezioni alla policy della chiave KMS, non modificare le sezioni esistenti nella policy.

Se la crittografia è abilitata su un archivio dati di eventi e la chiave KMS è disabilitata o eliminata o la politica della chiave KMS non è configurata correttamente CloudTrail, CloudTrail non è possibile inviare eventi al data store degli eventi.

Concessione delle autorizzazioni di crittografia per i percorsi

Esempio Consentono di CloudTrail crittografare i file di registro e i file digest per conto di account specifici

CloudTrail richiede l'autorizzazione esplicita per utilizzare la chiave KMS per crittografare i file di registro e i file digest per conto di account specifici. Per specificare un account, aggiungi la seguente dichiarazione obbligatoria alla politica delle chiavi KMS e account-id sostituiscila trailName con i valori appropriati per la tua configurazione. region Puoi aggiungere un altro account IDs alla EncryptionContext sezione per consentire a tali account di utilizzare la tua chiave KMS CloudTrail per crittografare i file di registro e i file digest.

Come best practice per la sicurezza, aggiungi una chiave di condizione aws:SourceArn per la policy della chiave KMS per un trail. La chiave di condizione globale IAM aws:SourceArn aiuta a garantire che la chiave KMS venga CloudTrail utilizzata solo per uno o più percorsi specifici.

{ "Sid": "AllowCloudTrailEncryptLogs", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "kms:GenerateDataKey*", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:cloudtrail:region:account-id:trail/trail-name" }, "StringLike": { "kms:EncryptionContext:aws:cloudtrail:arn": "arn:aws:cloudtrail:*:account-id:trail/*" } } }

L'esempio seguente di dichiarazione politica illustra come un altro account può utilizzare la chiave KMS per crittografare i file di CloudTrail registro e i file digest.

Scenario
  • La chiave KMS si trova nell'account 111111111111.

  • Sia tu che l'account crittograferete i log222222222222.

Nella politica, aggiungi uno o più account che vengono crittografati con la tua chiave a. CloudTrail EncryptionContext Ciò limita CloudTrail l'utilizzo della chiave per crittografare i file di registro e i file digest solo per gli account specificati. Quando concedi alla radice dell'account l'222222222222autorizzazione a crittografare i file di registro e i file digest, delega l'autorizzazione all'amministratore dell'account di crittografare le autorizzazioni necessarie agli altri utenti dell'account. L'amministratore dell'account esegue questa operazione modificando le policy associate a quegli utenti IAM.

Come best practice per la sicurezza, aggiungi una chiave di condizione aws:SourceArn per la policy della chiave KMS. La chiave di condizione globale IAM aws:SourceArn aiuta a garantire che la chiave KMS venga CloudTrail utilizzata solo per i percorsi specificati. Questa condizione non è supportata nelle policy della chiave KMS per i datastore di eventi.

Dichiarazione della policy della chiave KMS:

{ "Sid": "EnableCloudTrailEncryptPermissions", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "kms:GenerateDataKey*", "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:cloudtrail:arn": [ "arn:aws:cloudtrail:*:111111111111:trail/*", "arn:aws:cloudtrail:*:222222222222:trail/*" ] }, "StringEquals": { "aws:SourceArn": "arn:aws:cloudtrail:region:account-id:trail/trail-name" } } }

Per ulteriori informazioni sulla modifica di una politica chiave KMS da utilizzare con CloudTrail, consulta Modifica di una politica chiave nella Guida per gli AWS Key Management Service sviluppatori.

Concessione delle autorizzazioni di crittografia per gli archivi di dati di eventi

Una politica per una chiave KMS utilizzata per crittografare un archivio dati di eventi CloudTrail Lake non può utilizzare le chiavi di condizione o. aws:SourceArn aws:SourceAccount Di seguito è riportato un esempio di una policy della chiave KMS.

{ "Sid": "AllowCloudTrailEncryptEds", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*" }

Concessione delle autorizzazioni di decrittografia per i sentieri

Prima di aggiungere la chiave KMS alla CloudTrail configurazione, è importante concedere le autorizzazioni di decrittografia a tutti gli utenti che le richiedono. Gli utenti che dispongono delle autorizzazioni di crittografia ma non di quelle di decrittografia non saranno in grado di leggere i log crittografati. Se utilizzi un bucket S3 esistente con una chiave del bucket S3, sono necessarie le autorizzazioni kms:Decrypt per creare o aggiornare un percorso con la crittografia SSE-KMS abilitata.

Abilita le autorizzazioni di decrittografia dei log CloudTrail

Agli utenti della chiave devono essere assegnate autorizzazioni esplicite per leggere i file di log crittografati da CloudTrail . Per consentire agli utenti di leggere i log crittografati, aggiungi la seguente istruzione obbligatoria alla policy della chiave KMS, modificando la sezione Principal con l'aggiunta di una riga per ogni principale a cui vuoi consentire di decrittografare mediante la chiave KMS.

{ "Sid": "EnableCloudTrailLogDecryptPermissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-id:user/username" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "Null": { "kms:EncryptionContext:aws:cloudtrail:arn": "false" } } }

Di seguito è riportato un esempio di politica necessaria per consentire al responsabile del CloudTrail servizio di decrittografare i log di percorso.

{ "Sid": "AllowCloudTrailDecryptTrail", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "kms:Decrypt", "Resource": "*" }

Consentire agli utenti nell'account a decrittografare i log di trail mediante la chiave KMS

Esempio

Questa istruzione della policy illustra come consentire a un utente o ruolo IAM nel tuo account di utilizzare la chiave per leggere i log crittografati nel relativo bucket S3.

Esempio Scenario
  • La chiave KMS, il bucket S3 e l'utente IAM Bob si trovano nell'account 111111111111.

  • Concedi all'utente IAM Bob il permesso di decrittografare i CloudTrail log nel bucket S3.

Nella policy chiave, abiliti le autorizzazioni di decrittografia dei CloudTrail log per l'utente IAM Bob.

Dichiarazione della policy della chiave KMS:

{ "Sid": "EnableCloudTrailLogDecryptPermissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111111111111:user/Bob" }, "Action": "kms:Decrypt", "Resource": "arn:aws:kms:region:account-id:key/key-id", "Condition": { "Null": { "kms:EncryptionContext:aws:cloudtrail:arn": "false" } } }
Argomenti

    Consentire agli utenti in altri account a decrittografare i log di trail mediante la chiave KMS

    Puoi consentire agli utenti di altri account di utilizzare la tua chiave KMS per decrittografare i trail log. Le modifiche da apportare alla policy della chiave variano a seconda che il bucket S3 si trovi nel tuo account o in un altro account.

    Autorizzazione degli utenti di un bucket in un account diverso a decrittografare i log

    Esempio

    Questa istruzione della policy illustra come consentire a un utente o ruolo IAM in un altro account di utilizzare la chiave per leggere i log crittografati da un bucket S3 in un altro account.

    Scenario
    • La chiave KMS si trova nell'account 111111111111.

    • L'utente IAM Alice e il bucket S3 si trovano nell'account 222222222222.

    In questo caso, CloudTrail autorizzi a decrittografare i log relativi all'account e autorizzi la politica utente IAM di Alice a usare la tua chiave222222222222, che è nell'account. KeyA 111111111111

    Dichiarazione della policy della chiave KMS:

    { "Sid": "EnableEncryptedCloudTrailLogReadAccess", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::222222222222:root" ] }, "Action": "kms:Decrypt", "Resource": "arn:aws:kms:region:111111111111:key/key-id", "Condition": { "Null": { "kms:EncryptionContext:aws:cloudtrail:arn": "false" } } }

    Istruzione della policy dell'utente IAM Alice:

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:us-west-2:111111111111:key/KeyA" } ] }

    Consentire agli utenti in un account diverso di decrittare i log di trail dal bucket

    Esempio

    Questa policy illustra come un altro account può utilizzare la tua chiave per leggere i log crittografati nel tuo bucket S3.

    Esempio Scenario
    • La chiave KMS e il bucket S3 si trovano nell'account 111111111111.

    • L'utente che leggerà i log dal bucket si trova nell'account 222222222222.

    Per abilitare questo scenario, abiliti le autorizzazioni di decrittografia per il ruolo IAM CloudTrailReadRolenel tuo account, quindi concedi all'altro account il permesso di assumere quel ruolo.

    Dichiarazione della policy della chiave KMS:

    { "Sid": "EnableEncryptedCloudTrailLogReadAccess", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111111111111:role/CloudTrailReadRole" ] }, "Action": "kms:Decrypt", "Resource": "arn:aws:kms:region:account-id:key/key-id", "Condition": { "Null": { "kms:EncryptionContext:aws:cloudtrail:arn": "false" } } }

    CloudTrailReadRoledichiarazione sulla politica dell'entità fiduciaria:

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Sid": "Allow CloudTrail access", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::222222222222:root" }, "Action": "sts:AssumeRole" } ] }

    Per informazioni sulla modifica di una politica chiave KMS da utilizzare con CloudTrail, consulta Modifica di una politica chiave nella Guida per gli AWS Key Management Service sviluppatori.

    Concessione delle autorizzazioni di decrittografia per gli archivi di dati di eventi

    Una politica di decrittografia per una chiave KMS utilizzata con un archivio dati di eventi CloudTrail Lake è simile alla seguente. L'utente o il ruolo ARNs specificato come valori per Principal necessita delle autorizzazioni di decrittografia per creare o aggiornare archivi di dati di eventi, eseguire query o ottenere risultati di query.

    { "Sid": "EnableUserKeyPermissionsEds" "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-id:user/username" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*" }

    Di seguito è riportato un esempio di politica necessaria per consentire al responsabile del CloudTrail servizio di decrittografare un archivio dati di eventi.

    { "Sid": "AllowCloudTrailDecryptEds", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "kms:Decrypt", "Resource": "*" }

    Abilita CloudTrail per descrivere le proprietà della chiave KMS

    CloudTrail richiede la capacità di descrivere le proprietà della chiave KMS. Per abilitare questa funzionalità, aggiungi la seguente istruzione obbligatoria, senza alcuna modifica, alla policy della chiave KMS. Questa istruzione non concede CloudTrail alcuna autorizzazione oltre alle altre autorizzazioni specificate.

    Come best practice per la sicurezza, aggiungi una chiave di condizione aws:SourceArn per la policy della chiave KMS. La chiave di condizione globale IAM aws:SourceArn aiuta a garantire che la chiave KMS venga CloudTrail utilizzata solo per uno o più percorsi specifici.

    { "Sid": "AllowCloudTrailAccess", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "kms:DescribeKey", "Resource": "arn:aws:kms:region:account-id:key/key-id", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:cloudtrail:region:account-id:trail/trail-name" } } }

    Per informazioni sulla modifica delle policy della chiave KMS, consulta Editing a Key Policy nella Guida per gli sviluppatori di AWS Key Management Service .