Exemplos de políticas baseadas em identidade do AWS Health
Por padrão, os usuários e os perfis do IAM não têm permissão para criar ou modificar recursos do AWS Health. Eles também não podem executar tarefas utilizando o AWS Management Console, a AWS CLI ou uma API da AWS. Um administrador do IAM deve criar políticas do IAM que concedam aos usuários e perfis permissão para executarem operações de API específicas nos recursos especificados de que precisam. O administrador deve anexar essas políticas aos usuários ou grupos do IAM que exigem essas permissões.
Para saber como criar uma política baseada em identidade do IAM usando esses exemplos de documentos de política JSON, consulte Criar políticas na guia JSON no Guia do usuário do IAM.
Tópicos
Melhores práticas de política
As políticas baseadas em identidade determinam se alguém pode criar, acessar ou excluir recursos do AWS Health em sua conta. Essas ações podem incorrer em custos para seus Conta da AWS. Ao criar ou editar políticas baseadas em identidade, siga estas diretrizes e recomendações:
-
Comece com as políticas gerenciadas pela AWS 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 gerenciadas pela AWS, que concedem permissões para muitos casos de uso comuns. Elas estão disponíveis em seus Conta da AWS. Recomendamos que você reduza ainda mais as permissões definindo políticas gerenciadas pelo cliente AWS 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 atributos 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 gravar 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 AWS service (Serviço da AWS) específico, 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 100 verificações de política e recomendações acionáveis para ajudá-lo a criar políticas seguras e funcionais. Para obter mais informações, consulte Validar políticas com o IAM Access Analyzer no Guia do usuário do IAM.
-
Exigir autenticação multifator (MFA) –- se houver um cenário que exija usuários do IAM ou um usuário raiz em sua Conta da AWS, 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 Acesso seguro à API com a 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.
Usar o console do AWS Health
Para acessar o console do AWS Health, você deve ter um conjunto mínimo de permissões. Essas permissões dão autorização para que você liste e visualize detalhes sobre os recursos do AWS Health na sua conta da AWS. Se você criar uma política baseada em identidade que seja mais restritiva que as permissões mínimas necessárias, o console não funcionará como pretendido para entidades (usuários ou perfis do IAM) com essa política.
Para garantir que essas entidades ainda possam usar o console do AWS Health, é possível associar a seguinte AWS política gerenciada, AWSHealthFullAccess
Essa política AWSHealthFullAccess
concede a uma entidade acesso total ao seguinte:
-
Ativar ou desativar o atributo de visualização organizacional do AWS Health para todas as contas em uma organização da AWS
-
Use oAWS Health Dashboard no console AWS Health.
-
Operações de API e notificações do AWS Health
-
Visualizar informações sobre contas que fazem parte de sua organização da AWS
-
Exibir as unidades organizacionais (OU) da conta de gerenciamento
exemplo : AWSHealthFullAccess
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "organizations:EnableAWSServiceAccess", "organizations:DisableAWSServiceAccess" ], "Resource": "*", "Condition": { "StringEquals": { "organizations:ServicePrincipal": "health.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "health:*", "organizations:DescribeAccount", "organizations:ListAccounts", "organizations:ListDelegatedAdministrators", "organizations:ListParents" ], "Resource": "*" }, { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "*", "Condition": { "StringEquals": { "iam:AWSServiceName": "health.amazonaws.com" } } } ] }
nota
Também é possível usar a política gerenciada da Health_OrganizationsServiceRolePolicy
, AWS para que o AWS Health possa visualizar eventos de outras contas na organização. Para ter mais informações, consulte Usar funções vinculadas ao serviço do AWS Health.
Não é necessário conceder permissões mínimas do console para usuários que fazem chamadas somente à AWS CLI ou à API do AWS. Em vez disso, permita o acesso somente às ações que corresponderem a operação da API que você estiver tentando executar.
Para obter mais informações, consulte Adicionar permissões a um usuário no Guia do usuário do IAM.
Permitir que 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 a AWS API.
{ "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": "*" } ] }
Acessar o AWS Health Dashboard e a API do AWS Health
O AWS Health Dashboard está disponível para todas as contas da AWS. A API do AWS Health está disponível apenas para contas com um plano de suporte Business, Enterprise On-Ramp, ou Enterprise. Para ter mais informações, consulte AWS Support
É possível usar o IAM para criar identidades (usuários, grupos ou funções) e conceder permissões para essas identidades acessarem o AWS Health Dashboard e a API do AWS Health.
Por padrão, os usuários do IAM não têm acesso ao AWS Health Dashboard nem à API do AWS Health. É possível oferecer aos usuários acesso às informações do AWS Health da sua conta anexando políticas do IAM a um único usuário, um grupo de usuários ou uma função. Para obter mais informações, consulte Identidades (usuários, grupos e funções) e Visão geral das políticas do IAM.
Depois de criar usuários do IAM, é possível oferecer a esses usuários senhas individuais. Em seguida, eles poderão fazer login em sua conta e exibir as informações do AWS Health usando uma página de login específica da conta. Para obter mais informações, consulte Como usuários fazem login na conta.
nota
Um usuário do IAM com permissões para visualizar o AWS Health Dashboard tem acesso somente leitura às informações de integridade em todos os serviços da AWS na conta, o que pode incluir, entre outras coisas, IDs de atributos da AWS, como IDs de instâncias do Amazon EC2, endereços IP de instâncias do EC2 e notificações gerais de segurança.
Por exemplo, se uma política do IAM concede acesso somente ao AWS Health Dashboard e à API do AWS Health, o usuário ou a função ao qual a política se aplica poderá ter acesso a todas as informações publicadas sobre os serviços da AWS e os recursos relacionados, mesmo que outras políticas do não permitam o acesso.
É possível usar dois grupos de APIs para o AWS Health.
-
Contas individuais - você pode usar as operações como DescribeEvents e DescribeEventDetails para obter informações sobre eventos do AWS Health para sua conta.
-
Conta organizacional – é possível usar operações como DescribeEventsForOrganization e DescribeEventDetailsForOrganization para obter informações sobre eventos do AWS Health para contas que fazem parte da organização.
Para obter mais informações sobre como usar essas operações de API disponíveis, consulte a AWS HealthReferência de API do .
Ações individuais
É possível definir o elemento Action
de uma política do IAM como health:Describe*
. Isso permite o acesso ao AWS Health Dashboard e ao AWS Health. O AWS Health é compatível com o controle de acesso a eventos com base no eventTypeCode
e no serviço.
Descrever o acesso
Esta declaração de política concede acesso ao AWS Health Dashboard e a qualquer uma das operações de API Describe*
do AWS Health. Por exemplo, um usuário do IAM com essa política pode acessar o AWS Health Dashboard no AWS Management Console e chamar a operação de API do AWS Health DescribeEvents
.
exemplo : Descrever o acesso
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "health:Describe*" ], "Resource": "*" }] }
Negar acesso
Esta declaração de política nega acesso ao AWS Health Dashboard e à API do AWS Health. Um usuário do IAM com esta política não pode visualizar o AWS Health Dashboard no AWS Management Console e não pode chamar nenhuma das operações de API do AWS Health.
exemplo : Negar acesso
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "health:*" ], "Resource": "*" }] }
Visualização organizacional
Se quiser habilitar a visualização organizacional para o AWS Health, deverá permitir acesso às operações AO AWS Health e ações AWS Organizations.
O elemento Action
de uma política do IAM deve incluir as seguintes permissões:
-
iam:CreateServiceLinkedRole
-
organizations:EnableAWSServiceAccess
-
organizations:DescribeAccount
-
organizations:DisableAWSServiceAccess
-
organizations:ListAccounts
-
organizations:ListDelegatedAdministrators
-
organizations:ListParents
Para entender as permissões exatas necessárias para cada API, consulte Ações definidas por APIs AWS Health e notificações no Guia do usuário do IAM.
nota
É necessário usar credenciais da conta mestra da AWS Health para uma organização acessar as APIs do para AWS Organizations. Para ter mais informações, consulte Como agregar eventos do AWS Health entre contas.
Acesso total à AWS Health visualização organizacional
Esta declaração de política concede acesso a todas as ações do AWS Health e AWS Organizations necessárias para o atributo de visualização organizacional.
exemplo : Permitir acesso à visualização organizacional do AWS Health
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "organizations:EnableAWSServiceAccess", "organizations:DisableAWSServiceAccess" ], "Resource": "*", "Condition": { "StringEquals": { "organizations:ServicePrincipal": "health.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "health:*", "organizations:DescribeAccount", "organizations:ListAccounts", "organizations:ListDelegatedAdministrators", "organizations:ListParents" ], "Resource": "*" }, { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::*:role/aws-service-role/health.amazonaws.com/AWSServiceRoleForHealth*" } ] }
Negar acesso à AWS Health visualização organizacional
Esta declaração de política nega o acesso às ações do AWS Organizations, mas permite acesso às ações do AWS Health para uma conta individual.
exemplo : Negar acesso à visualização organizacional do AWS Health
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "health:*" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "organizations:EnableAWSServiceAccess", "organizations:DisableAWSServiceAccess" ], "Resource": "*", "Condition": { "StringEquals": { "organizations:ServicePrincipal": "health.amazonaws.com" } } }, { "Effect": "Deny", "Action": [ "organizations:DescribeAccount", "organizations:ListAccounts", "organizations:ListDelegatedAdministrators", "organizations:ListParents" ], "Resource": "*" }, { "Effect": "Deny", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::*:role/aws-service-role/health.amazonaws.com/AWSServiceRoleForHealth*" } ] }
nota
Se o usuário ou o grupo ao qual você deseja conceder permissões já tiver uma política do IAM, será possível adicionar a declaração de política específica do AWS Health a essa política.
Condições baseadas em recursos e em ações
O AWS Health é compatível com as condições do IAM para as operações de API DescribeAffectedEntities e DescribeEventDetails. Você pode usar condições baseadas em recursos e ações para restringir eventos que a AWS Health API envia para um usuário, grupo ou função.
Para fazer isso, atualize o bloco Condition
da política do IAM ou defina o elemento Resource
. É possível usar as Condições de string para restringir o acesso com base em determinados campos de eventos do AWS Health.
Você pode usar os seguintes campos ao especificar um evento AWS Health em sua política:
-
eventTypeCode
-
service
Observações
-
As operações do API DescribeAffectedEntities e DescribeEventDetails suportam permissões em nível de recurso. Por exemplo, você pode criar uma política para permitir ou negar eventos do AWS Health específicos.
-
As operações de API DescribeAffectedEntitiesForOrganization e DescribeEventDetailsForOrganization não suportam permissões em nível de recurso.
-
Para mais informações, consulte Ações, recursos e chaves de condição para AWS Health APIs e notificações em Referência de autorização de serviço.
exemplo : Condição baseada em ação
Esta declaração de política concede acesso ao AWS Health Dashboard e às operações de API AWS Health Describe*
, mas nega acesso a quaisquer eventos do AWS Health relacionados ao Amazon EC2.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "health:Describe*", "Resource": "*" }, { "Effect": "Deny", "Action": [ "health:DescribeAffectedEntities", "health:DescribeEventDetails" ], "Resource": "*", "Condition": { "StringEquals": { "health:service": "EC2" } } } ] }
exemplo : Condição baseada em recursos
A política a seguir tem o mesmo efeito, mas faz uso do elemento Resource
.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "health:Describe*" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "health:DescribeEventDetails", "health:DescribeAffectedEntities" ], "Resource": "arn:aws:health:*::event/EC2/*/*" }] }
exemplo : Condição eventTypeCode
Esta declaração de política concede acesso ao AWS Health Dashboard e às operações de API Describe*
do AWS Health, mas nega acesso a todos os eventos do AWS Health com o eventTypeCode
correspondente ao AWS_EC2_*
.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "health:Describe*", "Resource": "*" }, { "Effect": "Deny", "Action": [ "health:DescribeAffectedEntities", "health:DescribeEventDetails" ], "Resource": "*", "Condition": { "StringLike": { "health:eventTypeCode": "AWS_EC2_*" } } } ] }
Importante
Se você chamar as operações DescribeAffectedEntities e DescribeEventDetails e não tiver permissão para acessar o evento do AWS Health, o erro AccessDeniedException
será exibido. Para ter mais informações, consulte Solução de problemas de identidade e acesso do AWS Health.