

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Creación de un límite de permisos
<a name="creating-a-permissions-boundary"></a>

Después de implementar los conjuntos de permisos, debe establecer un límite de permisos. Este *límite de permisos* es un mecanismo para delegar el acceso a IAM únicamente a los usuarios que están desarrollando, probando, lanzando y administrando su infraestructura de nube. Esos usuarios solo pueden realizar las acciones permitidas por la política y el límite de permisos.

Puede definir el límite de permisos en una AWS CloudFormation plantilla y luego usarlo CloudFormation StackSets para implementar la plantilla en varias cuentas. Esto lo ayuda a establecer y mantener políticas estandarizadas en toda la organización con una sola operación. Para obtener más información e instrucciones, consulte [Trabajar con AWS CloudFormation StackSets](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html) (CloudFormation documentación).

La siguiente CloudFormation plantilla establece una función de IAM y crea una política de IAM que actúa como límite de permisos. Con un conjunto de pilas, puede implementar esta plantilla en todas las cuentas miembro de su organización.

```
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: "*"
```

El **CloudFormationRole**rol, la **PermissionsBoundary**política y el conjunto de **DeveloperAccess**permisos funcionan juntos para conceder los siguientes permisos:
+ Los usuarios tienen acceso de solo lectura a la mayoría Servicios de AWS, a través de la política **ReadOnlyAccess** AWS administrada.
+ Los usuarios tienen acceso a los casos de soporte abiertos a través de la política de **AWSSupportacceso** AWS gestionado.
+ Los usuarios tienen acceso de solo lectura al panel de control de la AWS Billing consola, a través de la política **AWSBillingReadOnlyAccess** AWS gestionada.
+ Los usuarios pueden aprovisionar productos desde Service Catalog mediante la política **AWSServiceCatalogEndUserFullAccess** AWS gestionada.
+ Los usuarios pueden validar y estimar el costo de cualquier CloudFormation plantilla mediante la política en línea.
+ **Al utilizar la función de **CloudFormationRole**IAM, los usuarios pueden crear, actualizar o eliminar cualquier CloudFormation pila que comience por app/.**
+ **Los usuarios pueden utilizar CloudFormation para crear, actualizar o eliminar funciones de IAM que comiencen por app/.** La política **PermissionsBoundary**de IAM impide que los usuarios aumenten sus privilegios.
+ Los usuarios solo pueden aprovisionar recursos de Amazon AWS Lambda EventBridge CloudWatch, Amazon, Amazon Simple Storage Service (Amazon S3) y Amazon API Gateway utilizando. CloudFormation

En la siguiente imagen, se muestra cómo un usuario autorizado, como un desarrollador, puede crear un nuevo rol de IAM en una cuenta miembro mediante los conjuntos de permisos, los roles de IAM y los límites de permisos que se describen en esta guía:

1. El usuario se autentica en el Centro de Identidad de IAM y asume la función de **DeveloperAccess**IAM.

1. El usuario inicia la `cloudformation:CreateStack` acción y asume la función de IAM. **CloudFormationRole**

1. El usuario inicia la `iam:CreateRole` acción y la utiliza CloudFormation para crear una nueva función de IAM.

1. La política **PermissionsBoundary**de IAM se aplica al nuevo rol de IAM.



![\[Creación de un rol de IAM por parte del usuario que está sujeto al límite de permisos de la cuenta miembro\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/transitioning-to-multiple-aws-accounts/images/2_create-iam-role.png)


El **CloudFormationRole**rol tiene asociada la política [AdministratorAccess](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html#jf_administrator)gestionada, pero debido a la política de **PermissionsBoundary**IAM, los permisos efectivos del **CloudFormationRole**rol pasan a ser iguales a los de la política. **PermissionsBoundary** La **PermissionsBoundary**política hace referencia a sí misma al permitir la `iam:CreateRole` acción, lo que garantiza que los roles solo se puedan crear si se aplica el límite de permisos.