Gerenciar permissões de acesso para a organização da AWS - AWS Organizations

Gerenciar permissões de acesso para a organização da AWS

Todos os recursos da AWS, incluindo raízes, unidades organizacionais, contas e políticas de uma organização, pertencem a uma Conta da AWS, e permissões para criar ou acessar um recurso são controladas por políticas de permissão. No caso de uma organização, a conta de gerenciamento possui todos os recursos. Um administrador de contas pode controlar o acesso aos recursos da AWS ao anexar políticas de permissões a identidades do IAM (usuários, grupos e funções).

nota

O administrador de uma conta (ou o usuário administrador) é um usuário com permissões de administrador. Para obter mais informações, consulte Melhores práticas do IAM no Guia do usuário do IAM.

Ao conceder permissões, você decide quem recebe as permissões, para quais recursos as permissões são concedidas e as ações específicas que você deseja permitir nesses recursos.

Por padrão, usuários, grupos e funções do IAM não têm permissões. Como um administrador da conta de gerenciamento de uma organização, você pode executar tarefas administrativas ou delegar permissões de administrador a outros usuários ou funções do IAM na conta de gerenciamento. Para fazer isso, você anexa uma política de permissões do IAM a um usuário, grupo ou função do IAM. Por padrão, um usuário não tem permissões; isso é às vezes chamado de uma negação implícita. A política substitui a negação implícita com uma permissão explícita que especifica quais ações o usuário pode executar e em quais recursos eles podem executar as ações. Se as permissões forem concedidas a uma função, essa função poderá ser assumida por usuários em outras contas na organização.

Recursos e operações do AWS Organizations

Esta seção aborda como os conceitos do AWS Organizations são mapeados para os conceitos equivalentes do IAM.

Recursos

No AWS Organizations, é possível controlar o acesso aos seguintes recursos:

  • O raiz e as UOs que compõem a estrutura hierárquica de uma organização

  • As contas que são membros da organização.

  • As políticas que você anexa às entidades da organização

  • Os handshakes que você usa para alterar o estado da organização

Cada um desses recursos tem um nome de recurso da Amazon (ARN) exclusivo associado a ele. Você controla o acesso a um recurso especificando seu Nome de região da Amazon (ARN) no elemento Resource de uma política de permissão do IAM. Para obter uma lista completa dos formatos de ARN para os recursos usados no AWS Organizations, consulte Recursos definidos pelo AWS Organizations no Manual do usuário do IAM.

Operações

A AWS fornece um conjunto de operações para trabalhar com os recursos de uma organização. Eles permitem executar tarefas, como criar, listar, modificar, acessar o conteúdo e excluir recursos. A maioria das operações pode ser referenciada no elemento Action de uma política do IAM para controlar quem pode usar essa operação. Para obter uma lista de operações do AWS Organizations que podem ser usadas como permissões em uma política do IAM, consulte Permissões de ação de API definidas pelo AWS Organizations no Manual do usuário do IAM.

Ao combinar um Action e um Resource em uma única política de permissão Statement, você controla exatamente em quais recursos determinado conjunto de ações pode ser usado.

Chaves de condição

A AWS fornece chaves de condição que você pode consultar para fornecer controle granular aprimorado sobre determinadas ações. Você pode referenciar essas chaves de condição no elemento Condition de uma política do IAM para especificar as circunstâncias adicionais necessárias para que a instrução seja considerada uma correspondência.

As chaves de condição a seguir são especialmente úteis ao AWS Organizations:

  • aws:PrincipalOrgID – Simplifica especificando o elemento Principal em uma política baseada em recursos. Essa chave global fornece uma alternativa à listagem de todos os IDs de conta para todas as Contas da AWS de uma organização. Em vez de listar todas as contas que são membros de uma organização, você pode especificar o ID da organização no elemento Condition.

    nota

    Essa condição global também se aplica a conta de gerenciamento de uma organização.

    Para obter mais informações, consulte a descrição de PrincipalOrgID em Chaves de contexto de condição global da AWS no Manual do usuário do IAM.

  • aws:PrincipalOrgPaths – Use essa chave de condição para corresponder membros de uma determinada raiz de organização, uma UO ou suas subordinadas. A chave de condição aws:PrincipalOrgPaths retorna true (verdadeiro) quando o usuário principal (usuário-raiz, usuário do IAM ou função do IAM) que faz a solicitação está no caminho da organização especificado. Um caminho é uma representação de texto da estrutura de uma entidade do AWS Organizations. Para obter mais informações sobre caminhos, consulte Noções básicas de caminho da entidade do AWS Organizations no Manual do usuário do IAM. Para obter mais informações sobre como usar essa chave de condição, consulte aws:PrincipalOrgPaths no Manual do usuário do IAM.

    Por exemplo, o seguinte elemento de condição é correspondido para membros de qualquer uma das duas OUs na mesma organização.

    "Condition": { "ForAnyValue:StringLike": { "aws:PrincipalOrgPaths": [ "o-a1b2c3d4e5/r-f6g7h8i9j0example/ou-def0-awsbbbbb/", "o-a1b2c3d4e5/r-f6g7h8i9j0example/ou-jkl0-awsddddd/" ] } }
  • organizations:PolicyType – Você pode usar essa chave de condição para restringir as operações de API relacionadas a políticas do Organizations para funcionar apenas nas políticas do Organizations do tipo especificado. É possível aplicar essa chave de condição a qualquer instrução de política que inclua uma ação que interaja com as políticas do Organizations.

    Você pode usar os seguintes valores com essa chave de condição:

    • AISERVICES_OPT_OUT_POLICY

    • BACKUP_POLICY

    • SERVICE_CONTROL_POLICY

    • TAG_POLICY

    Por exemplo, a política do exemplo a seguir permite que o usuário execute qualquer operação do Organizations. No entanto, se o usuário executar uma operação que usa um argumento de política, a operação só será permitida se a política especificada for uma política de marcação. A operação falha se o usuário especificar qualquer outro tipo de política.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "IfTaggingAPIThenAllowOnOnlyTaggingPolicies", "Effect": "Allow", "Action": "organizations:*", "Resource": "*", "Condition": { "StringLikeIfExists": { "organizations:PolicyType": [ "TAG_POLICY" ] } } } ] }
  • organizations:ServicePrincipal – Disponível como uma condição se você usar as operações EnableAWSServiceAccess ou DisableAWSServiceAccess para habilitar ou desabilitar o acesso confiável a outros serviços da AWS. Você pode usar o organizations:ServicePrincipal para restringir as solicitações feitas por essas operações para uma lista de nomes principais de serviços aprovados.

    Por exemplo, a política a seguir permite que o usuário especifique apenas o AWS Firewall Manager ao habilitar e a desabilitar acesso confiável com o AWS Organizations:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowOnlyAWSFirewallIntegration", "Effect": "Allow", "Action": [ "organizations:EnableAWSServiceAccess", "organizations:DisableAWSServiceAccess" ], "Resource": "*", "Condition": { "StringLikeIfExists": { "organizations:ServicePrincipal": [ "fms.amazonaws.com" ] } } } ] }

Para obter uma lista de todas as chaves de condição específicas do AWS Organizations que podem ser usadas como permissões em uma política do IAM, consulte Chaves de condição de contexto para AWS Organizations no Manual do usuário do IAM.

Informações sobre propriedade de recursos

A Conta da AWS possui os recursos criados na conta, independentemente de quem os criou. Mais especificamente, o proprietário dos recursos é a Conta da AWS da entidade primária (ou seja, a conta raiz, um usuário do IAM ou uma função do IAM) que autentica a solicitação de criação dos recursos. Para uma organização da AWS, é sempre a conta de gerenciamento. Você não pode chamar a maioria das operações que criam ou acessam recursos da organização das contas dos membros. Os exemplos a seguir mostram como isso funciona:

  • Se você usar as credenciais da conta-raiz da sua conta de gerenciamento para criar uma UO, sua conta de gerenciamento será a proprietária do recurso. (Em AWS Organizations, o recurso é a UO.)

  • Se você criar um usuário do IAM em sua conta de gerenciamento e conceder permissões para criar uma UO para esse usuário, o usuário poderá criar uma UO. No entanto, a conta de gerenciamento à qual o usuário pertence é a proprietária do recurso da UO.

  • Se você criar uma função do IAM na sua conta de gerenciamento com permissões para criar uma UO, qualquer pessoa que possa assumir a função pode criar uma UO. A conta de gerenciamento, à qual pertence a função (não o usuário que assume a função), é a proprietária do recurso da UO.

Gerenciamento de acesso aos recursos

A política de permissões descreve quem tem acesso a quê. A seção a seguir explica as opções disponíveis para a criação das políticas de permissões.

nota

Esta seção discute o uso do IAM no contexto do AWS Organizations. Não são fornecidas informações detalhadas sobre o serviço IAM. Para concluir a documentação do IAM, consulte o Guia do usuário do IAM. Para obter informações sobre a sintaxe e as descrições da política do IAM, consulte a Referência da política JSON do IAM no Manual do usuário do IAM.

As políticas anexadas a uma identidade do IAM são chamadas de políticas baseadas em identidade (políticas do IAM). As políticas anexadas a um recurso são conhecidas como políticas baseadas em recurso. O AWS Organizations suporta apenas políticas baseadas em identidade (políticas do IAM).

Políticas de permissão baseadas em identidade (políticas do IAM)

Você pode anexar políticas a identidades do IAM para permitir que essas identidades executem operações em recursos da AWS. Por exemplo, você pode fazer o seguinte:

  • Anexar uma política de permissões a um usuário ou grupo em sua conta: para conceder a um usuário permissões para criar um recurso do AWS Organizations, como uma política de controle de serviço (SCP) ou uma UO, você pode anexar uma política de permissões a um usuário ou a um grupo ao qual o usuário pertence. O usuário ou grupo deve estar na conta de gerenciamento da organização.

  • Anexar uma política de permissões a uma função (grant cross-account permissions) – Você pode anexar uma política de permissões baseadas em identidade a uma função do IAM para conceder acesso entre contas a uma organização. Por exemplo, o administrador na conta de gerenciamento pode criar uma função para conceder permissões entre contas para um usuário da conta-membro, da seguinte forma:

    1. O administrador da conta de gerenciamento cria uma função do IAM e anexa uma política de permissões à função que concede permissões aos recursos da organização.

    2. O administrador da conta de gerenciamento anexa uma política de confiança para a função que identifica o ID da conta do membro como Principal, que pode assumir a função.

    3. O administrador da conta do membro pode então delegar permissões para assumir a função a quaisquer usuários na conta do membro. Isso permite que os usuários na conta do membro criem ou acessem recursos na conta de gerenciamento e na organização. O principal da política de confiança também pode ser o principal de um serviço da AWS, se você desejar conceder permissões para um serviço da AWS para assumir a função.

    Para obter mais informações sobre o uso do IAM para delegar permissões, consulte Gerenciamento de acesso no Manual do usuário do IAM.

A seguir estão exemplos de políticas que permitem ao usuário executar a ação CreateAccount na organização:

{ "Version":"2012-10-17", "Statement":[ { "Sid":"Stmt1OrgPermissions", "Effect":"Allow", "Action":[ "organizations:CreateAccount" ], "Resource":"*" } ] }

Você também pode fornecer um ARN parcial no elemento Resource da política para indicar o tipo de recurso.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"AllowCreatingAccountsOnResource", "Effect":"Allow", "Action":"organizations:CreateAccount", "Resource":"arn:aws:organizations::*:account/*" } ] }

Você também pode negar a criação de contas que não incluam tags específicas para a conta que está sendo criada.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"DenyCreatingAccountsOnResourceBasedOnTag", "Effect":"Deny", "Action":"organizations:CreateAccount", "Resource":"*", "Condition":{ "StringEquals":{ "aws:ResourceTag/key":"value" } } } ] }

Para obter mais informações sobre usuários, grupos, funções e permissões, consulte Identidades (usuários, grupos e funções) no Guia do usuário do IAM.

Políticas baseadas em recursos

Alguns serviços, como o Amazon S3, suportam políticas de permissões baseadas em recursos. Por exemplo, você pode anexar uma política a um bucket do Amazon S3 para gerenciar permissões de acesso a esse bucket. O AWS Organizations não suporta políticas baseadas em recursos no momento.

Especificação de elementos da política: ações, condições, efeitos e recursos

Para cada recurso do AWS Organizations, o serviço define um conjunto de operações de API, ou ações, capazes de interagir com ou manipular esse recurso de alguma forma. Para conceder permissões a essas operações da API, o AWS Organizations define um conjunto de ações que podem ser especificadas em uma política. Por exemplo, para o recurso UO, o AWS Organizations define ações como as seguintes:

  • AttachPolicy e DetachPolicy

  • CreateOrganizationalUnit e DeleteOrganizationalUnit

  • ListOrganizationalUnits e DescribeOrganizationalUnit

Em alguns casos, a execução de uma operação de API pode exigir permissões para mais de uma ação e mais permissões para mais de um recurso.

Veja a seguir mais elementos básicos que você pode usar em uma política de permissão do IAM:

  • Action (Ação) – Use essa palavra-chave para identificar as operações (ações) que deseja permitir ou negar. Por exemplo, dependendo do Effect especificado, o organizations:CreateAccount permite ou nega as permissões de usuário para executar a operação CreateAccount do AWS Organizations. Para obter mais informações, consulte Elementos da política JSON do IAM: ação no Manual do usuário do IAM.

  • Resource (Recurso) – Use essa palavra-chave para especificar o ARN do recurso ao qual a instrução da política se aplica. Para obter mais informações, consulte Elementos da política JSON do IAM: recurso no Manual do usuário do IAM.

  • Condition (Condição) – Use essa palavra-chave para especificar uma condição que deve ser atendida para que a instrução da política seja aplicável. Condition normalmente especifica circunstâncias adicionais que devem ser atendidas para que a política seja uma correspondência. Para obter mais informações, consulte Elementos de política JSON do IAM: condição no Guia do usuário do IAM.

  • Effect (Efeito) – Use essa palavra-chave para especificar se a instrução da política permite ou nega a ação no recurso. Se você não conceder (ou permitir) explicitamente o acesso a um recurso, o acesso estará implicitamente negado. Você também pode negar explicitamente acesso a um recurso, o que pode fazer para garantir que o usuário não execute a ação especificada no recurso especificado, mesmo se uma política diferente conceder acesso. Para obter mais informações, consulte Elementos de política JSON do IAM: efeito no Manual do usuário do IAM.

  • Principal – Em políticas baseadas em identidade (políticas do IAM), o usuário ao qual a política está anexada é automática e implicitamente o principal. Para as políticas baseadas em recursos, você especifica quais usuários, contas, serviços ou outras entidades deseja que recebam permissões (aplica-se somente a políticas baseadas em recursos). O AWS Organizations atualmente dá suporte somente a políticas baseadas em identidade, não com políticas baseadas em recursos.

Para saber mais sobre a sintaxe e as descrições de políticas do IAM, consulte a Referência da política JSON do IAM no Manual do usuário do IAM.