Habilitar o registro em log de auditoria - Amazon WorkMail

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 em log de auditoria

Você pode usar registros de auditoria para capturar informações detalhadas sobre o uso da sua WorkMail organização na Amazon. Os registros de auditoria podem ser usados para monitorar o acesso do usuário às caixas de correio, auditar atividades suspeitas e depurar as configurações do provedor de disponibilidade e controle de acesso.

nota

A política AmazonWorkMailFullAccessgerenciada não inclui todas as permissões necessárias para gerenciar entregas de registros. Se você estiver usando essa política para gerenciar WorkMail, certifique-se de que o principal (por exemplo, a função assumida) usado para configurar as entregas de registros também tenha todas as permissões necessárias.

A Amazon WorkMail oferece suporte a três destinos de entrega para registros de auditoria: CloudWatch Logs, Amazon S3 e Amazon Data Firehose. Para obter mais informações, consulte Registros que exigem permissões adicionais [V2] no Guia do usuário do Amazon CloudWatch Logs.

Além das permissões listadas em Logging que exigem permissões adicionais [V2], a Amazon WorkMail exige uma permissão adicional para configurar a entrega de registros:workmail:AllowVendedLogDeliveryForResource.

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

  • DeliverySource, um objeto lógico que representa o recurso ou recursos que enviam os registros. Para a Amazon WorkMail, é a Amazon WorkMail Organization.

  • Um DeliveryDestination, que é um objeto lógico que representa o destino da entrega de fato .

  • Uma entrega, que conecta uma fonte de entrega ao destino da entrega.

Para configurar a entrega de registros entre a Amazon WorkMail e um destino, você pode 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á usar PutDeliveryDestinationPolicyna conta de destino para atribuir uma política do IAM ao destino. Essa política autoriza a criação de uma entrega da fonte de entrega na conta A para o destino da entrega na conta B.

  • 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ê deve ter quando está conectado para configurar a entrega de registros para cada tipo de destino. Essas permissões podem ser concedidas a uma função do IAM 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 remover os recursos de entrega de registros após excluir o recurso gerador de registros, siga estas etapas.

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

  2. Exclua o DeliverySourceusando a DeleteDeliverySourceoperação.

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

Configurando o registro de auditoria usando o console da Amazon WorkMail

Você pode configurar o registro de auditoria no WorkMail console da Amazon:

  1. Abra o WorkMail console da Amazon em https://console.aws.amazon.com/workmail/.

    Se necessário, altere a AWS região. Na barra na parte superior da janela do console, abra a lista Selecionar uma região e selecione uma região. Para obter mais informações, consulte Regiões e endpoints na Referência geral da Amazon Web Services.

  2. No painel de navegação, selecione Organizações e, em seguida, escolha o nome da organização.

  3. Escolha Configurações de registro.

  4. Escolha a guia Configurações do registro de auditoria.

  5. Configure as entregas para o tipo de registro necessário usando o widget apropriado.

  6. Escolha Salvar.

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", "logs:DescribeLogGroups" ], "Resource": "*" }, { "Sid": "AllowUpdatesToResourcePolicyCWL", "Effect": "Allow", "Action": [ "logs:PutResourcePolicy", "logs:DescribeResourcePolicies", "logs:DescribeLogGroups" ], "Resource": [ "arn:aws:logs:region:account-id:*" ] } { "Sid":"AllowLogDeliveryForWorkMail", "Effect":"Allow", "Action":[ "workmail:AllowVendedLogDeliveryForResource" ], "Resource":[ "arn:aws:workmail:region:account-id:organization/organization-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:region:account-id:log-group:my-log-group:log-stream:*" ], "Condition":{ "StringEquals":{ "aws:SourceAccount":[ "account-id" ] }, "ArnLike":{ "aws:SourceArn":[ "arn:aws:logs:region:account-id:*" ] } } } ] }

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. CloudWatch As políticas de recursos de registros estão limitadas a 5.120 caracteres. Um serviço que envia logs a muitos grupos de logs 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. Quando detecta que uma política se aproxima do limite de tamanho de 5.120 caracteres, o CloudWatch Logs ativa automaticamente a política /aws/vendedlogs/* 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", "logs:DescribeLogGroups" ], "Resource": "*" }, { "Sid": "AllowUpdatesToResourcePolicyS3", "Effect": "Allow", "Action": [ "s3:PutBucketPolicy", "s3:GetBucketPolicy" ], "Resource": "arn:aws:s3:::bucket-name" } { "Sid":"AllowLogDeliveryForWorkMail", "Effect":"Allow", "Action":[ "workmail:AllowVendedLogDeliveryForResource" ], "Resource":[ "arn:aws:workmail:region:account-id:organization/organization-id" ] } ] }

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":[ "account-id" ] }, "ArnLike":{ "aws:SourceArn":[ "arn:aws:logs:region:account-id: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":[ "account-id" ] }, "ArnLike":{ "aws:SourceArn":[ "arn:aws:logs:region:account-id: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 essa política não contiver a declaração mostrada na política anterior, e o usuário que estiver configurando o registro tiver as S3:PutBucketPolicy permissões S3:GetBucketPolicy e para o bucket, essa declaraçã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 paradelivery.logs.amazonaws.com. Você também deve incluir os Condition parâmetros mostrados com o conjunto de s3:GetBucketAcl permissões na política de bucket anterior. Para simplificar isso, em vez de criar um novoStatement, você pode atualizar diretamente o AWSLogDeliveryAclCheck to be“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 (SSE-KMS). AWS KMS AWS Key Management Service 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 o SSE-KMS, deverá usar uma chave gerenciada pelo cliente, pois o uso de um Chave gerenciada pela AWS 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. Adicione o seguinte à política de chaves da chave gerenciada pelo cliente (não à política de bucket do S3), para que a conta de entrega de log possa gravar no bucket do S3.

Se você escolher o 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. Adicione o seguinte à política de chaves da chave gerenciada pelo cliente (não à política de 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":[ "account-id" ] }, "ArnLike":{ "aws:SourceArn":[ "arn:aws:logs:region:account-id: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:*.

Logs enviados ao Firehose

Permissões de usuário

Para permitir o envio de logs ao Firehose, você primeiro deve 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", "logs:DescribeLogGroups" ], "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" } { "Sid":"AllowLogDeliveryForWorkMail", "Effect":"Allow", "Action":[ "workmail:AllowVendedLogDeliveryForResource" ], "Resource":[ "arn:aws:workmail:region:account-id:organization/organization-id" ] } ] }

Perfis do IAM usados para permissões de recursos

Como o Firehose não usa políticas de recursos, AWS usa funções do IAM 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 seguintes permissões.

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

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

{ "Version":"2012-10-17", "Statement":[ { "Sid":"AllowLogDeliveryActions", "Effect":"Allow", "Action":[ "firehose:DescribeDeliveryStream", "s3:ListBucket", "s3:GetBucketLocation" ], "Resource":[ "arn:aws:logs:region:account-id:log-group:*", "arn:aws:firehose:region:account-id:deliverystream/*", "arn:aws:s3:::*" ] }, { "Sid":"ListAccessForDeliveryDestinations", "Effect":"Allow", "Action":[ "logs:DescribeLogGroups", "firehose:ListDeliveryStreams", "s3:ListAllMyBuckets" ], "Resource":"*" } ] }