Configure as AWS KMS principais políticas para CloudTrail - AWS CloudTrail

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Configure as AWS KMS principais políticas para CloudTrail

Você pode criar um AWS KMS key de três maneiras:

  • O CloudTrail console

  • O console AWS de gerenciamento

  • O AWS CLI

nota

Se você criar uma KMS chave no CloudTrail console, CloudTrail adicionará a política de KMS chaves necessária para você. Você não precisa adicionar manualmente as declarações de política. Consulte Política de KMS chave padrão criada no CloudTrail console.

Se você criar uma KMS chave no AWS Gerenciamento ou no AWS CLI, deverá adicionar seções de política à chave para poder usá-la com CloudTrail. A política deve permitir CloudTrail o uso da chave para criptografar seus arquivos de log e armazenamentos de dados de eventos e permitir que os usuários que você especificar leiam arquivos de log em formato não criptografado.

Consulte os recursos a seguir:

KMSPrincipais seções de política necessárias para uso com CloudTrail

Se você criou uma KMS chave com o console AWS de gerenciamento ou com o AWS CLI, deverá, no mínimo, adicionar as seguintes instruções à sua política de KMS chaves para que ela funcione CloudTrail.

KMSPrincipais elementos políticos necessários para trilhas

  1. Ative as permissões de criptografia de CloudTrail registros. Consulte Conceder permissões de criptografia.

  2. Ative as permissões de descriptografia de CloudTrail registros. Consulte Conceder permissões de descriptografia. Se você estiver usando um bucket do S3 existente com uma chave do bucket do S3, serão necessárias kms:Decrypt permissões para criar ou atualizar uma trilha com SSE - KMS criptografia ativada.

  3. Habilite CloudTrail a descrição KMS das principais propriedades. Consulte CloudTrail Habilitar a descrição KMS das principais propriedades.

Como prática recomendada de segurança, adicione uma chave de aws:SourceArn condição à política de KMS chaves. A chave de condição IAM global aws:SourceArn ajuda a garantir que a KMS chave seja CloudTrail usada somente para uma trilha ou trilhas específicas. O valor de aws:SourceArn é sempre a trilha ARN (ou matriz de trilhasARNs) que está usando a KMS chave. Certifique-se de adicionar a chave de aws:SourceArn condição às KMS principais políticas das trilhas existentes.

A aws:SourceAccount chave de condição também é compatível, mas não é recomendada. O valor de aws:SourceAccount é a ID da conta do proprietário da trilha, ou para trilhas da organização, a ID da conta de gerenciamento.

Importante

Ao adicionar as novas seções à sua política de KMS chaves, não altere nenhuma seção existente na política.

Se a criptografia estiver ativada em uma trilha e a KMS chave estiver desativada ou se a política de KMS chaves não estiver configurada corretamente CloudTrail, CloudTrail não será possível fornecer registros.

KMSPrincipais elementos de política necessários para armazenamentos de dados de eventos

  1. Ative as permissões de criptografia de CloudTrail registros. Consulte Conceder permissões de criptografia.

  2. Ative as permissões de descriptografia de CloudTrail registros. Consulte Conceder permissões de descriptografia.

  3. Conceda permissão aos usuários e funções para criptografar e descriptografar dados do armazenamento de dados de eventos com a chave. KMS

    Ao criar um armazenamento de dados de eventos e criptografá-lo com uma KMS chave ou executar consultas em um armazenamento de dados de eventos que você está criptografando com uma KMS chave, você deve ter acesso de gravação à chave. KMS A política de KMS chaves deve ter acesso CloudTrail e ser gerenciável por usuários que executam operações (como consultas) no armazenamento de dados do evento. KMS

  4. Habilite CloudTrail a descrição KMS das principais propriedades. Consulte CloudTrail Habilitar a descrição KMS das principais propriedades.

As chaves de aws:SourceAccount condição aws:SourceArn e não são suportadas nas políticas de KMS chaves para armazenamentos de dados de eventos.

Importante

Ao adicionar as novas seções à sua política de KMS chaves, não altere nenhuma seção existente na política.

Se a criptografia estiver habilitada em um armazenamento de dados de eventos e a KMS chave for desativada ou excluída, ou se a política de KMS chaves não estiver configurada corretamente CloudTrail, CloudTrail não será possível entregar eventos ao seu armazenamento de dados de eventos.

Conceder permissões de criptografia

exemplo CloudTrail Permitir criptografar registros em nome de contas específicas

CloudTrail precisa de permissão explícita para usar a KMS chave para criptografar registros em nome de contas específicas. Para especificar uma conta, adicione a seguinte declaração obrigatória à sua política de KMS chaves e substitua-a por account-idregion, e trailName pelos valores apropriados para sua configuração. Você pode adicionar uma conta adicional IDs à EncryptionContext seção para permitir que essas contas sejam usadas CloudTrail para usar sua KMS chave para criptografar arquivos de log.

Como prática recomendada de segurança, adicione uma chave de aws:SourceArn condição à política de KMS chaves de uma trilha. A chave de condição IAM global aws:SourceArn ajuda a garantir que a KMS chave seja CloudTrail usada somente para uma trilha ou trilhas específicas.

{ "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/*" } } }

Uma política para uma KMS chave usada para criptografar os registros do armazenamento de dados de eventos do CloudTrail Lake não pode usar as chaves de condição aws:SourceArn ouaws:SourceAccount. Veja a seguir um exemplo de uma política de KMS chaves para um armazenamento de dados de eventos.

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

O exemplo de declaração de política a seguir ilustra como outra conta pode usar sua KMS chave para criptografar registros. CloudTrail

Cenário
  • Sua KMS chave está na conta111111111111.

  • Você e a conta 222222222222 criptografarão os registros.

Na política, você adiciona uma ou mais contas criptografadas com sua chave ao CloudTrail EncryptionContext. Isso se restringe CloudTrail ao uso de sua chave para criptografar registros somente para as contas que você especificar. Quando você dá 222222222222 permissão à raiz da conta para criptografar registros, ela delega permissão ao administrador da conta para criptografar as permissões necessárias para outros usuários dessa conta. O administrador da conta faz isso alterando as políticas associadas a esses IAM usuários.

Como prática recomendada de segurança, adicione uma chave de aws:SourceArn condição à política de KMS chaves. A chave de condição IAM global aws:SourceArn ajuda a garantir que CloudTrail use a KMS chave somente para as trilhas especificadas. Essa condição não é suportada nas KMS principais políticas para armazenamentos de dados de eventos.

KMSdeclaração política chave:

{ "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" } } }

Para obter mais informações sobre a edição de uma política de KMS chaves para uso com CloudTrail, consulte Edição de uma política de chaves no Guia do AWS Key Management Service desenvolvedor.

Conceder permissões de descriptografia

Antes de adicionar sua KMS chave à CloudTrail configuração, é importante conceder permissões de descriptografia a todos os usuários que precisarem delas. Os usuários que têm permissões de criptografia, mas não têm permissões de descriptografia, não conseguirão ler logs criptografados. Se você estiver usando um bucket do S3 existente com uma chave do bucket do S3, serão necessárias kms:Decrypt permissões para criar ou atualizar uma trilha com SSE - KMS criptografia ativada.

Ativar CloudTrail permissões de descriptografia de registros

Os usuários da sua chave devem receber permissões explícitas para ler os arquivos de log que o CloudTrail criptografou. Para permitir que os usuários leiam registros criptografados, adicione a seguinte declaração obrigatória à sua política de KMS chaves, modificando a Principal seção para adicionar uma linha para cada principal que você deseja poder descriptografar usando sua chave. 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" } } }

Veja a seguir um exemplo de política necessária para permitir que o responsável pelo CloudTrail serviço decifre os registros de trilhas.

{ "Sid": "Allow CloudTrail to decrypt a trail", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "kms:Decrypt", "Resource": "*" }

Uma política de descriptografia para uma KMS chave usada com um armazenamento de dados de eventos do CloudTrail Lake é semelhante à seguinte. O usuário ou a função ARNs especificada como valores para Principal precisam de permissões de decodificação para criar ou atualizar armazenamentos de dados de eventos, executar consultas ou obter resultados de consultas.

{ "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": "*" }

Veja a seguir um exemplo de política necessária para permitir que o responsável pelo CloudTrail serviço decifre os registros do armazenamento de dados de eventos.

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

Permita que os usuários da sua conta descriptografem registros de trilhas com sua chave KMS

Exemplo

Esta instrução da política ilustra como permitir que um usuário ou perfil na sua conta use sua chave para ler os logs criptografados no bucket do S3 da conta.

exemplo Cenário
  • Sua KMS chave, bucket S3 e IAM usuário Bob estão na conta111111111111.

  • Você dá permissão ao IAM usuário Bob para descriptografar CloudTrail registros no bucket do S3.

Na política de chaves, você habilita as permissões de descriptografia de CloudTrail log para IAM o usuário Bob.

KMSdeclaração política chave:

{ "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" } } }
Tópicos

    Permita que usuários de outras contas descriptografem registros de trilhas com sua chave KMS

    Você pode permitir que usuários de outras contas usem sua KMS chave para descriptografar registros de trilhas, mas não registros do armazenamento de dados de eventos. As alterações necessárias à sua política de chaves dependem de onde o bucket do S3 está, na sua conta ou em outra.

    Permitir que os usuários de um bucket de outra conta descriptografem os logs

    Exemplo

    Esta declaração de política ilustra como permitir que um IAM usuário ou função em outra conta use sua chave para ler registros criptografados de um bucket do S3 na outra conta.

    Cenário
    • Sua KMS chave está na conta111111111111.

    • O IAM usuário Alice e o bucket S3 estão na conta. 222222222222

    Nesse caso, você dá CloudTrail permissão para descriptografar registros na conta 222222222222 e dá permissão à política de IAM usuário de Alice para usar sua chaveKeyA, que está na conta. 111111111111

    KMSdeclaração política chave:

    { "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" } } }

    Declaração de política de IAM usuário de Alice:

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

    Permitir que usuários em outra conta descriptografem os logs de trilha do seu bucket

    exemplo

    Esta política ilustra como outra conta pode usar sua chave para ler os logs criptografados do bucket do S3.

    exemplo Cenário
    • Sua KMS chave e o bucket do S3 estão na conta111111111111.

    • O usuário que lê os logs do seu bucket está na conta 222222222222.

    Para habilitar esse cenário, você habilita as permissões de descriptografia para a IAM função CloudTrailReadRoleem sua conta e, em seguida, concede à outra conta permissão para assumir essa função.

    KMSdeclaração política chave:

    { "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" } } }

    CloudTrailReadRoledeclaração de política de entidade fiduciária:

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

    Para obter informações sobre como editar uma política de KMS chaves para uso com CloudTrail, consulte Editando uma política de chaves no Guia do AWS Key Management Service desenvolvedor.

    CloudTrail Habilitar a descrição KMS das principais propriedades

    CloudTrail requer a capacidade de descrever as propriedades da KMS chave. Para habilitar essa funcionalidade, adicione a seguinte declaração obrigatória no estado em que se encontra à sua política de KMS chaves. Essa declaração não concede CloudTrail nenhuma permissão além das outras permissões que você especificar.

    Como prática recomendada de segurança, adicione uma chave de aws:SourceArn condição à política de KMS chaves. A chave de condição IAM global aws:SourceArn ajuda a garantir que a KMS chave seja CloudTrail usada somente para uma trilha ou trilhas específicas.

    { "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" } } }

    Para obter mais informações sobre a edição de políticas de KMS chaves, consulte Editando uma política de chaves no Guia do AWS Key Management Service desenvolvedor.