

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á.

# Criar um limite de permissões
<a name="creating-a-permissions-boundary"></a>

Após implantar os conjuntos de permissões, você estabelece um limite de permissões. O *limite de permissões* é um mecanismo para delegação de acesso ao IAM somente aos usuários que estão desenvolvendo, testando, lançando e gerenciando sua infraestrutura de nuvem. Esses usuários podem realizar somente as ações permitidas pela política e pelo limite de permissões.

Você pode definir o limite de permissões em um AWS CloudFormation modelo e depois usá-lo CloudFormation StackSets para implantar o modelo em várias contas. Isso ajuda a estabelecer e manter políticas padronizadas em toda a organização com uma única operação. Para obter mais informações e instruções, consulte [Trabalhando com AWS CloudFormation StackSets](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html) (CloudFormation documentação).

O CloudFormation modelo a seguir provisiona uma função do IAM e cria uma política do IAM que atua como um limite de permissão. Usando um conjunto de pilhas, é possível implantar esse modelo em todas as contas-membro da organização.

```
CloudFormationRole:
  Type: "AWS::IAM::Role"
  Properties:
    AssumeRolePolicyDocument:
      Version: "2012-10-17"
      Statement:
        Effect: Allow
        Principal:
          Service: !Sub "cloudformation.${AWS::URLSuffix}"
        Action: "sts:AssumeRole"
        Condition:
          StringEquals:
            "aws:SourceAccount": !Ref "AWS::AccountId"
    Description: !Sub "DO NOT DELETE - Used by CloudFormation. Created by CloudFormation ${AWS::StackId}"
    ManagedPolicyArns:
      - !Sub "arn:${AWS::Partition}:iam::aws:policy/AdministratorAccess"
    PermissionsBoundary: !Ref DeveloperBoundary
    RoleName: CloudFormationRole

DeveloperBoundary:
  Type: "AWS::IAM::ManagedPolicy"
  Properties:
    Description: Permission boundary for developers
    ManagedPolicyName: PermissionsBoundary
    PolicyDocument:
      Version: "2012-10-17"
      Statement:
        - Sid: AllowModifyIamRolesWithBoundary
          Effect: Allow
          Action:
            - "iam:AttachRolePolicy"
            - "iam:CreateRole"
            - "iam:DeleteRolePolicy"
            - "iam:DetachRolePolicy"
            - "iam:PutRolePermissionsBoundary"
            - "iam:PutRolePolicy"
          Resource: !Sub "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/app/*"
          Condition:
            ArnEquals:
              "iam:PermissionsBoundary": !Sub "arn:${AWS::Partition}:iam::${AWS::AccountId}:policy/PermissionsBoundary"
        - Sid: AllowModifyIamRoles
          Effect: Allow
          Action:
            - "iam:DeleteRole"
            - "iam:TagRole"
            - "iam:UntagRole"
            - "iam:UpdateAssumeRolePolicy"
            - "iam:UpdateRole"
            - "iam:UpdateRoleDescription"
          Resource: !Sub "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/app/*"
        - Sid: OverlyPermissiveAllowedServices
          Effect: Allow
          Action:
            - "lambda:*"
            - "apigateway:*"
            - "events:*"
            - "s3:*"
            - "logs:*"
          Resource: "*"
```

A **CloudFormationRole**função, a **PermissionsBoundary**política e o conjunto de **DeveloperAccess**permissões trabalham juntos para conceder as seguintes permissões:
+ Os usuários têm acesso somente para leitura à maioria Serviços da AWS, por meio da política **ReadOnlyAccess** AWS gerenciada.
+ Os usuários têm acesso a casos de suporte abertos, por meio da política AWS gerenciada de **AWSSupportacesso**.
+ Os usuários têm acesso somente para leitura ao painel do AWS Billing console, por meio da política **AWSBillingReadOnlyAccess** AWS gerenciada.
+ Os usuários podem provisionar produtos do Service Catalog, por meio da política **AWSServiceCatalogEndUserFullAccess** AWS gerenciada.
+ Os usuários podem validar e estimar o custo de qualquer CloudFormation modelo, por meio da política embutida.
+ Ao usar a função **CloudFormationRole**do IAM, os usuários podem criar, atualizar ou excluir qualquer CloudFormation pilha que comece com **app/**.
+ Os usuários podem usar CloudFormation para criar, atualizar ou excluir funções do IAM que começam com **app/**. A política **PermissionsBoundary**do IAM impede que os usuários aumentem seus privilégios.
+ Os usuários podem provisionar recursos da Amazon AWS Lambda EventBridge CloudWatch, Amazon, Amazon Simple Storage Service (Amazon S3) e Amazon API Gateway somente usando. CloudFormation

A imagem a seguir mostra como um usuário autorizado, como um desenvolvedor, pode criar um novo perfil do IAM em uma conta-membro usando os conjuntos de permissões, perfis do IAM e limites de permissões descritos neste guia:

1. O usuário se autentica no IAM Identity Center e assume a **DeveloperAccess**função do IAM.

1. O usuário inicia a `cloudformation:CreateStack` ação e assume a **CloudFormationRole**função do IAM.

1. O usuário inicia a `iam:CreateRole` ação e usa CloudFormation para criar uma nova função do IAM.

1. A política **PermissionsBoundary**do IAM é aplicada à nova função do IAM.



![\[Usuário criando um perfil do IAM que está sujeito ao limite de permissões na conta-membro\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/transitioning-to-multiple-aws-accounts/images/2_create-iam-role.png)


A **CloudFormationRole**função tem a política [AdministratorAccess](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html#jf_administrator)gerenciada anexada, mas devido à política do **PermissionsBoundary**IAM, as permissões efetivas da **CloudFormationRole**função se tornam iguais às da **PermissionsBoundary**política. A **PermissionsBoundary**política faz referência a si mesma ao permitir a `iam:CreateRole` ação, o que garante que as funções possam ser criadas somente se o limite de permissões for aplicado.