Logs do Amazon CloudWatch
Guia do usuário

Como usar políticas com base em identidade (políticas IAM) para CloudWatch Logs

Este tópico fornece exemplos de políticas baseadas em identidade em que um administrador de conta pode anexar políticas de permissões a identidades do IAM (ou seja, usuários, grupos e funções).

Importante

Recomendamos que você analise primeiramente os tópicos introdutórios que explicam os conceitos básicos e as opções disponíveis para gerenciar o acesso aos recursos do CloudWatch Logs. Para obter mais informações, consulte Visão geral do gerenciamento de permissões para seus recursos do CloudWatch Logs.

Este tópico abrange o seguinte:

Veja a seguir um exemplo de política de permissões:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Resource": [ "arn:aws:logs:*:*:*" ] } ] }

Essa política tem uma instrução que concede permissões para criar grupos e streams de log para fazer upload de eventos de log para streams de log e listar detalhes sobre streams de log.

O caractere curinga (*) no final do valor Resource significa que a instrução dá permissões para as ações logs:CreateLogGroup, logs:CreateLogStream, logs:PutLogEvents e logs:DescribeLogStreams em qualquer grupo de logs. Para limitar essa permissão a um determinado grupo de logs, substitua o caractere curinga (*) no ARN do recurso pelo ARN do grupo de logs específico. Para obter mais informações sobre as seções em uma declaração de política do IAM, consulte Referência a elementos de políticas do IAM no Guia do usuário do IAM. Para obter uma lista que mostre todas as ações do CloudWatch Logs, consulte Referência de permissões do CloudWatch Logs.

Permissões necessárias para usar o console do CloudWatch

Para que um usuário trabalhe com o CloudWatch Logs no console do CloudWatch, ele deve ter um conjunto mínimo de permissões que permita descrever outros recursos da AWS em sua conta da AWS. Para usar o CloudWatch Logs no console do CloudWatch, você deve ter permissões dos seguintes serviços:

  • CloudWatch

  • CloudWatch Logs

  • Amazon ES

  • IAM

  • Kinesis

  • Lambda

  • Amazon S3

Se você criar uma política do IAM que seja mais restritiva que as permissões mínimas necessárias, o console não funcionará como pretendido para os usuários com essa política do IAM. Para garantir que esses usuários ainda consigam usar o console do CloudWatch associe também a política gerenciada CloudWatchReadOnlyAccess ao usuário, conforme descrito em Políticas gerenciadas pela AWS (predefinidas) para o CloudWatch Logs.

Você não precisa conceder permissões mínimas do console para os usuários que estão fazendo ligações somente com a AWS CLI ou a API do CloudWatch Logs.

O conjunto completo de permissões necessárias para trabalhar com o console do CloudWatch para um usuário que não está usando o console para gerenciar assinaturas de log inclui:

  • cloudwatch:getMetricData

  • cloudwatch:listMetrics

  • logs:cancelExportTask

  • logs:createExportTask

  • logs:createLogGroup

  • logs:createLogStream

  • logs:deleteLogGroup

  • logs:deleteLogStream

  • logs:deleteMetricFilter

  • logs:deleteRetentionPolicy

  • logs:deleteSubscriptionFilter

  • logs:describeExportTasks

  • logs:describeLogGroups

  • logs:describeLogStreams

  • logs:describeMetricFilters

  • logs:describeSubscriptionFilters

  • logs:filterLogEvents

  • logs:getLogEvents

  • logs:putMetricFilter

  • logs:putRetentionPolicy

  • logs:putSubscriptionFilter

  • logs:testMetricFilter

Para um usuário que também usará o console para gerenciar assinaturas de log, as seguintes permissões também são necessárias:

  • es:describeElasticsearchDomain

  • es:listDomainNames

  • iam:attachRolePolicy

  • iam:createRole

  • iam:getPolicy

  • iam:getPolicyVersion

  • iam:getRole

  • iam:listAttachedRolePolicies

  • iam:listRoles

  • kinesis:describeStreams

  • kinesis:listStreams

  • lambda:addPermission

  • lambda:createFunction

  • lambda:getFunctionConfiguration

  • lambda:listAliases

  • lambda:listFunctions

  • lambda:listVersionsByFunction

  • lambda:removePermission

  • s3:listBuckets

Políticas gerenciadas pela AWS (predefinidas) para o CloudWatch Logs

A AWS resolve muitos casos de uso comuns fornecendo políticas do IAM autônomas criadas e administradas pela AWS. As políticas gerenciadas concedem permissões necessárias para casos de uso comuns, de maneira que você possa evitar a necessidade de investigar quais permissões são necessárias. Para obter mais informações, consulte as Políticas gerenciadas da AWS no Guia do usuário do IAM.

As políticas gerenciadas pela AWS a seguir, que você pode associar a usuários na sua conta, são específicas do CloudWatch Logs:

  • CloudWatchLogsFullAccess – Concede acesso total ao CloudWatch Logs.

  • CloudWatchLogsReadOnlyAccess – Concede acesso somente leitura ao CloudWatch Logs.

nota

Você pode analisar essas políticas de permissões fazendo login no console do IAM e procurando políticas específicas.

Você também pode criar suas próprias políticas do IAM personalizadas a fim de permitir permissões para ações e recursos do CloudWatch Logs. Você pode anexar essas políticas personalizadas a usuários ou grupos do IAM que exijam essas permissões.

Exemplos de política gerenciada pelo cliente

Nesta seção, você encontrará exemplos de políticas de usuário que concedem permissões para diversas ações do CloudWatch Logs. Essas políticas funcionam quando você está usando CloudWatch Logs API, AWS SDKs ou a AWS CLI.

Exemplo 1: Permitir acesso total ao CloudWatch Logs

A seguinte política permite que um usuário acesse todas as ações do CloudWatch Logs.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "logs:*" ], "Effect": "Allow", "Resource": "*" } ] }

Exemplo 2: Permitir acesso somente leitura ao CloudWatch Logs

A seguinte política permite que um usuário tenha acesso somente leitura aos dados do CloudWatch Logs.

{ "Version":"2012-10-17", "Statement":[ { "Action":[ "logs:Describe*", "logs:Get*", "logs:TestMetricFilter", "logs:FilterLogEvents" ], "Effect":"Allow", "Resource":"*" } ] }