Exportação de dados de log para o Amazon S3 usando o console. - CloudWatch Registros da Amazon

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

Exportação de dados de log para o Amazon S3 usando o console.

Nos exemplos a seguir, você usa o CloudWatch console da Amazon para exportar todos os dados de um grupo de CloudWatch logs do Amazon Logs chamado my-log-group para um bucket do Amazon S3 chamado. my-exported-logs

Há suporte para a exportação de dados de log para buckets do S3 criptografados por SSE-KMS. Não há suporte para a exportação de buckets do S3 criptografados com DSSE-KMS.

Os detalhes de como configurar a exportação dependem se o bucket do Amazon S3 para o qual você deseja exportar está na mesma conta que os logs que estão sendo exportados ou em uma conta diferente.

Exportação para a mesma conta

Se o bucket do Amazon S3 estiver na mesma conta dos logs que estão sendo exportados, use as instruções nesta seção.

Etapa 1: Crie um bucket do Amazon S3

Recomendamos que você use um bucket criado especificamente para o CloudWatch Logs. No entanto, se você desejar usar um bucket existente, vá para a etapa 2.

nota

O bucket do S3 deve residir na mesma região dos dados de log a serem exportados. CloudWatch O Logs não oferece suporte à exportação de dados para buckets do S3 em uma região diferente.

Para criar um bucket do S3
  1. Abra o console do Amazon S3 em https://console.aws.amazon.com/s3/.

  2. Se necessário, altere a região da . Na barra de navegação, escolha a região em que seus CloudWatch registros residem.

  3. Escolha Criar bucket.

  4. Para Bucket Name (Nome do bucket), digite um nome para o bucket.

  5. Em Região, selecione a região em que seus dados de CloudWatch registros residem.

  6. Escolha Criar.

Etapa 2: configurar permissões de acesso

Para criar a tarefa de exportação na etapa 5, você precisará ter feio login com o perfil do IAM AmazonS3ReadOnlyAccess e com as seguintes permissões:

  • logs:CreateExportTask

  • logs:CancelExportTask

  • logs:DescribeExportTasks

  • logs:DescribeLogStreams

  • logs:DescribeLogGroups

Para conceder acesso, adicione as permissões aos seus usuários, grupos ou perfis:

Etapa 3: Definir permissões em um bucket do S3.

Por padrão, todos os buckets e objetos do S3 são privados. Somente o proprietário do recurso, o Conta da AWS que criou o bucket pode acessá-lo e quaisquer objetos que ele contenha. No entanto, o proprietário do recurso pode optar por conceder permissões de acesso a outros recursos e usuários ao criar uma política de acesso padrão.

Quando você define a política, é recomendável incluir uma string gerada aleatoriamente como o prefixo para o bucket, para que apenas os streams de log desejados sejam exportados para o bucket.

Importante

Para tornar as exportações para buckets S3 mais seguras, agora exigimos que você especifique a lista de contas de origem que têm permissão para exportar dados de log para seu bucket S3.

No exemplo a seguir, a lista de IDs de conta na chave da aws:SourceAccount seriam as contas das quais um usuário pode exportar dados de log para o bucket do S3. A chave aws:SourceArn seria o recurso para o qual a ação está sendo realizada. Você pode restringir isso a um grupo de logs específico ou usar um curinga, como mostrado neste exemplo.

Recomendamos que você inclua também o ID da conta na qual o bucket do S3 foi criado para permitir a exportação dentro da mesma conta.

Para definir permissões em um bucket do Amazon S3
  1. No console do Amazon S3, escolha o bucket que você criou na etapa 1.

  2. Escolha Permissions (Permissões), Bucket policy (Política de bucket).

  3. No Bucket Policy Editor (Editor de política do bucket), adicione a política a seguir. Altere my-exported-logs para o nome do bucket do S3. Certifique-se de especificar o endpoint correto da região como us-west-1 para a Entidade principal.

    { "Version": "2012-10-17", "Statement": [ { "Action": "s3:GetBucketAcl", "Effect": "Allow", "Resource": "arn:aws:s3:::my-exported-logs", "Principal": { "Service": "logs.Region.amazonaws.com" }, "Condition": { "StringEquals": { "aws:SourceAccount": [ "AccountId1", "AccountId2", ... ] }, "ArnLike": { "aws:SourceArn": [ "arn:aws:logs:Region:AccountId1:log-group:*", "arn:aws:logs:Region:AccountId2:log-group:*", ... ] } } }, { "Action": "s3:PutObject" , "Effect": "Allow", "Resource": "arn:aws:s3:::my-exported-logs/*", "Principal": { "Service": "logs.Region.amazonaws.com" }, "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": [ "AccountId1", "AccountId2", ... ] }, "ArnLike": { "aws:SourceArn": [ "arn:aws:logs:Region:AccountId1:log-group:*", "arn:aws:logs:Region:AccountId2:log-group:*", ... ] } } } ] }
  4. Escolha Salvar para definir a política que você acabou de adicionar como política de acesso em seu bucket. Essa política permite que o CloudWatch Logs exporte dados de log para seu bucket do S3. O proprietário do bucket tem permissões completas sobre todos os objetos exportados.

    Atenção

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

(Opcional) Etapa 4: Exportar para um bucket criptografado com o SSE-KMS

Essa etapa é necessária somente se você estiver exportando para um bucket do S3 que usa criptografia do lado do servidor com. AWS KMS keysEssa criptografia é conhecida como SSE-KMS.

Para exportar para um bucket criptografado com SSE-KMS
  1. Abra o AWS KMS console em https://console.aws.amazon.com/kms.

  2. Para alterar o Região da AWS, use o seletor de região no canto superior direito da página.

  3. Na barra de navegação esquerdo, escolha Customer managed keys (Chaves gerenciadas pelo cliente).

    Escolha Create Key (Criar chave).

  4. Para Key type (Tipo de chave), escolha Symmetric (Simétrica).

  5. Em Key usage (Uso da chave), escolha Encrypt and decrypt (Criptografar e descriptografar) e, em seguida, escolha Next (Avançar).

  6. Em Add labels (Adicionar rótulos), insira um alias para a chave e, opcionalmente, adicione uma descrição ou tags. Em seguida, escolha Próximo.

  7. Em Key administrators (Administradores de chaves), selecione quem pode administrar essa chave e escolha Next (Avançar).

  8. Em Define key usage permissions (Definir permissões de uso da chave), não faça alterações e escolha Next (Avançar).

  9. Revise as configurações e escolha Finish (Concluir).

  10. De volta à página Customer managed keys (Chaves gerenciadas pelo cliente), escolha o nome da chave que você acabou de criar.

  11. Na guia Key Policy (Política de chaves), selecione Switch to policy view (Alternar para visualização de política).

  12. Na seção Key policy (Política de chaves), escolha Edit (Editar).

  13. Adicione a declaração a seguir à lista de declarações de política de chaves. Ao fazer isso, substitua Região pela Região dos seus registros e substitua o account-ARN (ARN da conta) pelo ARN da conta que possui a chave KMS.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "Allow CWL Service Principal usage", "Effect": "Allow", "Principal": { "Service": "logs.Region.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*" }, { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "account-ARN" }, "Action": [ "kms:GetKeyPolicy*", "kms:PutKeyPolicy*", "kms:DescribeKey*", "kms:CreateAlias*", "kms:ScheduleKeyDeletion*", "kms:Decrypt" ], "Resource": "*" } ] }
  14. Escolha Salvar alterações.

  15. Abra o console do Amazon S3 em https://console.aws.amazon.com/s3/.

  16. Encontre o bucket que você criou no Etapa 1: criar um bucket do S3 e escolha o nome do bucket.

  17. Escolha a guia Properties (Propriedades). Em seguida, em Default encryption (Criptografia padrão), escolha Edit (Editar).

  18. Em Server-side encryption (Criptografia no lado do servidor), escolha Enable (Habilitar).

  19. Em Encryption type (Tipo de criptografia), selecione AWS Key Management Service key (SSE-KMS) (Chave do SSE-KMS)).

  20. Escolha Escolher entre suas AWS KMS chaves e encontre a chave que você criou.

  21. Para Bucket key (Chave do bucket), escolha Enable (Habilitar).

  22. Escolha Salvar alterações.

Etapa 5: Criar uma tarefa de exportação

Nesta etapa, você criará a tarefa de exportação para exportar os logs de um grupo de logs.

Para exportar dados para o Amazon S3 usando o console CloudWatch
  1. Faça login com permissões suficientes, conforme documentado em Etapa 2: configurar permissões de acesso.

  2. Abra o CloudWatch console em https://console.aws.amazon.com/cloudwatch/.

  3. No painel de navegação, escolha Grupos de logs.

  4. Na tela Grupos de logs, escolha o nome do grupo de logs.

  5. Escolha Actions (Ações), Export to Amazon S3 (Exportar para o Amazon S3).

  6. Na tela Export data to Amazon S3 (Exportar dados para o Amazon S3), em Define data export (Definir exportação de dados), defina o período dos dados a serem exportados usando From (De) e To (Até).

  7. Se o seu grupo de logs tiver vários streams de log, você poderá fornecer um prefixo de stream de logs para limitar os dados do grupo de logs para um stream específico. Escolha Advanced (Avançado) e, depois, em Stream prefix (Prefixo do stream), digite o prefixo do stream de logs.

  8. Em Escolher bucket do S3, escolha a conta associada ao bucket do S3.

  9. Em Nome do bucket do S3, escolha um bucket do S3.

  10. Em Prefixo do bucket do S3, insira a string gerada aleatoriamente que você especificou na política do bucket.

  11. Escolha Export (Exportar) para exportar seus dados de log para o Amazon S3.

  12. Para visualizar o status dos dados de log exportados para o Amazon S3, escolha Actions (Ações), View all exports to Amazon S3 (Visualizar todas as exportações para o Amazon S3).

Exportação entre contas

Se o bucket do Amazon S3 estiver em uma conta diferente da conta dos logs que estão sendo exportados, use as instruções nesta seção.

Etapa 1: Crie um bucket do Amazon S3

Recomendamos que você use um bucket criado especificamente para o CloudWatch Logs. No entanto, se você desejar usar um bucket existente, vá para a etapa 2.

nota

O bucket do S3 deve residir na mesma região dos dados de log a serem exportados. CloudWatch O Logs não oferece suporte à exportação de dados para buckets do S3 em uma região diferente.

Para criar um bucket do S3
  1. Abra o console do Amazon S3 em https://console.aws.amazon.com/s3/.

  2. Se necessário, altere a região da . Na barra de navegação, escolha a região em que seus CloudWatch registros residem.

  3. Escolha Criar bucket.

  4. Para Bucket Name (Nome do bucket), digite um nome para o bucket.

  5. Em Região, selecione a região em que seus dados de CloudWatch registros residem.

  6. Escolha Criar.

Etapa 2: configurar permissões de acesso

Primeiro, você deve criar uma nova política do IAM para permitir que CloudWatch os Logs tenham a s3:PutObject permissão para o bucket Amazon S3 de destino na conta de destino.

A política que você cria depende se o bucket de destino usa AWS KMS criptografia.

Para criar uma política do IAM para exportar registros para um bucket do Amazon S3
  1. Abra o console IAM em https://console.aws.amazon.com/iam/.

  2. No painel de navegação à esquerda, escolha Políticas.

  3. Escolha Criar política.

  4. Na seção Editor de políticas, escolha JSON.

  5. Se o bucket de destino não usar AWS KMS criptografia, cole a política a seguir no editor.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::my-exported-logs/*" } ] }

    Se o bucket de destino usar AWS KMS criptografia, cole a política a seguir no editor.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::my-exported-logs/*" }, { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "ARN_OF_KMS_KEY" } ] }
  6. Escolha Próximo.

  7. Insira um nome de política. Você usará esse nome para vincular a política ao seu perfil do IAM.

  8. Escolha Criar política para salvar a nova política.

Para criar a tarefa de exportação na etapa 5, será necessário ter feito login com o perfil do IAM AmazonS3ReadOnlyAccess. Você deverá estar conectado com a política do IAM que acabou de criar e com as seguintes permissões:

  • logs:CreateExportTask

  • logs:CancelExportTask

  • logs:DescribeExportTasks

  • logs:DescribeLogStreams

  • logs:DescribeLogGroups

Para conceder acesso, adicione as permissões aos seus usuários, grupos ou perfis:

Etapa 3: Definir permissões em um bucket do S3.

Por padrão, todos os buckets e objetos do S3 são privados. Somente o proprietário do recurso, o Conta da AWS que criou o bucket pode acessá-lo e quaisquer objetos que ele contenha. No entanto, o proprietário do recurso pode optar por conceder permissões de acesso a outros recursos e usuários ao criar uma política de acesso padrão.

Quando você define a política, é recomendável incluir uma string gerada aleatoriamente como o prefixo para o bucket, para que apenas os streams de log desejados sejam exportados para o bucket.

Importante

Para tornar as exportações para buckets S3 mais seguras, agora exigimos que você especifique a lista de contas de origem que têm permissão para exportar dados de log para seu bucket S3.

No exemplo a seguir, a lista de IDs de conta na chave da aws:SourceAccount seriam as contas das quais um usuário pode exportar dados de log para o bucket do S3. A chave aws:SourceArn seria o recurso para o qual a ação está sendo realizada. Você pode restringir isso a um grupo de logs específico ou usar um curinga, como mostrado neste exemplo.

Recomendamos que você inclua também o ID da conta na qual o bucket do S3 foi criado para permitir a exportação dentro da mesma conta.

Para definir permissões em um bucket do Amazon S3
  1. No console do Amazon S3, escolha o bucket que você criou na etapa 1.

  2. Escolha Permissions (Permissões), Bucket policy (Política de bucket).

  3. No Bucket Policy Editor (Editor de política do bucket), adicione a política a seguir. Altere my-exported-logs para o nome do bucket do S3. Certifique-se de especificar o endpoint correto da região como us-west-1 para a Entidade principal.

    { "Version": "2012-10-17", "Statement": [ { "Action": "s3:GetBucketAcl", "Effect": "Allow", "Resource": "arn:aws:s3:::my-exported-logs", "Principal": { "Service": "logs.Region.amazonaws.com" }, "Condition": { "StringEquals": { "aws:SourceAccount": [ "AccountId1", "AccountId2", ... ] }, "ArnLike": { "aws:SourceArn": [ "arn:aws:logs:Region:AccountId1:log-group:*", "arn:aws:logs:Region:AccountId2:log-group:*", ... ] } } }, { "Action": "s3:PutObject" , "Effect": "Allow", "Resource": "arn:aws:s3:::my-exported-logs/*", "Principal": { "Service": "logs.Region.amazonaws.com" }, "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": [ "AccountId1", "AccountId2", ... ] }, "ArnLike": { "aws:SourceArn": [ "arn:aws:logs:Region:AccountId1:log-group:*", "arn:aws:logs:Region:AccountId2:log-group:*", ... ] } } }, { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::create_export_task_caller_account:role/role_name" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::my-exported-logs/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } } ] }
  4. Escolha Salvar para definir a política que você acabou de adicionar como política de acesso em seu bucket. Essa política permite que o CloudWatch Logs exporte dados de log para seu bucket do S3. O proprietário do bucket tem permissões completas sobre todos os objetos exportados.

    Atenção

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

(Opcional) Etapa 4: Exportar para um bucket criptografado com o SSE-KMS

Essa etapa é necessária somente se você estiver exportando para um bucket do S3 que usa criptografia do lado do servidor com. AWS KMS keysEssa criptografia é conhecida como SSE-KMS.

Para exportar para um bucket criptografado com SSE-KMS
  1. Abra o AWS KMS console em https://console.aws.amazon.com/kms.

  2. Para alterar o Região da AWS, use o seletor de região no canto superior direito da página.

  3. Na barra de navegação esquerdo, escolha Customer managed keys (Chaves gerenciadas pelo cliente).

    Escolha Create Key (Criar chave).

  4. Para Key type (Tipo de chave), escolha Symmetric (Simétrica).

  5. Em Key usage (Uso da chave), escolha Encrypt and decrypt (Criptografar e descriptografar) e, em seguida, escolha Next (Avançar).

  6. Em Add labels (Adicionar rótulos), insira um alias para a chave e, opcionalmente, adicione uma descrição ou tags. Em seguida, escolha Próximo.

  7. Em Key administrators (Administradores de chaves), selecione quem pode administrar essa chave e escolha Next (Avançar).

  8. Em Define key usage permissions (Definir permissões de uso da chave), não faça alterações e escolha Next (Avançar).

  9. Revise as configurações e escolha Finish (Concluir).

  10. De volta à página Customer managed keys (Chaves gerenciadas pelo cliente), escolha o nome da chave que você acabou de criar.

  11. Na guia Key Policy (Política de chaves), selecione Switch to policy view (Alternar para visualização de política).

  12. Na seção Key policy (Política de chaves), escolha Edit (Editar).

  13. Adicione a declaração a seguir à lista de declarações de política de chaves. Ao fazer isso, substitua Região pela Região dos seus registros e substitua o account-ARN (ARN da conta) pelo ARN da conta que possui a chave KMS.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "Allow CWL Service Principal usage", "Effect": "Allow", "Principal": { "Service": "logs.Region.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*" }, { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "account-ARN" }, "Action": [ "kms:GetKeyPolicy*", "kms:PutKeyPolicy*", "kms:DescribeKey*", "kms:CreateAlias*", "kms:ScheduleKeyDeletion*", "kms:Decrypt" ], "Resource": "*" }, { "Sid": "Enable IAM Role Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::create_export_task_caller_account:role/role_name" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "ARN_OF_KMS_KEY" } ] }
  14. Escolha Salvar alterações.

  15. Abra o console do Amazon S3 em https://console.aws.amazon.com/s3/.

  16. Encontre o bucket que você criou no Etapa 1: criar um bucket do S3 e escolha o nome do bucket.

  17. Escolha a guia Properties (Propriedades). Em seguida, em Default encryption (Criptografia padrão), escolha Edit (Editar).

  18. Em Server-side encryption (Criptografia no lado do servidor), escolha Enable (Habilitar).

  19. Em Encryption type (Tipo de criptografia), selecione AWS Key Management Service key (SSE-KMS) (Chave do SSE-KMS)).

  20. Escolha Escolher entre suas AWS KMS chaves e encontre a chave que você criou.

  21. Para Bucket key (Chave do bucket), escolha Enable (Habilitar).

  22. Escolha Salvar alterações.

Etapa 5: Criar uma tarefa de exportação

Nesta etapa, você criará a tarefa de exportação para exportar os logs de um grupo de logs.

Para exportar dados para o Amazon S3 usando o console CloudWatch
  1. Faça login com permissões suficientes, conforme documentado em Etapa 2: configurar permissões de acesso.

  2. Abra o CloudWatch console em https://console.aws.amazon.com/cloudwatch/.

  3. No painel de navegação, escolha Grupos de logs.

  4. Na tela Grupos de logs, escolha o nome do grupo de logs.

  5. Escolha Actions (Ações), Export to Amazon S3 (Exportar para o Amazon S3).

  6. Na tela Export data to Amazon S3 (Exportar dados para o Amazon S3), em Define data export (Definir exportação de dados), defina o período dos dados a serem exportados usando From (De) e To (Até).

  7. Se o seu grupo de logs tiver vários streams de log, você poderá fornecer um prefixo de stream de logs para limitar os dados do grupo de logs para um stream específico. Escolha Advanced (Avançado) e, depois, em Stream prefix (Prefixo do stream), digite o prefixo do stream de logs.

  8. Em Escolher bucket do S3, escolha a conta associada ao bucket do S3.

  9. Em Nome do bucket do S3, escolha um bucket do S3.

  10. Em Prefixo do bucket do S3, insira a string gerada aleatoriamente que você especificou na política do bucket.

  11. Escolha Export (Exportar) para exportar seus dados de log para o Amazon S3.

  12. Para visualizar o status dos dados de log exportados para o Amazon S3, escolha Actions (Ações), View all exports to Amazon S3 (Visualizar todas as exportações para o Amazon S3).