Exemplos de política baseada em atributos para o AWS Organizations
Os exemplos de código a seguir mostram como é possível usar políticas de delegação baseadas em recursos. Para ter mais informações, consulte Administrador delegado do AWS Organizations.
Tópicos
Exemplo: visualizar organização, UOs, contas e políticas
Antes de delegar o gerenciamento de políticas, você deve delegar as permissões para navegar na estrutura de uma organização e visualizar as unidades organizacionais (UOs), as contas e as políticas vinculadas a elas.
Este exemplo mostra como é possível incluir essas permissões na política de delegação baseada em recursos para a conta-membro, AccountId
.
Importante
É recomendável incluir permissões somente para as ações necessárias mínimas, conforme mostrado no exemplo, embora seja possível delegar qualquer ação somente leitura do Organizations usando esta política.
Este exemplo de política de delegação concede as permissões necessárias para concluir ações programaticamente da API AWS ou AWS CLI. Para usar esta política de delegação, substitua o texto do espaço reservado da AWS para AccountId
com suas próprias informações. Em seguida, siga as instruções em Administrador delegado do AWS Organizations.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DelegatingNecessaryDescribeListActions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
AccountId
:root" }, "Action": [ "organizations:DescribeOrganization", "organizations:DescribeOrganizationalUnit", "organizations:DescribeAccount", "organizations:DescribePolicy", "organizations:DescribeEffectivePolicy", "organizations:ListRoots", "organizations:ListOrganizationalUnitsForParent", "organizations:ListParents", "organizations:ListChildren", "organizations:ListAccounts", "organizations:ListAccountsForParent", "organizations:ListPolicies", "organizations:ListPoliciesForTarget", "organizations:ListTargetsForPolicy", "organizations:ListTagsForResource" ], "Resource": "*" } ] }
Exemplo: criar, ler, atualizar e excluir políticas
Você pode criar uma política de delegação baseada em recursos que permita que a conta de gerenciamento delegue ações de create
, read
, update
e delete
para qualquer tipo de política. Este exemplo mostra como você pode delegar essas ações de políticas de controle de serviço para a conta-membro, MemberAccountId
. Os dois recursos mostrados no exemplo concedem acesso às políticas de controle de serviços gerenciadas pelo cliente e gerenciadas pela AWS, respectivamente.
Importante
Esta política permite que os administradores delegados executem as ações especificadas nas políticas criadas por qualquer conta na organização, incluindo a conta de gerenciamento.
Ela não permite que administradores delegados vinculem ou desvinculem políticas porque não inclui as permissões necessárias para realizar e realizar ações de organizations:AttachPolicy
e organizations:DetachPolicy
.
Este exemplo de política de delegação concede as permissões necessárias para concluir ações programaticamente da API AWS ou AWS CLI. Substitua o texto do espaço reservado da AWS para MemberAccountId
, ManagementAccountId
eOrganizationId
com suas próprias informações. Em seguida, siga as instruções em Administrador delegado do AWS Organizations.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DelegatingNecessaryDescribeListActions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
MemberAccountId
:root" }, "Action": [ "organizations:DescribeOrganization", "organizations:DescribeOrganizationalUnit", "organizations:DescribeAccount", "organizations:DescribePolicy", "organizations:DescribeEffectivePolicy", "organizations:ListRoots", "organizations:ListOrganizationalUnitsForParent", "organizations:ListParents", "organizations:ListChildren", "organizations:ListAccounts", "organizations:ListAccountsForParent", "organizations:ListPolicies", "organizations:ListPoliciesForTarget", "organizations:ListTargetsForPolicy", "organizations:ListTagsForResource" ], "Resource": "*", "Condition": { "StringLikeIfExists": { "organizations:PolicyType": "SERVICE_CONTROL_POLICY" } } }, { "Sid": "DelegatingMinimalActionsForSCPs", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::MemberAccountId
:root" }, "Action": [ "organizations:CreatePolicy", "organizations:DescribePolicy", "organizations:UpdatePolicy", "organizations:DeletePolicy" ], "Resource": [ "arn:aws:organizations::ManagementAccountId
:policy/o-OrganizationId
/service_control_policy/*", "arn:aws:organizations::aws:policy/service_control_policy/*" ] } ] }
Exemplo: políticas de marcar e desmarcar
Este exemplo mostra como criar uma política de delegação baseada em recursos que permita que administradores delegados marquem ou desmarquem as políticas de backup. Esta política concede as permissões necessárias para concluir ações da API AWS ou da AWS CLI de maneira programática.
Para usar essa política de delegação, substitua o texto do espaço reservado da AWS para MemberAccountId
, ManagementAccountId
, e OrganizationId
com suas próprias informações. Em seguida, siga as instruções em Administrador delegado do AWS Organizations.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DelegatingNecessaryDescribeListActions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
MemberAccountId
:root" }, "Action": [ "organizations:DescribeOrganization", "organizations:DescribeOrganizationalUnit", "organizations:DescribeAccount", "organizations:DescribePolicy", "organizations:DescribeEffectivePolicy", "organizations:ListRoots", "organizations:ListOrganizationalUnitsForParent", "organizations:ListParents", "organizations:ListChildren", "organizations:ListAccounts", "organizations:ListAccountsForParent", "organizations:ListPolicies", "organizations:ListPoliciesForTarget", "organizations:ListTargetsForPolicy", "organizations:ListTagsForResource" ], "Resource": "*", "Condition": { "StringLikeIfExists": { "organizations:PolicyType": "BACKUP_POLICY" } } }, { "Sid": "DelegatingTaggingBackupPolicies", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::MemberAccountId
:root" }, "Action": [ "organizations:TagResource", "organizations:UntagResource" ], "Resource": "arn:aws:organizations::ManagementAccountId
:policy/o-OrganizationId
/backup_policy/*" } ] }
Exemplo: vincular políticas a uma única OU ou conta
Este exemplo mostra como você pode criar uma política de delegação baseada em recursos que permita que administradores delegados attach
ou detach
políticas do Organizations de uma unidade organizacional (OU) especificada ou de uma conta específica. Antes de delegar essas ações, você deve delegar as permissões para navegar na estrutura de uma organização e visualizar as contas abaixo dela. Para obter detalhes, consulte Exemplo: visualizar organização, UOs, contas e políticas
Importante
-
Embora essa política permita vincular ou desvincular políticas da OU ou conta especificada, ela exclui OUs secundárias e contas sob OUs secundárias.
-
Essa política permite que os administradores delegados executem as ações especificadas nas políticas criadas por qualquer conta na organização, incluindo a conta de gerenciamento.
Este exemplo de política de delegação concede as permissões necessárias para concluir ações programaticamente da API AWS ou AWS CLI. Para usar essa política de delegação, substitua o texto do espaço reservado da AWS de MemberAccountId
, ManagementAccountId
, OrganizationId
e TargetAccountId
com suas próprias informações. Em seguida, siga as instruções em Administrador delegado do AWS Organizations.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DelegatingNecessaryDescribeListActions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
MemberAccountId
:root" }, "Action": [ "organizations:DescribeOrganization", "organizations:DescribeOrganizationalUnit", "organizations:DescribeAccount", "organizations:DescribePolicy", "organizations:DescribeEffectivePolicy", "organizations:ListRoots", "organizations:ListOrganizationalUnitsForParent", "organizations:ListParents", "organizations:ListChildren", "organizations:ListAccounts", "organizations:ListAccountsForParent", "organizations:ListPolicies", "organizations:ListPoliciesForTarget", "organizations:ListTargetsForPolicy", "organizations:ListTagsForResource" ], "Resource": "*" }, { "Sid": "AttachDetachPoliciesSpecifiedAccountOU", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::MemberAccountId
:root" }, "Action": [ "organizations:AttachPolicy", "organizations:DetachPolicy" ], "Resource": [ "arn:aws:organizations::ManagementAccountId
:ou/o-OrganizationId
/ou-OUId", "arn:aws:organizations::ManagementAccountId
:account/o-OrganizationId
/TargetAccountId
", "arn:aws:organizations::ManagementAccountId
:policy/o-OrganizationId
/backup_policy/*" ] } ] }
Para delegar a vinculação ou desvinculação de políticas a qualquer OU ou conta nas organizações, substitua o recurso no exemplo anterior pelos seguintes recursos:
"Resource": [ "arn:aws:organizations::
ManagementAccountId
:ou/o-OrganizationId
/*", "arn:aws:organizations::ManagementAccountId
:account/o-OrganizationId
/*", "arn:aws:organizations::ManagementAccountId
:policy/o-OrganizationId
/backup_policy/*" ]
Exemplo: permissões consolidadas para gerenciar as políticas de backup de uma organização
Este exemplo mostra como você pode criar uma política de delegação baseada em recursos que permite que a conta de gerenciamento delegue todas as permissões necessárias para gerenciar políticas de backup dentro da organização, incluindo as ações create
, read
, update
e delete
, bem como as ações da política attach
e detach
.
Importante
Essa política permite que os administradores delegados executem as ações especificadas nas políticas criadas por qualquer conta na organização, incluindo a conta de gerenciamento.
Este exemplo de política de delegação concede as permissões necessárias para concluir ações programaticamente da API AWS ou AWS CLI. Para usar essa política de delegação, substitua o texto do espaço reservado da AWS para MemberAccountId
, ManagementAccountId
, OrganizationId
e RootId
com suas próprias informações. Em seguida, siga as instruções em Administrador delegado do AWS Organizations.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DelegatingNecessaryDescribeListActions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
MemberAccountId
:root" }, "Action": [ "organizations:DescribeOrganization", "organizations:DescribeOrganizationalUnit", "organizations:DescribeAccount", "organizations:ListRoots", "organizations:ListOrganizationalUnitsForParent", "organizations:ListParents", "organizations:ListChildren", "organizations:ListAccounts", "organizations:ListAccountsForParent", "organizations:ListTagsForResource" ], "Resource": "*" }, { "Sid": "DelegatingNecessaryDescribeListActionsForSpecificPolicyType", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::MemberAccountId
:root" }, "Action": [ "organizations:DescribePolicy", "organizations:DescribeEffectivePolicy", "organizations:ListPolicies", "organizations:ListPoliciesForTarget", "organizations:ListTargetsForPolicy" ], "Resource": "*", "Condition": { "StringLikeIfExists": { "organizations:PolicyType": "BACKUP_POLICY" } } }, { "Sid": "DelegatingAllActionsForBackupPolicies", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::MemberAccountId
:root" }, "Action": [ "organizations:CreatePolicy", "organizations:UpdatePolicy", "organizations:DeletePolicy", "organizations:AttachPolicy", "organizations:DetachPolicy", "organizations:EnablePolicyType", "organizations:DisablePolicyType" ], "Resource": [ "arn:aws:organizations::ManagementAccountId
:root/o-OrganizationId
/r-RootId
", "arn:aws:organizations::ManagementAccountId
:ou/o-OrganizationId
/*", "arn:aws:organizations::ManagementAccountId
:account/o-OrganizationId
/*", "arn:aws:organizations::ManagementAccountId
:policy/o-OrganizationId
/backup_policy/*" ], "Condition": { "StringLikeIfExists": { "organizations:PolicyType": "BACKUP_POLICY" } } } ] }