Exemplos de políticas baseadas em identidade para o AWS Organizations
Por padrão, usuários e perfis não têm permissão para criar ou modificar recursos do Organizations. Eles também não podem executar tarefas usando o AWS Management Console, a AWS Command Line Interface (AWS CLI) ou a API AWS. Para conceder aos usuários permissão para executar ações nos recursos de que 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 presumir os perfis.
Para saber como criar uma política baseada em identidade do IAM usando esses exemplos de documento de política JSON, consulte Criar políticas do IAM (console) no Guia do usuário do IAM.
Para obter detalhes sobre as ações e os tipos de recurso definidos pelo Organizations, incluindo o formato dos ARNs para cada tipo de recurso, consulte Actions, resources, and condition keys for AWS Organizations na Service Authorization Reference.
Tópicos
- Melhores práticas de política
- Usar o console do Organizations
- Permitir que usuários visualizem suas próprias permissões
- Concessão de permissões administrativas completas a um usuário
- Concessão de acesso limitado por ações
- Concessão de acesso a recursos específicos
- Concessão da capacidade de habilitar acesso confiável para entidades de serviço primárias limitadas
Melhores práticas de política
As políticas baseadas em identidade determinam se alguém pode criar, acessar ou excluir recursos do Organizations 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 Validação de políticas do 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 Organizations
Para acessar o console do AWS Organizations, você deve ter um conjunto mínimo de permissões. Essas permissões devem permitir que você liste e visualize detalhes sobre os recursos do Organizations em seu Conta da AWS. Se você criar uma política baseada em identidade que seja mais restritiva do 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 fazendo chamadas somente para AWS CLI ou para a API do AWS. Em vez disso, permita o acesso somente a ações que correspondam a operação de API que estiverem tentando executar.
Para garantir que os usuários e os perfis ainda possam usar o console do Organizations, anexe também a política gerenciada da AWS AWSOrganizationsFullAccess
ou AWSOrganizationsReadOnlyAccess
às entidades. Para obter mais informações, consulte Adicionando 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": "*" } ] }
Concessão de permissões administrativas completas a um usuário
Você pode criar uma política do IAM que concede permissões completas de administrador do AWS Organizations a um usuário do IAM na sua organização. Você pode fazer isso no editor de políticas JSON no console do IAM.
Para usar o editor de políticas JSON para criar uma política
Faça login no AWS Management Console e abra o console do IAM em https://console.aws.amazon.com/iam/
. -
No painel de navegação à esquerda, escolha Policies (Políticas).
Se essa for a primeira vez que você escolhe Políticas, a página Bem-vindo às políticas gerenciadas será exibida. Escolha Começar.
-
Na parte superior da página, escolha Criar política.
-
Na seção Editor de políticas, escolha a opção JSON.
-
Insira o seguinte documento de política JSON:
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "organizations:*", "Resource": "*" } }
-
Escolha Próximo.
nota
É possível alternar entre as opções de editor Visual e JSON a qualquer momento. Porém, se você fizer alterações ou escolher Próximo no editor Visual, o IAM poderá reestruturar a política a fim de otimizá-la para o editor visual. Para obter mais informações, consulte Restruturação de política no Guia do usuário do IAM.
-
Na página Revisar e criar, insira um Nome de política e uma Descrição (opcional) para a política que você está criando. Revise Permissões definidas nessa política para ver as permissões que são concedidas pela política.
-
Escolha Criar política para salvar sua nova política.
Para saber mais sobre como criar uma política do IAM consulte Criação de políticas do IAM no Manual do usuário do IAM.
Concessão de acesso limitado por ações
Se você deseja conceder permissões limitadas, em vez de permissões completas, pode criar uma política que relaciona as permissões individuais que deseja conceder no elemento Action
da política de permissões do IAM. Como mostrado no exemplo a seguir, você pode usar caracteres curinga (*) para conceder somente as permissões Describe*
e List*
, basicamente fornecendo acesso somente leitura para a organização.
nota
Em uma política de controle de serviço (SCP), o caractere curinga (*) em um elemento Action
pode ser usado somente sozinho ou no fim da string. Ele não pode aparecer no início nem no meio da string. Portanto, "servicename:action*"
é válido, mas "servicename:*action"
e "servicename:some*action"
são inválidos em SCPs.
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "organizations:Describe*", "organizations:List*" ], "Resource": "*" } }
Para obter uma lista de todas as permissões disponíveis para serem atribuídas a uma política do IAM consulte Ações definidas pelo AWS Organizations na Referência de autorização do serviço.
Concessão de acesso a recursos específicos
Além de restringir o acesso a ações específicas, você pode restringir o acesso a entidades específicas em sua organização. Os elementos Resource
nos exemplos nas seções anteriores especificam o caractere curinga ("*"), que significa "qualquer recurso que a ação pode acessar." Em vez disso, é possível substituir "*" pelo Nome de recurso da Amazon (ARN) de entidades específicas para as quais você deseja permitir o acesso.
Exemplo: concessão de permissões para uma única UO
A primeira instrução da política a seguir permite que um usuário do IAM tenha acesso de leitura a toda a organização, mas a segunda instrução permite que o usuário execute ações administrativas do AWS Organizations apenas em uma unidade organizacional (UO) especificada. Isso não se estende a qualquer UO subordinada. Nenhum acesso de cobrança é concedido. Observe que isso não concede acesso administrativo às Contas da AWS na UO. Concede apenas permissões para executar operações do AWS Organizations nas contas dentro da UO especificada:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "organizations:Describe*", "organizations:List*" ], "Resource": "*" }, { "Effect": "Allow", "Action": "organizations:*", "Resource": "arn:aws:organizations::
<masterAccountId>
:ou/o-<organizationId>
/ou-<organizationalUnitId>
" } ] }
Você obtém os IDs da UO e da organização no console do AWS Organizations ou chamando as APIs List*
. O usuário ou grupo ao qual você aplica essa política pode realizar qualquer ação ("organizations:*"
) em qualquer entidade que seja contida diretamente pela UO especificada. A UO é identificada pelo Nome de recurso da Amazon (ARN).
Consulte mais informações sobre os ARNs para vários recursos, consulte Resource types defined by AWS Organizations na Referência de autorização do serviço.
Concessão da capacidade de habilitar acesso confiável para entidades de serviço primárias limitadas
Você pode usar o elemento Condition
de uma declaração de política para limitar ainda mais as circunstâncias em que a declaração de política é correspondente.
Exemplo: conceder permissões para habilitar acesso confiável para um serviço especificado
A declaração a seguir mostra como você pode restringir a capacidade para habilitar acesso confiável apenas aos serviços que você especificar. Se o usuário tentar chamar a API com um principal de serviço diferente do principal do AWS IAM Identity Center, essa política não será correspondente e a solicitação será negada:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "organizations:EnableAWSServiceAccess", "Resource": "*", "Condition": { "StringEquals" : { "organizations:ServicePrincipal" : "sso.amazonaws.com" } } } ] }
Consulte mais informações sobre os ARNs para vários recursos, consulte Resource types defined by AWS Organizations na Referência de autorização do serviço.