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á.
Exemplos de políticas baseadas em identidade para o AWS CloudTrail
Por padrão, usuários e perfis não têm permissão para criar ou modificar recursos do CloudTrail. Eles também não podem realizar tarefas usando a AWS API AWS Management Console, AWS Command Line Interface (AWS CLI) ou. Para conceder permissão aos usuários para executar ações nos recursos que eles precisam, um administrador do IAM pode criar políticas do IAM. O administrador pode então adicionar as políticas do IAM aos perfis e os usuários podem assumir os perfis.
Para aprender a criar uma política baseada em identidade do IAM ao usar esses documentos de política em JSON de exemplo, consulte Criar políticas do IAM (console) no Guia do usuário do IAM.
Para obter detalhes sobre ações e tipos de recurso definidos pelo CloudTrail, incluindo o formato do ARNs para cada tipo de recurso, consulte Ações, Recursos e Chaves de Condição do AWS CloudTrail na Referência de Autorização do Serviço.
Tópicos
Práticas recomendadas de política
As políticas baseadas em identidade determinam se alguém pode criar, acessar ou excluir CloudTrail recursos do na sua conta. Essas ações podem incorrer em custos para sua Conta da AWS. Ao criar ou editar políticas baseadas em identidade, siga estas diretrizes e recomendações:
-
Comece com as políticas AWS gerenciadas pela e avance para as permissões de privilégio mínimo: para começar a conceder permissões a seus usuários e workloads, use as políticas AWS gerenciadas pela, que concedem permissões para muitos casos de uso comuns. Eles estão disponíveis no seu Conta da AWS. Recomendamos que você reduza ainda mais as permissões definindo as políticas gerenciadas pelo AWS cliente que são específicas para seus casos de uso. Para obter mais informações, consulte Políticas gerenciadas pela AWS ou Políticas gerenciadas pela AWS para funções de trabalho no Guia do usuário do IAM.
-
Aplique permissões de privilégio mínimo: ao definir permissões com as políticas do IAM, conceda apenas as permissões necessárias para executar uma tarefa. Você faz isso definindo as ações que podem ser executadas em recursos específicos sob condições específicas, também conhecidas como permissões de privilégio mínimo. Para obter mais informações sobre como usar o IAM para aplicar permissões, consulte Políticas e permissões no IAM no Guia do usuário do IAM.
-
Use condições nas políticas do IAM para restringir ainda mais o acesso: você pode adicionar uma condição às políticas para limitar o acesso a ações e recursos. Por exemplo, você pode escrever uma condição de política para especificar que todas as solicitações devem ser enviadas usando SSL. Você também pode usar condições para conceder acesso a ações de serviço se elas forem usadas por meio de um específico AWS service (Serviço da AWS), como o AWS CloudFormation. Para obter mais informações, consulte Elementos da política JSON do IAM: condição no Guia do usuário do IAM.
-
Use o IAM Access Analyzer para validar suas políticas do IAM a fim de garantir permissões seguras e funcionais: o IAM Access Analyzer valida as políticas novas e existentes para que elas sigam a linguagem de política do IAM (JSON) e as práticas recomendadas do IAM. O IAM Access Analyzer oferece mais de cem verificações de política e recomendações práticas para ajudar a criar políticas seguras e funcionais. Para obter mais informações, consulte Validação de políticas do IAM Access Analyzer no Guia do Usuário do IAM.
-
Exija autenticação multifator (MFA): se você tiver um cenário que exija usuários do IAM ou um usuário raiz em Conta da AWS sua, ative a MFA para obter segurança adicional. Para exigir MFA quando as operações de API forem chamadas, adicione condições de MFA às suas políticas. Para obter mais informações, consulte Configuração de acesso à API protegido por MFA no Guia do Usuário do IAM.
Para obter mais informações sobre as práticas recomendadas do IAM, consulte Práticas recomendadas de segurança no IAM no Guia do usuário do IAM.
CloudTrail não tem chaves de contexto específicas do serviço que podem ser usadas no Condition
elemento de declarações da política.
Exemplo: permitir e negar ações para uma trilha especificada
O exemplo a seguir demonstra uma política que permite que os usuários com essa política visualizem o status e a configuração de uma trilha e iniciem e interrompam o registro de uma trilha chamadaMy-First-Trail
. Essa trilha foi criada na região Leste dos EUA (Ohio) (a região inicial) na Conta da AWS com o ID123456789012
.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudtrail:StartLogging", "cloudtrail:StopLogging", "cloudtrail:GetTrail", "cloudtrail:GetTrailStatus", "cloudtrail:GetEventSelectors" ], "Resource": [ "arn:aws:cloudtrail:
us-east-2
:123456789012
:trail/My-First-Trail
" ] } ] }
O exemplo a seguir demonstra uma política que nega explicitamente CloudTrail ações para qualquer trilha sem nome. My-First-Trail
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "cloudtrail:*" ], "NotResource": [ "arn:aws:cloudtrail:us-east-2:123456789012:trail/
My-First-Trail
" ] } ] }
Exemplos: criação e aplicação de políticas para ações em trilhas específicas
Você pode usar permissões e políticas para controlar a capacidade do usuário de realizar ações específicas em CloudTrail trilhas.
Por exemplo, você não deseja que os usuários do grupo de desenvolvedores da sua empresa iniciem ou interrompam o registro em log em uma trilha específica. No entanto, talvez você queira conceder a eles permissão para realizar as ações DescribeTrails
e GetTrailStatus
na trilha. Você deseja que os usuários do grupo de desenvolvedores realizem as ações StartLogging
ou StopLogging
nas trilhas que gerenciam.
É possível criar duas declarações de política e anexá-las ao grupo de desenvolvedores criado por você no IAM. Para obter mais informações sobre grupos do IAM, consulte Grupos do IAM no Manual do usuário do IAM.
Na primeira política, negue as ações StartLogging
e StopLogging
para o nome de região da Amazon (ARN) da trilha que você especificar. No exemplo a seguir, o Nome de região da Amazon (ARN) da trilha é arn:aws:cloudtrail:us-east-2:123456789012:trail/Example-Trail
.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1446057698000", "Effect": "Deny", "Action": [ "cloudtrail:StartLogging", "cloudtrail:StopLogging" ], "Resource": [ "arn:aws:cloudtrail:us-east-2:123456789012:trail/Example-Trail" ] } ] }
Na segunda política, as GetTrailStatus
ações DescribeTrails
e são permitidas em todos os CloudTrail recursos:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1446072643000", "Effect": "Allow", "Action": [ "cloudtrail:DescribeTrails", "cloudtrail:GetTrail", "cloudtrail:GetTrailStatus" ], "Resource": [ "*" ] } ] }
Se um usuário do grupo de desenvolvedores tentar iniciar ou interromper o registro na trilha que você especificou na primeira política, ele receberá uma exceção de acesso negado. Os usuários do grupo de desenvolvedores podem iniciar e interromper o registro nas trilhas que criam e gerenciam.
Os seguintes exemplos mostram o grupo de desenvolvedores configurado em um AWS CLI perfil de chamadodevgroup
. Primeiro, um usuário de devgroup
executa o comando describe-trails
.
$ aws --profile devgroup cloudtrail describe-trails
O comando foi concluído com êxito com a seguinte saída:
{ "trailList": [ { "IncludeGlobalServiceEvents": true, "Name": "Default", "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/Example-Trail", "IsMultiRegionTrail": false, "S3BucketName": "amzn-s3-demo-bucket", "HomeRegion": "us-east-2" } ] }
O usuário executa o comando get-trail-status
na trilha que você especificou na primeira política.
$ aws --profile devgroup cloudtrail get-trail-status --name Example-Trail
O comando foi concluído com êxito com a seguinte saída:
{ "LatestDeliveryTime": 1449517556.256, "LatestDeliveryAttemptTime": "2015-12-07T19:45:56Z", "LatestNotificationAttemptSucceeded": "", "LatestDeliveryAttemptSucceeded": "2015-12-07T19:45:56Z", "IsLogging": true, "TimeLoggingStarted": "2015-12-07T19:36:27Z", "StartLoggingTime": 1449516987.685, "StopLoggingTime": 1449516977.332, "LatestNotificationAttemptTime": "", "TimeLoggingStopped": "2015-12-07T19:36:17Z" }
Em seguida, um usuário no grupo devgroup
executa o comando stop-logging
na mesma trilha.
$ aws --profile devgroup cloudtrail stop-logging --name Example-Trail
O comando retorna uma exceção de acesso negado, como a seguinte:
A client error (AccessDeniedException) occurred when calling the StopLogging operation: Unknown
O usuário executa o comando start-logging
na mesma trilha.
$ aws --profile devgroup cloudtrail start-logging --name Example-Trail
Novamente, o comando retorna uma exceção de acesso negado, como a seguinte:
A client error (AccessDeniedException) occurred when calling the StartLogging operation: Unknown
Exemplos: negação de acesso para criar ou excluir armazenamentos de dados de eventos com base em tags
No exemplo de política a seguir, a permissão para criar um armazenamento de dados de eventos com CreateEventDataStore
será negada se pelo menos uma das seguintes condições não for atendida:
-
O armazenamento de dados de eventos não tem uma chave de tag
stage
aplicada a si mesmo -
O valor da tag do estágio não é
alpha
,beta
,gamma
ouprod
.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "cloudtrail:CreateEventDataStore", "Resource": "*", "Condition": { "Null": { "aws:RequestTag/stage": "true" } } }, { "Effect": "Deny", "Action": "cloudtrail:CreateEventDataStore", "Resource": "*", "Condition": { "ForAnyValue:StringNotEquals": { "aws:RequestTag/stage": [ "alpha", "beta", "gamma", "prod" ] } } } ] }
No exemplo de política a seguir, a permissão para excluir um armazenamento de dados de evento com DeleteEventDataStore
será negada se o armazenamento de dados de eventos tiver uma tag stage
com um valor deprod
. Uma política como essa pode ajudar a proteger um armazenamento de dados de eventos contra exclusão acidental.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "cloudtrail:DeleteEventDataStore", "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/stage": "prod" } } } ] }
Usar o console do CloudTrail
Para acessar o AWS CloudTrail console do, você deve ter um conjunto mínimo de permissões. Essas permissões devem permitir que você liste e e e e e e e e e e e e e e e e e e e e e e e e e CloudTrail Conta da AWS Caso crie uma política baseada em identidade mais restritiva que as permissões mínimas necessárias, o console não funcionará como pretendido para entidades (usuários ou perfis) com essa política.
Não é necessário conceder permissões mínimas do console para usuários que fazem chamadas somente à AWS CLI ou à AWS API do. Em vez disso, permita o acesso somente a ações que correspondam à operação de API que estiverem tentando executar.
Concessão de permissões para administração CloudTrail
Para permitir que perfis ou usuários do IAM administrem um CloudTrail recurso, como uma trilha, um armazenamento de dados de eventos ou um canal, é necessário conceder permissões explícitas para realizar as ações associadas CloudTrail às tarefas. Para a maioria das situações, é possível fazer isso usando uma política AWS gerenciada pela que contém permissões predefinidas.
nota
As permissões concedidas aos usuários para realizar tarefas de CloudTrail administração não são iguais às permissões CloudTrail necessárias para entregar arquivos de log aos buckets do Amazon S3 ou enviar notificações aos tópicos do Amazon SNS. Para obter mais informações sobre essas permissões, consulte Política de bucket do Amazon S3 para CloudTrail.
Se você configurar a integração com o Amazon CloudWatch Watch, CloudTrail também exigirá uma função que possa assumir para fornecer eventos a um grupo de CloudWatch logs do Amazon Amazon Watch. É necessário CloudTrail usar. Para obter mais informações, consulte Conceder permissão para visualizar e configurar informações do Amazon CloudWatch Logs no console CloudTrail e Envio de eventos para o CloudWatch Logs.
As seguintes políticas AWS gerenciadas estão disponíveis para CloudTrail:
-
AWSCloudTrail_FullAccess— Essa política fornece acesso total às CloudTrail ações sobre CloudTrail recursos, como trilhas, armazenamentos de dados de eventos e canais. Essa política fornece as permissões necessárias para criar, atualizar e excluir CloudTrail trilhas, repositórios de dados de eventos e canais.
Essa política também fornece permissões para gerenciar o bucket do Amazon S3, o grupo de CloudWatch logs para logs e um tópico do Amazon SNS de uma trilha. No entanto, a política
AWSCloudTrail_FullAccess
gerenciada não fornece permissões para excluir o bucket do Amazon S3, o grupo de CloudWatch logs para logs ou um tópico do Amazon SNS. Para obter informações sobre políticas gerenciadas para outros Serviços da AWS, consulte o Guia de referência de políticas AWS gerenciadas.nota
A AWSCloudTrail_FullAccesspolítica não se destina ao compartilhamento global na. Conta da AWS Os usuários com esse perfil podem desativar ou reconfigurar as funções de auditoria mais confidenciais e importantes em suas Contas da AWS. Por esse motivo, você só deve aplicar essa política aos administradores da conta. Você deve controlar e monitorar de perto o uso desta política.
-
AWSCloudTrail_ReadOnlyAccess— Essa política concede permissões para visualizar o CloudTrail console, incluindo eventos recentes e histórico de eventos. Essa política também permite visualizar trilhas, armazenamentos de dados de eventos e canais existentes. Os perfis e usuários com essa política podem baixar o histórico de eventos, mas não podem criar ou atualizar trilhas, armazenamentos de dados de eventos ou canais.
Para conceder acesso, adicione as permissões aos seus usuários, grupos ou perfis:
-
Usuários e grupos em AWS IAM Identity Center:
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 AWS IAM Identity Center .
-
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.
-
Recursos adicionais
Para saber mais sobre como usar o IAM para dar às identidades, como usuários e funções, acesso aos recursos em sua conta, consulte Como configurar o IAM e o gerenciamento de acesso para AWS recursos no Guia do usuário do IAM.
Não é necessário conceder permissões mínimas do console para usuários que fazem chamadas somente à AWS CLI ou à AWS API do. Em vez disso, permita o acesso somente às ações que correspondem à operação da API que você está tentando executar.
Permitir que os usuários visualizem suas próprias permissões
Este exemplo mostra como criar uma política que permita que os usuários do IAM visualizem as políticas gerenciadas e em linha anexadas a sua identidade de usuário. Essa política inclui permissões para concluir essa ação no console ou de forma programática usando a AWS CLI ou AWS a API da.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }
Concessão de permissões personalizadas a CloudTrail usuários
CloudTrail as políticas concedem permissões a usuários que trabalham com CloudTrail. Se você precisar conceder permissões diferentes aos usuários, anexe uma CloudTrail política a um grupo do IAM ou a um usuário. Você pode editar a política para incluir ou excluir permissões específicas. Você também pode criar a sua própria política personalizada. As políticas são documentos JSON que definem as ações que um usuário tem permissão para realizar e os recursos nos quais ele tem permissão para realizar essas ações. Para obter exemplos específicos, consulte Exemplo: permitir e negar ações para uma trilha especificada e Exemplos: criação e aplicação de políticas para ações em trilhas específicas.
Sumário
Acesso somente leitura
O exemplo a seguir mostra uma política que concede acesso somente leitura a CloudTrail trilhas. Isso equivale à política gerenciada AWSCloudTrail_ReadOnlyAccess. Ela concede aos usuários permissão para ver informações das trilhas, mas não para criá-las ou atualizá-las.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudtrail:Get*", "cloudtrail:Describe*", "cloudtrail:List*", "cloudtrail:LookupEvents" ], "Resource": "*" } ] }
Nas declarações da política, o elemento Effect
especifica se as ações são permitidas ou negadas. O elemento Action
lista as ações específicas que o usuário tem permissão para realizar. O Resource
elemento lista os AWS recursos nos quais o usuário tem permissão para realizar essas ações. Para políticas que controlam o acesso às CloudTrail ações, o Resource
elemento é geralmente definido como um caractere curinga que significa “todos os recursos”. *
Os valores no Action
elemento correspondem aos APIs que os serviços suportam. As ações são precedidas por cloudtrail:
para indicar que se referem a ações do CloudTrail . Você pode usar o caractere curinga *
no elemento Action
, como nos exemplos a seguir:
-
"Action": ["cloudtrail:*Logging"]
Isso permite todas as CloudTrail ações que terminam com “Logging” (
StartLogging
,StopLogging
). -
"Action": ["cloudtrail:*"]
Isso permite todas as CloudTrail ações, mas não as ações de outros AWS serviços.
-
"Action": ["*"]
Isso permite todas as AWS ações. Essa permissão é adequada a um usuário que atua como um administrador da AWS na sua conta.
A política somente leitura não concede permissão de usuário às ações CreateTrail
, UpdateTrail
, StartLogging
e StopLogging
. Os usuários com essa política não têm permissão para criar e atualizar trilhas ou para ativar e desativar o registro. Para ver a lista de CloudTrail ações, consulte a Referência AWS CloudTrail da API.
Acesso total
O exemplo a seguir mostra uma política que concede acesso total CloudTrail a. Isso equivale à política gerenciada AWSCloudTrail_FullAccess. Ela concede aos usuários a permissão para realizar todas as CloudTrail ações. Ela também permite que os usuários registrem eventos de dados no Amazon S3 e no AWS Lambda, gerenciem arquivos em buckets do Amazon S3, CloudWatch como o Logs CloudTrail monitora eventos de log e gerenciem tópicos do Amazon SNS na conta à qual o usuário está associado.
Importante
A AWSCloudTrail_FullAccesspolítica ou permissões equivalentes não se destinam ao compartilhamento por toda a sua AWS conta da. Os usuários com essa função ou acesso equivalente têm a capacidade de desabilitar ou reconfigurar as funções de auditoria mais confidenciais e importantes em suas AWS contas da. Por esse motivo, essa política deve ser aplicada somente aos administradores da conta e o uso dessa política deve ser cuidadosamente controlado e monitorado.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sns:AddPermission", "sns:CreateTopic", "sns:SetTopicAttributes", "sns:GetTopicAttributes" ], "Resource": [ "arn:aws:sns:*:*:aws-cloudtrail-logs*" ] }, { "Effect": "Allow", "Action": [ "sns:ListTopics" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:PutBucketPolicy" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-logging-bucket1*" ] }, { "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets", "s3:GetBucketLocation", "s3:GetBucketPolicy" ], "Resource": "*" }, { "Effect": "Allow", "Action": "cloudtrail:*", "Resource": "*" }, { "Effect": "Allow", "Action": [ "logs:CreateLogGroup" ], "Resource": [ "arn:aws:logs:*:*:log-group:aws-cloudtrail-logs*" ] }, { "Effect": "Allow", "Action": [ "iam:ListRoles", "iam:GetRolePolicy", "iam:GetUser" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "cloudtrail.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "kms:CreateKey", "kms:CreateAlias", "kms:ListKeys", "kms:ListAliases" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "lambda:ListFunctions" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "dynamodb:ListGlobalTables", "dynamodb:ListTables" ], "Resource": "*" } ] }
Conceder permissão para visualizar AWS Config informações do no console CloudTrail
Você pode visualizar informações do evento no CloudTrail console, incluindo os recursos relacionados a ele. Para esses recursos, você pode escolher o AWS Config ícone para visualizar a linha do tempo desse recurso no AWS Config console. Anexe essa política aos seus usuários para conceder a eles acesso somente para leitura AWS Config . A política não concede a eles permissão para alterar as configurações em AWS Config.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "config:Get*", "config:Describe*", "config:List*" ], "Resource": "*" }] }
Para obter mais informações, consulte Visualizar recursos referenciados com AWS Config.
Conceder permissão para visualizar e configurar informações do Amazon CloudWatch Logs no console CloudTrail
Você pode visualizar e configurar a entrega de eventos para CloudWatch o Watch no CloudTrail console se tiver permissões suficientes. Essas são as permissões que podem ser além das concedidas para administradores do CloudTrail. Anexe essa política a administradores que vão configurar e gerenciar a CloudTrail integração com o CloudWatch Logs. A política não concede permissões a eles em CloudTrail ou em CloudWatch Logs diretamente, mas, em vez disso, concede as permissões necessárias para criar e configurar a função que CloudTrail assumirá para fornecer eventos com êxito ao grupo de CloudWatch Logs.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "iam:CreateRole", "iam:PutRolePolicy", "iam:AttachRolePolicy", "iam:ListRoles", "iam:GetRolePolicy", "iam:GetUser" ], "Resource": "*" }] }
Para obter mais informações, consulte Monitorando arquivos de CloudTrail log com o Amazon CloudWatch Logs.
Mais informações
Para saber mais sobre como usar o IAM para dar às identidades, como usuários e funções, acesso aos recursos em sua conta, consulte Introdução e gerenciamento de acesso para AWS recursos no Guia do usuário do IAM.