Habilitar o registro a partir de AWS serviços - 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á.

Habilitar o registro a partir de AWS serviços

Embora muitos serviços publiquem registros somente no CloudWatch Logs, alguns AWS serviços podem publicar registros diretamente no Amazon Simple Storage Service ou no Amazon Data Firehose. Se seu principal requisito para registros for armazenamento ou processamento em um desses serviços, você pode facilmente fazer com que o serviço que produz os registros os envie diretamente para o Amazon S3 ou Firehose sem configuração adicional.

Mesmo quando os registros são publicados diretamente no Amazon S3 ou no Firehose, cobranças são aplicadas. Para obter mais informações, consulte Vended Logs na guia Logs em Amazon CloudWatch Pricing.

Alguns AWS serviços usam uma infraestrutura comum para enviar seus registros. Para ativar o log desses produtos, você deve estar registrado como um usuário com certas permissões. Além disso, você deve conceder permissões AWS para permitir que os registros sejam enviados.

Para serviços que exijam essas permissões, há duas versões das permissões necessárias. Os produtos que exigem essas permissões extras são indicados como [Permissões v1] compatíveis e [Permissões v2] compatíveis na tabela. Para obter informações sobre essas permissões necessárias, consulte as seções após a tabela.

Tipo de log CloudWatch Logs Amazon S3 Firehose

Registros de acesso do Amazon API Gateway

[Permissões v1] compatíveis

AWS AppSync logs

Compatível

Amazon Aurora Meus registros SQL

Compatível

Amazon Bedrock Registro de bases de conhecimento

[Permissões v2] compatíveis [Permissões v2] compatíveis [Permissões v2] compatíveis

Registros métricos de qualidade de mídia e SIP registros de mensagens do Amazon Chime

[Permissões v1] compatíveis

CloudFront: registros de acesso

[Permissões v1] compatíveis

AWS CloudHSM registros de auditoria

Compatível

CloudWatch Evidentemente, os registros de eventos de avaliação

[Permissões v1] compatíveis [Permissões v1] compatíveis

CloudWatch Registros do Internet Monitor

[Permissões v1] compatíveis

CloudTrail troncos

Compatível

AWS CodeBuild logs

Compatível

Amazon CodeWhisperer registros de eventos

[Permissões v2] compatíveis [Permissões v2] compatíveis [Permissões v2] compatíveis

Amazon Cognito logs

[Permissões v1] compatíveis

Logs do Amazon Connect

Compatível

AWS DataSync logs

Compatível

Registros da Amazon ElastiCache (RedisOSS)

[Permissões v1] compatíveis [Permissões v1] compatíveis

AWS Elastic Beanstalk logs

Compatível

Logs do Amazon Elastic Container Service

Compatível

Logs do ambiente de gerenciamento do Serviço Amazon Elastic Kubernetes

Compatível

Amazon EventBridge Registro de tubulações

[Permissões v1] compatíveis [Permissões v1] compatíveis [Permissões v1] compatíveis

AWS Fargate logs

Compatível

AWS Fault Injection Service registros de experimentos

[Permissões v1] compatíveis

Amazon FinSpace

[Permissões v1] compatíveis [Permissões v1] compatíveis [Permissões v1] compatíveis

AWS Global Accelerator registros de fluxo

[Permissões v1] compatíveis

AWS Glue registros de trabalho

Compatível

IAMRegistros de erros do Identity Center

[Permissões v2] compatíveis [Permissões v2] compatíveis [Permissões v2] compatíveis

Logs de chat do Amazon Interactive Video Service

[Permissões v1] compatíveis [Permissões v1] compatíveis [Permissões v1] compatíveis

AWS IoT logs

Compatível

AWS IoT FleetWise logs

[Permissões v1] compatíveis [Permissões v1] compatíveis [Permissões v1] compatíveis

AWS Lambda logs

Compatível

Logs do Amazon Macie

Compatível

AWS Mainframe Modernization

[Permissões v1] compatíveis [Permissões v1] compatíveis [Permissões v1] compatíveis

Logs do Amazon Managed Service for Prometheus

[Permissões v1] compatíveis

Registros de MSK corretores da Amazon

[Permissões v1] compatíveis

[Permissões v1] compatíveis [Permissões v1] compatíveis

Registros do Amazon MSK Connect

[Permissões v1] compatíveis

[Permissões v1] compatíveis [Permissões v1] compatíveis

Logs gerais e de auditoria do Amazon MQ

Compatível

AWS Registros do Firewall de Rede

[Permissões v1] compatíveis

[Permissões v1] compatíveis [Permissões v1] compatíveis

Logs de acesso do Network Load Balancer

[Permissões v1] compatíveis

OpenSearch troncos

Compatível

Registros OpenSearch de ingestão do Amazon Service

[Permissões v1] compatíveis [Permissões v1] compatíveis [Permissões v1] compatíveis

AWS OpsWorks logs

Compatível

Registros do Amazon Relational Database ServicePostgre SQL

Compatível

AWS RoboMaker troncos

Compatível

Registros de DNS consulta pública do Amazon Route 53

Compatível

Logs de consulta do Amazon Route 53 Resolver

[Permissões v1] compatíveis

[Permissões v1] compatíveis

SageMaker Eventos da Amazon

[Permissões v1] compatíveis

Eventos para SageMaker trabalhadores da Amazon

[Permissões v1] compatíveis

AWS Registros de site para site VPN

[Permissões v1] compatíveis

[Permissões v1] compatíveis

[Permissões v1] compatíveis

Logs do Amazon Simple Notification Service

Compatível

Logs da política de proteção de dados do Amazon Simple Notification Service

Compatível

EC2Arquivos de feed de dados da Spot Instance

[Permissões v1] compatíveis

AWS Step Functions Registros de fluxo de trabalho expresso e fluxo de trabalho padrão

[Permissões v1] compatíveis

Logs de auditoria e logs de integridade do Storage Gateway

[Permissões v1] compatíveis

AWS Transfer Family logs

[Permissões v1] compatíveis

[Permissões v1] compatíveis

[Permissões v1] compatíveis

Acesso Verificado pela AWS logs

[Permissões v1] compatíveis

[Permissões v1] compatíveis

[Permissões v1] compatíveis

Logs de fluxo da Amazon Virtual Private Cloud

Compatível

[Permissões v1] compatíveis [Permissões v1] compatíveis

Registros de acesso do Amazon VPC Lattice

[Permissões v1] compatíveis [Permissões v1] compatíveis [Permissões v1] compatíveis

AWS WAF logs

[Permissões v1] compatíveis [Permissões v1] compatíveis

Compatível

Amazon WorkMail troncos

[Permissões v2] compatíveis [Permissões v2] compatíveis [Permissões v2] compatíveis

Registro em log que requer permissões [v1] adicionais

Alguns AWS serviços usam uma infraestrutura comum para enviar seus CloudWatch registros para Logs, Amazon S3 ou Firehose. Para habilitar os serviços da AWS listados na tabela a seguir para enviar seus logs para esses destinos, você deve estar conectado como um usuário com determinadas permissões.

Além disso, é necessário conceder permissões AWS para permitir que os registros sejam enviados. AWS pode criar automaticamente essas permissões quando os registros são configurados, ou você mesmo pode criá-las antes de configurar o registro. Para a entrega entre contas, você mesmo deve criar manualmente as políticas de permissão.

Se você optar por configurar AWS automaticamente as permissões e as políticas de recursos necessárias quando você ou alguém em sua organização configura o envio de registros pela primeira vez, o usuário que está configurando o envio de registros deverá ter determinadas permissões, conforme explicado posteriormente nesta seção. Se preferir, você pode criar as políticas de recursos, e os usuários que configurarem o envio de logs não precisarão de tantas permissões.

A tabela a seguir resume a quais tipos de logs e a quais destinos de log as informações nesta seção se aplicam.

As seções a seguir fornecem mais detalhes sobre cada um desses destinos.

Registros enviados para CloudWatch Logs

Importante

Quando você configura os tipos de registro na lista a seguir para serem enviados ao CloudWatch Logs, AWS cria ou altera as políticas de recursos associadas ao grupo de registros que recebe os registros, se necessário. Continue lendo esta seção para ver os detalhes.

Esta seção se aplica quando os tipos de registros listados na tabela da seção anterior são enviados para CloudWatch Logs:

Permissões de usuário

Para poder configurar o envio de qualquer um desses tipos de CloudWatch registros para o Logs pela primeira vez, você precisa estar conectado a uma conta com as seguintes permissões.

  • logs:CreateLogDelivery

  • logs:PutResourcePolicy

  • logs:DescribeResourcePolicies

  • logs:DescribeLogGroups

    nota

    Ao especificar a logs:PutResourcePolicy permissãologs:DescribeLogGroups, oulogs:DescribeResourcePolicies, certifique-se de definir a ARN de sua Resource linha para usar um * caractere curinga, em vez de especificar apenas um único nome de grupo de registros. Por exemplo, "Resource": "arn:aws:logs:us-east-1:111122223333:log-group:*".

Se algum desses tipos de registros já estiver sendo enviado para um grupo de CloudWatch registros no Logs, para configurar o envio de outro desses tipos de registros para esse mesmo grupo de registros, você só precisará da logs:CreateLogDelivery permissão.

Política de recursos do grupo de logs

O grupo de logs para o qual os logs estão sendo enviados deve ter uma política de recursos que contenha determinadas permissões. Se o grupo de registros atualmente não tiver uma política de recursos e o usuário que configura o registro tiver as logs:DescribeLogGroups permissõeslogs:PutResourcePolicy,logs:DescribeResourcePolicies, e para o grupo de registros, AWS criará automaticamente a política a seguir quando você começar a enviar os CloudWatch registros para o Logs.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSLogDeliveryWrite20150319", "Effect": "Allow", "Principal": { "Service": [ "delivery.logs.amazonaws.com" ] }, "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:us-east-1:0123456789:log-group:my-log-group:log-stream:*" ], "Condition": { "StringEquals": { "aws:SourceAccount": ["0123456789"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:us-east-1:0123456789:*"] } } } ] }

Se o grupo de logs tem uma política de recursos, mas essa política não contém a instrução exibida na política anterior, e o usuário configurando o log tem as permissões logs:PutResourcePolicy, logs:DescribeResourcePolicies e logs:DescribeLogGroups para o grupo de logs, essa instrução é anexada à política de recursos do grupo de logs.

Considerações sobre o limite do tamanho da política de recursos do grupo de logs

Esses serviços devem listar cada grupo de registros para o qual estão enviando registros na política de recursos, e as políticas de recursos de CloudWatch registros estão limitadas a 5120 caracteres. Um serviço que envia registros para um grande número de grupos de registros pode atingir esse limite.

Para mitigar isso, o CloudWatch Logs monitora o tamanho das políticas de recursos usadas pelo serviço que está enviando registros e, quando detecta que uma política se aproxima do limite de tamanho de 5120 caracteres, o CloudWatch Logs ativa /aws/vendedlogs/* automaticamente a política de recursos desse serviço. Depois, você pode começar a usar grupos de logs com nomes que começam com /aws/vendedlogs/ como destinos para os logs desses serviços.

Logs enviados ao Amazon S3

Quando você define os registros a serem enviados para o Amazon S3, AWS cria ou altera as políticas de recursos associadas ao bucket do S3 que está recebendo os registros, se necessário.

Os logs publicados diretamente no Amazon S3 são publicados em um bucket especificado por você. Um ou mais arquivos de log são criados a cada cinco minutos no bucket especificado.

Quando você entrega logs a um bucket do Amazon S3 pela primeira vez, o serviço que entrega logs registra o proprietário do bucket para garantir que os logs sejam entregues somente a um bucket pertencente a essa conta. Consequentemente, para alterar o proprietário do bucket do Amazon S3, é necessário recriar ou atualizar a assinatura de log no serviço de origem.

nota

CloudFront usa um modelo de permissões diferente dos outros serviços que enviam registros vendidos para o S3. Para obter mais informações, consulte Permissões necessárias para configurar o registro padrão e acessar seus arquivos de log.

Além disso, se você usar o mesmo bucket do S3 para registros de CloudFront acesso e outra fonte de log, habilitar ACL o bucket for CloudFront também concederá permissão a todas as outras fontes de log que usam esse bucket.

Permissões de usuário

Para poder configurar o envio de qualquer um desses tipos de logs ao Amazon S3 pela primeira vez, é necessário conectar-se a uma conta com as permissões a seguir.

  • logs:CreateLogDelivery

  • S3:GetBucketPolicy

  • S3:PutBucketPolicy

Se algum desses tipos de logs já estiver sendo enviado a um bucket do Amazon S3, para configurar o envio de outro desses tipos de logs para esse mesmo bucket, apenas a permissão logs:CreateLogDelivery será necessária.

Política de recursos do bucket do S3

O bucket do S3 para o qual os logs estão sendo enviados deve ter uma política de recursos que contenha determinadas permissões. Se o bucket atualmente não tiver uma política de recursos e o usuário que configura o registro tiver as S3:PutBucketPolicy permissões S3:GetBucketPolicy e para o bucket, criará AWS automaticamente a seguinte política para ele quando você começar a enviar os registros para o Amazon S3.

{ "Version": "2012-10-17", "Id": "AWSLogDeliveryWrite20150319", "Statement": [ { "Sid": "AWSLogDeliveryAclCheck", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::my-bucket", "Condition": { "StringEquals": { "aws:SourceAccount": ["0123456789"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:us-east-1:0123456789:*"] } } }, { "Sid": "AWSLogDeliveryWrite", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::my-bucket/AWSLogs/account-ID/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": ["0123456789"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:us-east-1:0123456789:*"] } } } ] }

Na política anterior, foraws:SourceAccount, especifique a lista de contas IDS para as quais os registros estão sendo entregues a esse bucket. Paraaws:SourceArn, especifique a lista ARNs do recurso que gera os registros, no formulárioarn:aws:logs:source-region:source-account-id:*.

Se o bucket tiver uma política de recursos, mas ela não contiver a instrução exibida na política anterior, e o usuário configurando o log tiver as permissões S3:GetBucketPolicy e S3:PutBucketPolicy para o bucket, essa instrução será anexada à política de recursos do bucket.

nota

Em alguns casos, você pode ver AccessDenied erros AWS CloudTrail se a s3:ListBucket permissão não tiver sido concedidadelivery.logs.amazonaws.com. Para evitar esses erros em seus CloudTrail registros, você deve conceder a s3:ListBucket permissão delivery.logs.amazonaws.com e incluir Condition os parâmetros mostrados com o conjunto de s3:GetBucketAcl permissões na política de bucket anterior. Para simplificar isso, em vez de criar uma nova Statement, você pode atualizar AWSLogDeliveryAclCheck diretamente para “Action”: [“s3:GetBucketAcl”, “s3:ListBucket”]

Criptografia no lado do servidor de bucket do Amazon S3

Você pode proteger os dados em seu bucket do Amazon S3 habilitando a criptografia do lado do servidor com chaves gerenciadas pelo Amazon S3 (SSE-S3) ou a criptografia do lado do servidor com uma chave armazenada em (-). AWS KMS AWS Key Management Service SSE KMS Para obter mais informações, consulte Proteger dados usando a criptografia no lado do servidor.

Se você escolher SSE -S3, nenhuma configuração adicional será necessária. O Amazon S3 lida com a chave de criptografia.

Atenção

Se você escolher SSE -KMS, deverá usar uma chave gerenciada pelo cliente, pois o uso de uma chave AWS gerenciada não é suportado nesse cenário. Se você configurar a criptografia usando uma chave AWS gerenciada, os registros serão entregues em um formato ilegível.

Ao usar uma AWS KMS chave gerenciada pelo cliente, você pode especificar o Amazon Resource Name (ARN) da chave gerenciada pelo cliente ao ativar a criptografia do bucket. Você precisa adicionar o seguinte à política de chaves da chave gerenciada pelo cliente (não à política de bucket para o bucket do S3), para que a conta de entrega de log possa gravar no bucket do S3.

Se você escolher SSE -KMS, deverá usar uma chave gerenciada pelo cliente, pois o uso de uma chave AWS gerenciada não é suportado nesse cenário. Ao usar uma AWS KMS chave gerenciada pelo cliente, você pode especificar o Amazon Resource Name (ARN) da chave gerenciada pelo cliente ao ativar a criptografia do bucket. Você precisa adicionar o seguinte à política de chaves da chave gerenciada pelo cliente (não à política de bucket para o bucket do S3), para que a conta de entrega de log possa gravar no bucket do S3.

{ "Sid": "Allow Logs Delivery to use the key", "Effect": "Allow", "Principal": { "Service": [ "delivery.logs.amazonaws.com" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": ["0123456789"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:us-east-1:0123456789:*"] } } }

Paraaws:SourceAccount, especifique a lista de contas IDS para as quais os registros estão sendo entregues para esse bucket. Paraaws:SourceArn, especifique a lista ARNs do recurso que gera os registros, no formulárioarn:aws:logs:source-region:source-account-id:*.

Registros enviados para o Firehose

Esta seção se aplica quando os tipos de registros listados na tabela da seção anterior são enviados para o Firehose:

Permissões de usuário

Para poder configurar o envio de qualquer um desses tipos de registros para o Firehose pela primeira vez, você precisa estar conectado a uma conta com as seguintes permissões.

  • logs:CreateLogDelivery

  • firehose:TagDeliveryStream

  • iam:CreateServiceLinkedRole

Se algum desses tipos de registros já estiver sendo enviado para o Firehose, para configurar o envio de outro desses tipos de registros para o Firehose, você precisará ter apenas as permissões e. logs:CreateLogDelivery firehose:TagDeliveryStream

IAMfunções usadas para permissões

Como o Firehose não usa políticas de recursos, AWS usa IAM funções ao configurar esses registros para serem enviados ao Firehose. AWS cria uma função vinculada ao serviço chamada. AWSServiceRoleForLogDelivery Essa função vinculada ao serviço inclui as permissões a seguir.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "firehose:PutRecord", "firehose:PutRecordBatch", "firehose:ListTagsForDeliveryStream" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/LogDeliveryEnabled": "true" } }, "Effect": "Allow" } ] }

Essa função vinculada ao serviço concede permissão para todos os streams de entrega do Firehose que têm a tag definida como. LogDeliveryEnabled true AWS fornece essa tag ao stream de entrega de destino quando você configura o registro.

Essa função vinculada ao serviço também tem uma política de confiança que permite que a entidade de serviço delivery.logs.amazonaws.com assuma a função vinculada ao serviço necessária. Essa política de confiança é a seguinte:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Registro em log que requer permissões [v2] adicionais

Alguns AWS serviços usam um novo método para enviar seus registros. Esse é um método flexível que permite configurar a entrega de registros desses serviços para um ou mais dos seguintes destinos: CloudWatch Logs, Amazon S3 ou Firehose.

A entrega de um registro de trabalho consiste em três elementos:

  • ADeliverySource, que é um objeto lógico que representa os recursos que realmente enviam os registros.

  • ADeliveryDestination, que é um objeto lógico que representa o destino real da entrega.

  • ADelivery, que conecta uma fonte de entrega ao destino de entrega

Para configurar a entrega de registros entre um AWS serviço compatível e um destino, você deve fazer o seguinte:

  • Crie uma fonte de entrega com PutDeliverySource.

  • Crie um destino de entrega com PutDeliveryDestination.

  • Se você estiver entregando registros entre contas, deverá usá-los PutDeliveryDestinationPolicyna conta de destino para atribuir uma IAM política ao destino. Essa política autoriza a criação de uma entrega da fonte de entrega na conta A até o destino da entrega na conta B. Para entrega entre contas, você mesmo deve criar manualmente as políticas de permissão.

  • Crie uma entrega combinando exatamente uma fonte de entrega e um destino de entrega, usando CreateDelivery.

As seções a seguir fornecem os detalhes das permissões que você precisa ter ao fazer login para configurar a entrega de logs para cada tipo de destino, usando o processo v2. Essas permissões podem ser concedidas a uma IAM função com a qual você está conectado.

Importante

É sua responsabilidade remover os recursos de entrega de registros após excluir o recurso gerador de registros. Para fazer isso, siga estas etapas.

  1. Exclua o Delivery usando a DeleteDeliveryoperação.

  2. Exclua o DeliverySource usando a DeleteDeliverySourceoperação.

  3. Se o DeliveryDestination associado ao DeliverySource que você acabou de excluir for usado somente para esse específicoDeliverySource, você poderá removê-lo usando a DeleteDeliveryDestinationsoperação.

Registros enviados para CloudWatch Logs

Permissões de usuário

Para ativar o envio de CloudWatch registros para o Logs, você precisa estar conectado com as seguintes permissões.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReadWriteAccessForLogDeliveryActions", "Effect": "Allow", "Action": [ "logs:GetDelivery", "logs:GetDeliverySource", "logs:PutDeliveryDestination", "logs:GetDeliveryDestinationPolicy", "logs:DeleteDeliverySource", "logs:PutDeliveryDestinationPolicy", "logs:CreateDelivery", "logs:GetDeliveryDestination", "logs:PutDeliverySource", "logs:DeleteDeliveryDestination", "logs:DeleteDeliveryDestinationPolicy", "logs:DeleteDelivery" ], "Resource": [ "arn:aws:logs:region:account-id:delivery:*", "arn:aws:logs:region:account-id:delivery-source:*", "arn:aws:logs:region:account-id:delivery-destination:*" ] }, { "Sid": "ListAccessForLogDeliveryActions", "Effect": "Allow", "Action": [ "logs:DescribeDeliveryDestinations", "logs:DescribeDeliverySources", "logs:DescribeDeliveries" ], "Resource": "*" }, { "Sid": "AllowUpdatesToResourcePolicyCWL", "Effect": "Allow", "Action": [ "logs:PutResourcePolicy", "logs:DescribeResourcePolicies", "logs:DescribeLogGroups" ], "Resource": [ "arn:aws:logs:region:account-id:*" ] } ] }

Política de recursos do grupo de logs

O grupo de logs para o qual os logs estão sendo enviados deve ter uma política de recursos que contenha determinadas permissões. Se o grupo de registros atualmente não tiver uma política de recursos e o usuário que configura o registro tiver as logs:DescribeLogGroups permissõeslogs:PutResourcePolicy,logs:DescribeResourcePolicies, e para o grupo de registros, AWS criará automaticamente a política a seguir quando você começar a enviar os CloudWatch registros para o Logs.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSLogDeliveryWrite20150319", "Effect": "Allow", "Principal": { "Service": [ "delivery.logs.amazonaws.com" ] }, "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:us-east-1:0123456789:log-group:my-log-group:log-stream:*" ], "Condition": { "StringEquals": { "aws:SourceAccount": ["0123456789"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:us-east-1:0123456789:*"] } } } ] }

Considerações sobre o limite do tamanho da política de recursos do grupo de logs

Esses serviços devem listar cada grupo de registros para o qual estão enviando registros na política de recursos, e as políticas de recursos de CloudWatch registros estão limitadas a 5120 caracteres. Um serviço que envia logs a um grande número de grupos de logs pode se deparar com esse limite.

Para mitigar isso, o CloudWatch Logs monitora o tamanho das políticas de recursos usadas pelo serviço que está enviando registros e, quando detecta que uma política se aproxima do limite de tamanho de 5120 caracteres, o CloudWatch Logs ativa /aws/vendedlogs/* automaticamente a política de recursos desse serviço. Depois, você pode começar a usar grupos de logs com nomes que começam com /aws/vendedlogs/ como destinos para os logs desses serviços.

Logs enviados ao Amazon S3

Permissões de usuário

Para permitir o envio de logs ao Amazon S3, é necessário fazer login com as permissões a seguir.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReadWriteAccessForLogDeliveryActions", "Effect": "Allow", "Action": [ "logs:GetDelivery", "logs:GetDeliverySource", "logs:PutDeliveryDestination", "logs:GetDeliveryDestinationPolicy", "logs:DeleteDeliverySource", "logs:PutDeliveryDestinationPolicy", "logs:CreateDelivery", "logs:GetDeliveryDestination", "logs:PutDeliverySource", "logs:DeleteDeliveryDestination", "logs:DeleteDeliveryDestinationPolicy", "logs:DeleteDelivery" ], "Resource": [ "arn:aws:logs:region:account-id:delivery:*", "arn:aws:logs:region:account-id:delivery-source:*", "arn:aws:logs:region:account-id:delivery-destination:*" ] }, { "Sid": "ListAccessForLogDeliveryActions", "Effect": "Allow", "Action": [ "logs:DescribeDeliveryDestinations", "logs:DescribeDeliverySources", "logs:DescribeDeliveries" ], "Resource": "*" }, { "Sid": "AllowUpdatesToResourcePolicyS3", "Effect": "Allow", "Action": [ "s3:PutBucketPolicy", "s3:GetBucketPolicy" ], "Resource": "arn:aws:s3:::bucket-name" } ] }

O bucket do S3 para o qual os logs estão sendo enviados deve ter uma política de recursos que contenha determinadas permissões. Se o bucket atualmente não tiver uma política de recursos e o usuário que configura o registro tiver as S3:PutBucketPolicy permissões S3:GetBucketPolicy e para o bucket, criará AWS automaticamente a seguinte política para ele quando você começar a enviar os registros para o Amazon S3.

{ "Version": "2012-10-17", "Id": "AWSLogDeliveryWrite20150319", "Statement": [ { "Sid": "AWSLogDeliveryAclCheck", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::my-bucket", "Condition": { "StringEquals": { "aws:SourceAccount": ["0123456789"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:us-east-1:0123456789:delivery-source*"] } } }, { "Sid": "AWSLogDeliveryWrite", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::my-bucket/AWSLogs/account-ID/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": ["0123456789"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:us-east-1:0123456789:delivery-source:*"] } } } ] }

Na política anterior, foraws:SourceAccount, especifique a lista de contas IDS para as quais os registros estão sendo entregues a esse bucket. Paraaws:SourceArn, especifique a lista ARNs do recurso que gera os registros, no formulárioarn:aws:logs:source-region:source-account-id:*.

Se o bucket tiver uma política de recursos, mas ela não contiver a instrução exibida na política anterior, e o usuário configurando o log tiver as permissões S3:GetBucketPolicy e S3:PutBucketPolicy para o bucket, essa instrução será anexada à política de recursos do bucket.

nota

Em alguns casos, você pode ver AccessDenied erros AWS CloudTrail se a s3:ListBucket permissão não tiver sido concedidadelivery.logs.amazonaws.com. Para evitar esses erros em seus CloudTrail registros, você deve conceder a s3:ListBucket permissão delivery.logs.amazonaws.com e incluir Condition os parâmetros mostrados com o conjunto de s3:GetBucketAcl permissões na política de bucket anterior. Para simplificar isso, em vez de criar uma nova Statement, você pode atualizar AWSLogDeliveryAclCheck diretamente para “Action”: [“s3:GetBucketAcl”, “s3:ListBucket”]

Criptografia no lado do servidor de bucket do Amazon S3

Você pode proteger os dados em seu bucket do Amazon S3 habilitando a criptografia do lado do servidor com chaves gerenciadas pelo Amazon S3 (SSE-S3) ou a criptografia do lado do servidor com uma chave armazenada em (-). AWS KMS AWS Key Management Service SSE KMS Para obter mais informações, consulte Proteger dados usando a criptografia no lado do servidor.

Se você escolher SSE -S3, nenhuma configuração adicional será necessária. O Amazon S3 lida com a chave de criptografia.

Atenção

Se você escolher SSE -KMS, deverá usar uma chave gerenciada pelo cliente, pois o uso de uma chave AWS gerenciada não é suportado nesse cenário. Se você configurar a criptografia usando uma chave AWS gerenciada, os registros serão entregues em um formato ilegível.

Ao usar uma AWS KMS chave gerenciada pelo cliente, você pode especificar o Amazon Resource Name (ARN) da chave gerenciada pelo cliente ao ativar a criptografia do bucket. Você precisa adicionar o seguinte à política de chaves da chave gerenciada pelo cliente (não à política de bucket para o bucket do S3), para que a conta de entrega de log possa gravar no bucket do S3.

Se você escolher SSE -KMS, deverá usar uma chave gerenciada pelo cliente, pois o uso de uma chave AWS gerenciada não é suportado nesse cenário. Ao usar uma AWS KMS chave gerenciada pelo cliente, você pode especificar o Amazon Resource Name (ARN) da chave gerenciada pelo cliente ao ativar a criptografia do bucket. Você precisa adicionar o seguinte à política de chaves da chave gerenciada pelo cliente (não à política de bucket para o bucket do S3), para que a conta de entrega de log possa gravar no bucket do S3.

{ "Sid": "Allow Logs Delivery to use the key", "Effect": "Allow", "Principal": { "Service": [ "delivery.logs.amazonaws.com" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": ["0123456789"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:us-east-1:0123456789:delivery-source:*"] } } }

Paraaws:SourceAccount, especifique a lista de contas IDS para as quais os registros estão sendo entregues para esse bucket. Paraaws:SourceArn, especifique a lista ARNs do recurso que gera os registros, no formulárioarn:aws:logs:source-region:source-account-id:*.

Registros enviados para o Firehose

Permissões de usuário

Para ativar o envio de registros para o Firehose, você deve estar conectado com as seguintes permissões.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReadWriteAccessForLogDeliveryActions", "Effect": "Allow", "Action": [ "logs:GetDelivery", "logs:GetDeliverySource", "logs:PutDeliveryDestination", "logs:GetDeliveryDestinationPolicy", "logs:DeleteDeliverySource", "logs:PutDeliveryDestinationPolicy", "logs:CreateDelivery", "logs:GetDeliveryDestination", "logs:PutDeliverySource", "logs:DeleteDeliveryDestination", "logs:DeleteDeliveryDestinationPolicy", "logs:DeleteDelivery" ], "Resource": [ "arn:aws:logs:region:account-id:delivery:*", "arn:aws:logs:region:account-id:delivery-source:*", "arn:aws:logs:region:account-id:delivery-destination:*" ] }, { "Sid": "ListAccessForLogDeliveryActions", "Effect": "Allow", "Action": [ "logs:DescribeDeliveryDestinations", "logs:DescribeDeliverySources", "logs:DescribeDeliveries" ], "Resource": "*" }, { "Sid": "AllowUpdatesToResourcePolicyFH", "Effect": "Allow", "Action": [ "firehose:TagDeliveryStream" ], "Resource": [ "arn:aws:firehose:region:account-id:deliverystream/*" ] }, { "Sid": "CreateServiceLinkedRole", "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "arn:aws:iam::account-id:role/aws-service-role/delivery.logs.amazonaws.com/AWSServiceRoleForLogDelivery" } ] }

IAMfunções usadas para permissões de recursos

Como o Firehose não usa políticas de recursos, AWS usa IAM funções ao configurar esses registros para serem enviados ao Firehose. AWS cria uma função vinculada ao serviço chamada. AWSServiceRoleForLogDelivery Essa função vinculada ao serviço inclui as permissões a seguir.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "firehose:PutRecord", "firehose:PutRecordBatch", "firehose:ListTagsForDeliveryStream" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/LogDeliveryEnabled": "true" } }, "Effect": "Allow" } ] }

Essa função vinculada ao serviço concede permissão para todos os streams de entrega do Firehose que têm a tag definida como. LogDeliveryEnabled true AWS fornece essa tag ao stream de entrega de destino quando você configura o registro.

Essa função vinculada ao serviço também tem uma política de confiança que permite que a entidade de serviço delivery.logs.amazonaws.com assuma a função vinculada ao serviço necessária. Essa política de confiança é a seguinte:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Permissões específicas do serviço

Além das permissões específicas do destino listadas nas seções anteriores, alguns serviços exigem autorização explícita para que os clientes possam enviar registros de seus recursos, como uma camada adicional de segurança. Ele autoriza a AllowVendedLogDeliveryForResource ação de recursos que vendem registros dentro desse serviço. Para esses serviços, use a política a seguir e substitua service e resource-type com os valores apropriados. Para obter os valores específicos do serviço para esses campos, consulte a página de documentação desses serviços para registros vendidos.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ServiceLevelAccessForLogDelivery", "Effect": "Allow", "Action": [ "service:AllowVendedLogDeliveryForResource" ], "Resource": "arn:aws:service:region:account-id:resource-type/*" } ] }

Permissões específicas do console

Além das permissões listadas nas seções anteriores, se você estiver configurando a entrega de registros usando o console em vez doAPIs, você também precisará das seguintes permissões adicionais:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowLogDeliveryActionsConsoleCWL", "Effect": "Allow", "Action": [ "logs:DescribeLogGroups" ], "Resource": [ "arn:aws:logs:us-east-1:111122223333:log-group:*" ] }, { "Sid": "AllowLogDeliveryActionsConsoleS3", "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets", "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::*" ] }, { "Sid": "AllowLogDeliveryActionsConsoleFH", "Effect": "Allow", "Action": [ "firehose:ListDeliveryStreams", "firehose:DescribeDeliveryStream" ], "Resource": [ "*" ] } ] }

Prevenção contra o ataque do “substituto confuso” em todos os serviços

“Confused deputy” é um problema de segurança no qual uma entidade sem permissão para executar uma ação pode coagir uma entidade mais privilegiada a executá-la. Em AWS, a falsificação de identidade entre serviços pode resultar no problema confuso do deputado. A personificação entre serviços pode ocorrer quando um serviço (o serviço de chamada) chama outro serviço (o serviço chamado). O serviço de chamada pode ser manipulado de modo a usar suas permissões para atuar nos recursos de outro cliente de uma forma na qual ele não deveria ter permissão para acessar. Para evitar isso, a AWS fornece ferramentas que ajudam você a proteger seus dados para todos os serviços com entidades principais de serviço que receberam acesso aos recursos em sua conta.

Recomendamos usar as chaves de contexto de condição aws:SourceArnaws:SourceAccountaws:SourceOrgID,, e aws:SourceOrgPathsglobal nas políticas de recursos para limitar as permissões que o CloudWatch Logs concede a outro serviço ao recurso. Use aws:SourceArn se quiser associar apenas um recurso ao acesso entre serviços. Use aws:SourceAccount se quiser permitir que qualquer recurso nessa conta seja associado ao uso entre serviços. Use aws:SourceOrgID se quiser permitir que qualquer recurso de qualquer conta de uma organização seja associado ao uso entre serviços. Use aws:SourceOrgPaths se quiser associar qualquer recurso das contas em um caminho do AWS Organizations seja associado ao uso entre serviços. Para obter mais informações sobre como usar e entender caminhos, consulte Compreender o caminho da AWS Organizations entidade.

A maneira mais eficaz de se proteger contra o confuso problema do deputado é usar a chave de contexto ARN de condição aws:SourceArn global com todo o recurso. Se você não souber a totalidade ARN do recurso ou se estiver especificando vários recursos, use a chave de condição de contexto aws:SourceArn global com caracteres curinga (*) para as partes desconhecidas do. ARN Por exemplo, arn:aws:servicename:*:123456789012:*.

Se o aws:SourceArn valor não contiver o ID da conta, como um bucket do Amazon S3ARN, você deverá usar ambos aws:SourceAccount e aws:SourceArn limitar as permissões.

Para se proteger do problema de "confused deputy" em grande escala, use a chave de contexto de condição global aws:SourceOrgID ou aws:SourceOrgPaths com o ID ou o caminho da organização do recurso nas políticas baseadas em recursos. As políticas que incluem a chave aws:SourceOrgID ou aws:SourceOrgPaths incluem automaticamente as contas corretas e você não tem que atualizar manualmente as políticas quando adiciona, remove ou move contas na organização.

As políticas nas seções anteriores desta página mostram como você pode usar as chaves de contexto de condição global aws:SourceArn e aws:SourceAccount para evitar o problema “confused deputy”.

CloudWatch Registra atualizações em políticas AWS gerenciadas

Veja detalhes sobre as atualizações das políticas AWS gerenciadas do CloudWatch Logs desde que esse serviço começou a monitorar essas alterações. Para receber alertas automáticos sobre alterações nessa página, assine o RSS feed na página Histórico de documentos de CloudWatch registros.

Alteração Descrição Data

AWSServiceRoleForLogDelivery política de função vinculada ao serviço — atualização de uma política existente

CloudWatch Os registros alteraram as permissões na IAM política associada à função AWSServiceRoleForLogDeliveryvinculada ao serviço. Foi feita a seguinte alteração:

  • A chave de condição firehose:ResourceTag/LogDeliveryEnabled": "true" foi alterada para aws:ResourceTag/LogDeliveryEnabled": "true".

15 de julho de 2021

CloudWatch Os registros começaram a rastrear as alterações

CloudWatch A Logs começou a rastrear as alterações em suas políticas AWS gerenciadas.

10 de junho de 2021