Política de bucket do Amazon S3 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á.

Política de bucket do Amazon S3 para CloudTrail

Por padrão, os buckets e objetos do Amazon S3 são privados. Somente o proprietário do recurso (a conta da AWS que criou o bucket) pode acessar o bucket e os objetos que ele contém. O proprietário do recurso pode conceder permissões de acesso a outros recursos e usuários ao criar uma política de acesso padrão.

Se você deseja criar ou modificar um bucket do Amazon S3 para receber os arquivos de log para uma trilha de organização, modifique a política do bucket. Para ter mais informações, consulte Criando uma trilha para uma organização com o AWS CLI.

Para entregar arquivos de log em um bucket do S3, é CloudTrail necessário ter as permissões necessárias e não pode ser configurado como um bucket do Requester Pays.

CloudTrail adiciona os seguintes campos na política para você:

  • Os SIDs permitidos

  • O nome do bucket

  • O nome principal do serviço para CloudTrail

  • O nome da pasta em que os arquivos de log são armazenados, incluindo o nome do bucket, um prefixo (se você tiver especificado um) e o ID AWS da sua conta

Como uma prática recomendada de segurança, adicione uma aws:SourceArn chave de condição para a política de bucket do Amazon S3. A chave de condição global do IAM aws:SourceArn ajuda a garantir que as CloudTrail gravações no bucket do S3 sejam gravadas somente para uma trilha ou trilhas específicas. O valor de aws:SourceArn é sempre o ARN da trilha (ou matriz de ARNs de trilha) que está usando o bucket para armazenar logs. Certifique-se de adicionar a chave de condição aws:SourceArn às políticas de bucket do S3 para as trilhas existentes.

A política a seguir permite CloudTrail gravar arquivos de log no bucket a partir do Supported Regiões da AWS. Substitua DOC-EXAMPLE-BUCKET, [optionalPrefix]/, myAccountId, region e TrailName pelos valores apropriados para sua configuração.

Política de bucket do S3

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailAclCheck20150319", "Effect": "Allow", "Principal": {"Service": "cloudtrail.amazonaws.com"}, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:cloudtrail:region:myAccountID:trail/trailName" } } }, { "Sid": "AWSCloudTrailWrite20150319", "Effect": "Allow", "Principal": {"Service": "cloudtrail.amazonaws.com"}, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/[optionalPrefix]/AWSLogs/myAccountID/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceArn": "arn:aws:cloudtrail:region:myAccountID:trail/trailName" } } } ] }

Para obter mais informações sobre Regiões da AWS, consulteCloudTrail Regiões suportadas.

Especificação de um bucket existente para entrega de CloudTrail registros

Se você especificou um bucket do S3 existente como local de armazenamento para entrega do arquivo de log, deverá anexar uma política ao bucket que permita CloudTrail a gravação no bucket.

nota

Como prática recomendada, use um bucket S3 dedicado para CloudTrail registros.

Para adicionar a CloudTrail política necessária a um bucket do Amazon S3
  1. Abra o console do Amazon S3 em https://console.aws.amazon.com/s3/.

  2. Escolha o bucket em que você deseja CloudTrail entregar seus arquivos de log e, em seguida, escolha Permissões.

  3. Selecione a opção Editar.

  4. Copie a S3 bucket policy na janela Bucket Policy Editor. Substitua os marcadores em itálico pelos nomes de seu bucket, prefixo e número da conta. Se você tiver especificado um prefixo quando você criou sua trilha, inclua-o aqui. O prefixo é uma opção adicional para a chave do objeto do S3 que cria uma organização em formato de pasta no seu bucket.

    nota

    Se o bucket existente já tiver uma ou mais políticas anexadas, adicione as instruções para CloudTrail acessar essa política ou políticas. Avalie o conjunto resultante de permissões para ter certeza de que elas são apropriadas para os usuários que acessarão o bucket.

Receber arquivos de log de outras contas

Você pode configurar CloudTrail para entregar arquivos de log de várias AWS contas para um único bucket do S3. Para ter mais informações, consulte Recebendo arquivos de CloudTrail log de várias contas.

Criar ou atualizar um bucket do Amazon S3 a ser usado para armazenar os arquivos de log de uma trilha da organização

Você deve especificar um bucket do Amazon S3 para receber os arquivos de log para uma trilha de organização. Esse bucket deve ter uma política que CloudTrail permita colocar os arquivos de log da organização no bucket.

Veja a seguir um exemplo de política para um bucket do Amazon S3 chamado DOC-EXAMPLE-BUCKET, que pertence à conta de gerenciamento da organização. Substitua DOC-EXAMPLE-BUCKET, region, managementAccountId, trailName e o-OrganizationID pelos valores da sua organização

Essa política de bucket consiste em três instruções.

  • A primeira declaração permite chamar CloudTrail a GetBucketAcl ação do Amazon S3 no bucket do Amazon S3.

  • A segunda permite o registro em log caso a trilha seja alterada de uma trilha da organização para uma trilha somente dessa conta.

  • A terceira instrução permite o registro em log para uma trilha da organização.

O exemplo de política inclui uma chave de condição aws:SourceArn para a política de bucket do Amazon S3. A chave de condição global do IAM aws:SourceArn ajuda a garantir que as CloudTrail gravações no bucket do S3 sejam gravadas somente para uma trilha ou trilhas específicas. Em uma trilha da organização, o valor de aws:SourceArn deve ser um ARN de trilha que pertença à conta de gerenciamento e use a ID da conta de gerenciamento.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailAclCheck20150319", "Effect": "Allow", "Principal": { "Service": [ "cloudtrail.amazonaws.com" ] }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:cloudtrail:region:managementAccountID:trail/trailName" } } }, { "Sid": "AWSCloudTrailWrite20150319", "Effect": "Allow", "Principal": { "Service": [ "cloudtrail.amazonaws.com" ] }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/AWSLogs/managementAccountID/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceArn": "arn:aws:cloudtrail:region:managementAccountID:trail/trailName" } } }, { "Sid": "AWSCloudTrailOrganizationWrite20150319", "Effect": "Allow", "Principal": { "Service": [ "cloudtrail.amazonaws.com" ] }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/AWSLogs/o-organizationID/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceArn": "arn:aws:cloudtrail:region:managementAccountID:trail/trailName" } } } ] }

Essa política de exemplo não permite que usuários de contas-membro acessem os arquivos de log criados para a organização. Por padrão, os arquivos de log da organização poderão ser acessados somente pela conta de gerenciamento. Para obter informações sobre como conceder acesso de leitura ao bucket do Amazon S3 para usuários do IAM nas contas-membro, consulte Compartilhamento CloudTrail de arquivos de log entre AWS contas.

Solução de problemas da política de bucket do Amazon S3

As seções a seguir descrevem como solucionar problemas da política de bucket do S3.

Erros comuns de configuração da política do Amazon S3

Quando você cria um novo intervalo como parte da criação ou atualização de uma trilha, CloudTrail anexa as permissões necessárias ao seu intervalo. A política de bucket usa o nome principal do serviço"cloudtrail.amazonaws.com",, que permite CloudTrail entregar registros para todas as regiões.

Se não CloudTrail estiver entregando registros para uma região, é possível que seu bucket tenha uma política mais antiga que especifique IDs de CloudTrail conta para cada região. Essa política dá CloudTrail permissão para entregar registros somente para as regiões especificadas.

Como prática recomendada, atualize a política para usar uma permissão com o responsável pelo CloudTrail serviço. Para fazer isso, substitua os Nomes de região da Amazon (ARN) do ID da conta pelo nome principal do serviço: "cloudtrail.amazonaws.com". Isso dá CloudTrail permissão para entregar registros para regiões atuais e novas. Como uma prática recomendada de segurança, adicione um aws:SourceArn ou aws:SourceAccount chave de condição à política do bucket do Amazon S3. Isso ajuda a impedir o acesso não autorizado à conta do seu bucket do S3. Se você tiver trilhas existentes, certifique-se de adicionar uma ou mais chaves de condição. Veja a seguir um exemplo de uma configuração de política recomendada. Substitua DOC-EXAMPLE-BUCKET, [optionalPrefix]/, myAccountId, region e TrailName pelos valores apropriados para sua configuração.

exemplo Exemplo de política de bucket com o nome principal do serviço
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailAclCheck20150319", "Effect": "Allow", "Principal": {"Service": "cloudtrail.amazonaws.com"}, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:cloudtrail:region:myAccountID:trail/trailName" } } }, { "Sid": "AWSCloudTrailWrite20150319", "Effect": "Allow", "Principal": {"Service": "cloudtrail.amazonaws.com"}, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/[optionalPrefix]/AWSLogs/myAccountID/*", "Condition": {"StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceArn": "arn:aws:cloudtrail:region:myAccountID:trail/trailName" } } } ] }

Alterar um prefixo de um bucket existente

Se você tentar adicionar, modificar ou remover o prefixo de um arquivo de log para um bucket do S3 que recebe logs de uma trilha, poderá ver o erro: Há um problema com a sua política de bucket. Uma política de bucket com um prefixo incorreto pode impedir que sua trilha forneça logs ao bucket. Para resolver esse problema, use o console do Amazon S3 para atualizar o prefixo na política de bucket e, em seguida, use o CloudTrail console para especificar o mesmo prefixo para o bucket na trilha.

Para atualizar o prefixo do arquivo de log de um bucket do Amazon S3
  1. Abra o console do Amazon S3 em https://console.aws.amazon.com/s3/.

  2. Escolha o bucket para o qual deseja modificar o prefixo e escolha Permissions (Permissões).

  3. Selecione a opção Editar.

  4. Na política de bucket, na ação s3:PutObject, edite a entrada Resource para adicionar, modificar ou remover o prefixo do arquivo de log conforme necessário.

    "Action": "s3:PutObject", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/prefix/AWSLogs/myAccountID/*",
  5. Escolha Salvar.

  6. Abra o CloudTrail console em https://console.aws.amazon.com/cloudtrail/.

  7. Escolha a trilha e, em Storage location, clique no ícone de lápis para editar as configurações do seu bucket.

  8. Em S3 bucket, escolha o bucket com o prefixo que você está alterando.

  9. Em Log file prefix, atualize o prefixo de acordo com o prefixo informado na política do bucket.

  10. Escolha Salvar.

Recursos adicionais

Para obter mais informações sobre buckets e políticas do S3, consulte Uso de políticas de bucket no Guia do usuário do Amazon Simple Storage Service.