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á.
Exporte dados de log para o Amazon S3 usando o AWS CLI
No exemplo a seguir, você usa uma tarefa de exportação para exportar todos os dados de um grupo de CloudWatch logs de registros chamado my-log-group para um bucket do Amazon S3 chamado. amzn-s3-demo-bucket Este exemplo pressupõe que você já tenha criado um grupo de logs denominado my-log-group.
Há suporte para a exportação de dados de log para buckets do S3 que são criptografados pelo AWS 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 com a mesma conta (CLI)
Se o bucket do Amazon S3 estiver na mesma conta dos logs que estão sendo exportados, use as instruções nesta seção.
Tópicos
Crie um bucket S3 (CLI)
Recomendamos que você use um bucket criado especificamente para o CloudWatch Logs. No entanto, se quiser usar um bucket existente, você pode pular esse procedimento.
nota
O bucket do S3 deve residir na mesma Região que os 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 S3 usando o AWS CLI
Em um prompt de comando, execute o seguinte comando create-bucket, em que LocationConstraint é a região onde você está exportando dados de log.
aws s3api create-bucket --bucketamzn-s3-demo-bucket--create-bucket-configuration LocationConstraint=us-east-2
O seguinte é um exemplo de saída.
{ "Location": "/amzn-s3-demo-bucket" }
Configurar permissões de acesso (CLI)
Para criar a tarefa de exportação posteriormente, você precisará estar conectado com a função do AmazonS3ReadOnlyAccess IAM 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:
-
Usuários e grupos em Centro de Identidade do AWS IAM:
Crie um conjunto de permissões. Siga as instruções em Criação de um conjunto de permissões no Guia do usuário do Centro de Identidade do AWS IAM .
-
Usuários gerenciados no IAM com provedor de identidades:
Crie um perfil para a federação de identidades. Siga as instruções em Criando um perfil para um provedor de identidades de terceiros (federação) no Guia do Usuário do IAM.
-
Usuários do IAM:
-
Crie um perfil que seu usuário possa assumir. Siga as instruções em Criação de um perfil para um usuário do IAM no Guia do usuário do IAM.
-
(Não recomendado) Vincule uma política diretamente a um usuário ou adicione um usuário a um grupo de usuários. Siga as instruções em Adição de permissões a um usuário (console) no Guia do usuário do IAM.
-
Definir permissões em um bucket do S3 (CLI)
Por padrão, todos os buckets e objetos do S3 são privados. Somente o proprietário do recurso e a conta que criou o bucket podem acessar o bucket e todos os objetos que ele contém. 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.
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 contas IDs na aws:SourceAccount chave seriam as contas das quais um usuário pode exportar dados de log para seu 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 S3.
-
Crie um arquivo denominado
policy.jsone adicione a seguinte política de acesso, alterandoamzn-s3-demo-bucketpara o nome do bucket do S3 ePrincipalpara o endpoint da região na qual você está exportando dados de log, como, por exemplo,us-east-1. Use um editor de texto para criar este arquivo de política. Não use o console do IAM. -
Defina a política que você acabou de adicionar como política de acesso no seu bucket usando o put-bucket-policycomando. Essa política permite que o CloudWatch Logs exporte dados de log para seu bucket do S3. O proprietário do bucket terá permissões completas sobre todos os objetos exportados.
aws s3api put-bucket-policy --bucket amzn-s3-demo-bucket --policy file://policy.jsonAtençã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) Exportação para um bucket Amazon S3 de destino criptografado com SSE-KMS (CLI)
Esse procedimento é necessário somente se você estiver exportando para um bucket do S3 que usa criptografia do lado do servidor com. AWS KMS keys Essa criptografia é conhecida como SSE-KMS.
Para exportar para um bucket criptografado com SSE-KMS
-
Use um editor de texto para criar um arquivo chamado
key_policy.jsone adicione a seguinte política de acesso. Ao adicionar a política, faça as seguintes alterações:-
RegionSubstitua pela região dos seus registros. -
account-ARNSubstitua pelo ARN da conta que possui a chave KMS.
-
-
Digite o comando:
aws kms create-key --policy file://key_policy.jsonA seguir está um exemplo de saída deste comando:
{ "KeyMetadata": { "AWSAccountId": "account_id", "KeyId": "key_id", "Arn": "arn:aws:kms:us-east-2:account-ARN:key/key_id", "CreationDate": "time", "Enabled": true, "Description": "", "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "Enabled", "Origin": "AWS_KMS", "KeyManager": "CUSTOMER", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "KeySpec": "SYMMETRIC_DEFAULT", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ], "MultiRegion": false } -
Use um editor de texto para criar um arquivo chamado
bucketencryption.jsoncom o seguinte conteúdo:{ "Rules": [ { "ApplyServerSideEncryptionByDefault": { "SSEAlgorithm": "aws:kms", "KMSMasterKeyID": "{KMS Key ARN}" }, "BucketKeyEnabled": true } ] } -
Insira o comando a seguir,
amzn-s3-demo-bucketsubstituindo-o pelo nome do bucket para o qual você está exportando registros.aws s3api put-bucket-encryption --bucketamzn-s3-demo-bucket--server-side-encryption-configuration file://bucketencryption.jsonSe o comando não retornar um erro, o processo foi bem-sucedido.
Criar uma tarefa de exportação (CLI)
Use o comando a seguir para criar a tarefa de exportação. Depois de criada, a tarefa de exportação pode levar de alguns segundos a algumas horas, dependendo do tamanho dos dados a serem exportados.
Para exportar dados para o Amazon S3 usando o AWS CLI
-
Faça login com permissões suficientes, conforme documentado em Configurar permissões de acesso (CLI).
-
Em um prompt de comando, use o create-export-taskcomando a seguir para criar a tarefa de exportação.
aws logs create-export-task --profile CWLExportUser --task-name "my-log-group-09-10-2015" --log-group-name "my-log-group" --from1441490400000--to1441494000000--destination "amzn-s3-demo-bucket" --destination-prefix "export-task-output"O seguinte é um exemplo de saída.
{ "taskId": "cda45419-90ea-4db5-9833-aade86253e66" }
Exportação entre contas (CLI)
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.
Tópicos
Crie um bucket S3 para exportação entre contas (CLI)
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 que os 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 S3 usando o AWS CLI
Em um prompt de comando, execute o seguinte comando create-bucket, em que LocationConstraint é a região onde você está exportando dados de log.
aws s3api create-bucket --bucketamzn-s3-demo-bucket--create-bucket-configuration LocationConstraint=us-east-2
O seguinte é um exemplo de saída.
{ "Location": "/amzn-s3-demo-bucket" }
Configurar permissões de acesso para exportação entre contas (CLI)
Primeiro, você deve criar uma nova política do IAM para permitir que CloudWatch os Logs tenham a s3:PutObject ação para o bucket Amazon S3 de destino na conta de destino.
Além da s3:PutObject ação, as ações adicionais incluídas na política dependem de o bucket de destino usar AWS KMS criptografia ou ter sido ACLs habilitado usando a configuração de propriedade de objetos do S3.
Se estiver usando a criptografia KMS, adicione as ações
kms:GenerateDataKeyekms:Decryptao recurso chaveSe ACLs estiverem habilitados no bucket, adicione a
s3:PutObjectAclação para o recurso do bucket.
Altere amzn-s3-demo-bucket para o nome do seu bucket S3 de destino nas políticas a seguir.
A política que deve ser criada depende de o bucket de destino usar criptografia do AWS KMS . Se não usar AWS KMS criptografia, crie uma política com o conteúdo a seguir.
Se o bucket de destino usar AWS KMS criptografia, crie uma política com o conteúdo a seguir.
Se ACLs estiverem habilitados no bucket de destino, adicione s3: PutObjectAcl ao s3: PutObject Action block nas políticas acima.
Para criar uma tarefa de exportação, você deve estar conectado com uma função do IAM que tenha a política AmazonS3ReadOnlyAccess gerenciada anexada, a política do IAM criada acima e também 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:
-
Usuários e grupos em Centro de Identidade do AWS IAM:
Crie um conjunto de permissões. Siga as instruções em Criação de um conjunto de permissões no Guia do usuário do Centro de Identidade do AWS IAM .
-
Usuários gerenciados no IAM com provedor de identidades:
Crie um perfil para a federação de identidades. Siga as instruções em Criando um perfil para um provedor de identidades de terceiros (federação) no Guia do Usuário do IAM.
-
Usuários do IAM:
-
Crie um perfil que seu usuário possa assumir. Siga as instruções em Criação de um perfil para um usuário do IAM no Guia do usuário do IAM.
-
(Não recomendado) Vincule uma política diretamente a um usuário ou adicione um usuário a um grupo de usuários. Siga as instruções em Adição de permissões a um usuário (console) no Guia do usuário do IAM.
-
Defina permissões em um bucket do S3 para exportação entre contas (CLI)
Por padrão, todos os buckets e objetos do S3 são privados. Somente o proprietário do recurso e a conta que criou o bucket podem acessar o bucket e todos os objetos que ele contém. 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.
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 contas IDs na aws:SourceAccount chave seriam as contas das quais um usuário pode exportar dados de log para seu 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 S3.
-
Crie um arquivo chamado
policy.jsone adicione a seguinte política de acesso, alterandoamzn-s3-demo-bucketpara o nome do seu bucket S3 de destino,Principalpara o endpoint da região para a qual você está exportando dados de log, como.us-west-1Use um editor de texto para criar este arquivo de política. Não use o console do IAM. -
Defina a política que você acabou de adicionar como política de acesso no seu bucket usando o put-bucket-policycomando. Essa política permite que o CloudWatch Logs exporte dados de log para seu bucket do S3. O proprietário do bucket terá permissões completas sobre todos os objetos exportados.
aws s3api put-bucket-policy --bucket amzn-s3-demo-bucket --policy file://policy.jsonAtençã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) Exportação para um bucket Amazon S3 de destino criptografado com SSE-KMS para exportação entre contas (CLI)
Esse procedimento é necessário somente se você estiver exportando para um bucket do S3 que usa criptografia do lado do servidor com. AWS KMS keys Essa criptografia é conhecida como SSE-KMS.
Para exportar para um bucket criptografado com SSE-KMS
-
Use um editor de texto para criar um arquivo chamado
key_policy.jsone adicione a seguinte política de acesso. Ao adicionar a política, faça as seguintes alterações:-
us-east-1Substitua pela região dos seus registros. -
account-ARNSubstitua pelo ARN da conta que possui a chave KMS. -
123456789012Substitua pelo número da conta que possui a chave KMS. -
key_idcom o ID da chave kms. -
role_namecom a função usada para criar a tarefa de exportação.
-
-
Digite o comando:
aws kms create-key --policy file://key_policy.jsonA seguir está um exemplo de saída deste comando:
{ "KeyMetadata": { "AWSAccountId": "account_id", "KeyId": "key_id", "Arn": "arn:aws:kms:us-east-1:123456789012:key/key_id", "CreationDate": "time", "Enabled": true, "Description": "", "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "Enabled", "Origin": "AWS_KMS", "KeyManager": "CUSTOMER", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "KeySpec": "SYMMETRIC_DEFAULT", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ], "MultiRegion": false } -
Use um editor de texto para criar um arquivo chamado
bucketencryption.jsoncom o seguinte conteúdo:{ "Rules": [ { "ApplyServerSideEncryptionByDefault": { "SSEAlgorithm": "aws:kms", "KMSMasterKeyID": "{KMS Key ARN}" }, "BucketKeyEnabled": true } ] } -
Insira o comando a seguir,
amzn-s3-demo-bucketsubstituindo-o pelo nome do bucket para o qual você está exportando registros.aws s3api put-bucket-encryption --bucketamzn-s3-demo-bucket--server-side-encryption-configuration file://bucketencryption.jsonSe o comando não retornar um erro, o processo foi bem-sucedido.
Crie uma tarefa de exportação para exportação entre contas (CLI)
Use o comando a seguir para criar a tarefa de exportação. Depois de criada, a tarefa de exportação pode levar de alguns segundos a algumas horas, dependendo do tamanho dos dados a serem exportados.
Para exportar dados para o Amazon S3 usando o AWS CLI
-
Faça login com permissões suficientes, conforme documentado em Configurar permissões de acesso (CLI).
-
Em um prompt de comando, use o create-export-taskcomando a seguir para criar a tarefa de exportação.
aws logs create-export-task --profile CWLExportUser --task-name "my-log-group-09-10-2015" --log-group-name "my-log-group" --from1441490400000--to1441494000000--destination "amzn-s3-demo-bucket" --destination-prefix "export-task-output"O seguinte é um exemplo de saída.
{ "taskId": "cda45419-90ea-4db5-9833-aade86253e66" }