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

Configurare le politiche AWS KMS chiave per CloudTrail

È possibile crearne uno AWS KMS key in tre modi:

  • La CloudTrail console

  • La console AWS di gestione

  • La AWS CLI

Nota

Se crei una KMS chiave nella CloudTrail console, CloudTrail aggiunge automaticamente la politica delle KMS chiavi richiesta. Non devi aggiungere manualmente le istruzioni della policy. Per informazioni, consulta Politica KMS chiave predefinita creata nella CloudTrail console.

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

Consulta le seguenti risorse:

Sezioni politiche KMS chiave obbligatorie da utilizzare con CloudTrail

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

Elementi politici KMS chiave obbligatori per i sentieri

  1. Abilita le autorizzazioni di crittografia dei CloudTrail log. Per informazioni, consulta Concessione delle autorizzazioni di crittografia.

  2. Abilita le autorizzazioni di CloudTrail decrittografia dei log. Per informazioni, consulta Concessione delle autorizzazioni di decrittografia. Se utilizzi un bucket S3 esistente con una chiave S3 Bucket, sono necessarie kms:Decrypt le autorizzazioni per creare o aggiornare un percorso con la crittografia abilitata. SSE KMS

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

Come procedura consigliata per la sicurezza, aggiungi una chiave di aws:SourceArn condizione alla policy KMS chiave. La chiave di condizione IAM globale aws:SourceArn aiuta a garantire che la KMS chiave venga CloudTrail utilizzata solo per uno o più sentieri specifici. Il valore di aws:SourceArn è sempre il percorso ARN (o l'array di percorsiARNs) che utilizza la KMS chiave. Assicurati di aggiungere la chiave di aws:SourceArn condizione alle politiche KMS chiave 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 tua politica KMS chiave, non modificare le sezioni esistenti nella politica.

Se la crittografia è abilitata in una traccia e la KMS chiave è disabilitata o la politica della KMS chiave non è configurata correttamente CloudTrail, CloudTrail non è possibile fornire i log.

Elementi politici KMS chiave richiesti per gli archivi di dati sugli eventi

  1. Abilita le autorizzazioni di crittografia dei CloudTrail log. Per informazioni, consulta Concessione delle autorizzazioni di crittografia.

  2. Abilita le autorizzazioni di CloudTrail decrittografia dei log. Per informazioni, consulta Concessione delle autorizzazioni di decrittografia.

  3. Concedi a utenti e ruoli l'autorizzazione a crittografare e decrittografare i dati del data store degli eventi con la chiave. KMS

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

  4. Abilita CloudTrail per descrivere le proprietà KMS chiave. Per informazioni, consulta Abilita CloudTrail per descrivere le proprietà KMS chiave.

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

Importante

Quando aggiungete le nuove sezioni alla politica KMS chiave, non modificate le sezioni esistenti nella politica.

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

Concessione delle autorizzazioni di crittografia

Esempio Consenti CloudTrail di crittografare i log per conto di account specifici

CloudTrail necessita dell'autorizzazione esplicita per utilizzare la KMS chiave per crittografare i log per conto di account specifici. Per specificare un account, aggiungi la seguente dichiarazione obbligatoria alla tua politica KMS chiave e sostituisci account-id, regione trailName con i valori appropriati per la tua configurazione. È possibile aggiungere un account aggiuntivo IDs alla EncryptionContext sezione per consentire a tali account di utilizzare la KMS chiave CloudTrail per crittografare i file di registro.

Come procedura consigliata in materia di sicurezza, aggiungi una chiave di aws:SourceArn condizione alla politica KMS chiave per un trail. La chiave di condizione IAM globale aws:SourceArn aiuta a garantire che la KMS chiave venga CloudTrail utilizzata solo per uno o più sentieri specifici.

{ "Sid": "Allow CloudTrail to encrypt logs", "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/*" } } }

Una policy per una KMS chiave utilizzata per crittografare i log del data store degli eventi di CloudTrail Lake non può utilizzare le chiavi aws:SourceArn condizionali o. aws:SourceAccount Di seguito è riportato un esempio di politica KMS chiave per un archivio dati di eventi.

{ "Sid": "Allow CloudTrail to encrypt event data store", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*" }

L'esempio seguente di dichiarazione politica illustra come un altro account può utilizzare la KMS chiave dell'utente per crittografare i log CloudTrail .

Scenario
  • La tua KMS chiave è nell'account 111111111111.

  • Sia tu che l'account 222222222222 crittograferà i log.

Nella politica, aggiungi uno o più account che crittografano con la tua chiave a. CloudTrail EncryptionContext Ciò limita CloudTrail l'utilizzo della chiave per crittografare i log solo per gli account specificati. Quando si fornisce la radice dell'account 222222222222 l'autorizzazione a crittografare i log, 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 politiche associate a tali utenti. IAM

Come procedura consigliata in materia di sicurezza, aggiungi una chiave di aws:SourceArn condizione alla politica KMS chiave. La chiave di condizione IAM globale aws:SourceArn aiuta a garantire che la KMS chiave venga CloudTrail utilizzata solo per i percorsi specificati. Questa condizione non è supportata nelle politiche KMS chiave per gli archivi di dati sugli eventi.

KMSdichiarazione politica chiave:

{ "Sid": "Enable CloudTrail encrypt permissions", "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 KMS chiave da utilizzare con CloudTrail, consulta Modifica di una politica chiave nella Guida per gli AWS Key Management Service sviluppatori.

Concessione delle autorizzazioni di decrittografia

Prima di aggiungere la KMS chiave 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 S3 Bucket Key, sono necessarie kms:Decrypt le autorizzazioni per creare o aggiornare un trail con la crittografia abilitata. SSE KMS

Abilita le autorizzazioni di decrittografia dei log CloudTrail

Agli utenti della tua chiave devono essere concesse autorizzazioni esplicite per leggere i file di registro crittografati. CloudTrail Per consentire agli utenti di leggere i log crittografati, aggiungete la seguente dichiarazione obbligatoria alla vostra politica di KMS chiave, modificando la Principal sezione per aggiungere una riga per ogni principale che desiderate poter decrittografare utilizzando la vostra chiave. KMS

{ "Sid": "Enable CloudTrail log decrypt permissions", "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": "Allow CloudTrail to decrypt a trail", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "kms:Decrypt", "Resource": "*" }

Una politica di decrittografia per una KMS chiave 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": "Enable user key permissions for event data stores" "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 i registri del Data Store degli eventi.

{ "Sid": "Allow CloudTrail to decrypt an event data store", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "kms:Decrypt", "Resource": "*" }

Consenti agli utenti del tuo account di decrittografare i trail log con la tua 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 tua KMS chiave, il bucket S3 e IAM l'utente Bob sono inclusi. 111111111111

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

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

KMSdichiarazione politica chiave:

{ "Sid": "Enable CloudTrail log decrypt permissions", "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

    Consenti agli utenti di altri account di decrittografare i trail log con la tua chiave KMS

    Puoi consentire agli utenti di altri account di utilizzare la tua KMS chiave per decrittografare i trail log, ma non i log degli Event Data Store. 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 informativa illustra come consentire a un IAM utente o a un ruolo in un altro account di utilizzare la chiave per leggere i log crittografati da un bucket S3 nell'altro account.

    Scenario
    • La tua KMS chiave è nell'account. 111111111111

    • L'IAMutente Alice e il bucket S3 sono inclusi. 222222222222

    In questo caso, date CloudTrail il permesso di decriptare i log in base all'account 222222222222 e date ad Alice il permesso di IAM usare la vostra chiaveKeyA, che è contenuta nell'account. 111111111111

    KMSdichiarazione politica chiave:

    { "Sid": "Enable encrypted CloudTrail log read access", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::222222222222:root" ] }, "Action": "kms:Decrypt", "Resource": "arn:aws:kms:region:account-id:key/key-id", "Condition": { "Null": { "kms:EncryptionContext:aws:cloudtrail:arn": "false" } } }

    Dichiarazione sulla politica IAM per gli utenti di Alice:

    { "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 tua KMS chiave e il bucket S3 sono inclusi. 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 IAM ruolo CloudTrailReadRolenel tuo account, quindi concedi all'altro account l'autorizzazione ad assumere quel ruolo.

    KMSdichiarazione politica chiave:

    { "Sid": "Enable encrypted CloudTrail log read access", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::11111111111: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 delle entità fiduciarie:

    { "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 KMS chiave da utilizzare con CloudTrail, consulta Modifica di una politica chiave nella Guida per gli AWS Key Management Service sviluppatori.

    Abilita CloudTrail per descrivere le proprietà KMS chiave

    CloudTrail richiede la capacità di descrivere le proprietà della KMS chiave. Per abilitare questa funzionalità, aggiungi la seguente dichiarazione obbligatoria così com'è alla tua politica KMS chiave. Questa dichiarazione non concede CloudTrail alcuna autorizzazione oltre alle altre autorizzazioni specificate.

    Come procedura consigliata in materia di sicurezza, aggiungete una chiave di aws:SourceArn condizione alla policy KMS chiave. La chiave di condizione IAM globale aws:SourceArn aiuta a garantire che la KMS chiave venga CloudTrail utilizzata solo per uno o più sentieri specifici.

    { "Sid": "Allow CloudTrail access", "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 ulteriori informazioni sulla modifica delle politiche KMS chiave, consulta Modifica di una politica chiave nella Guida per gli AWS Key Management Service sviluppatori.