

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.

# AWS CodeDeploy ejemplos de políticas basadas en la identidad
<a name="security_iam_id-based-policy-examples"></a>

De forma predeterminada, los usuarios no tienen permiso para crear o modificar CodeDeploy recursos. Tampoco pueden realizar tareas con la AWS API Consola de administración de AWS AWS CLI, o. Un administrador de IAM debe crear políticas de IAM que concedan permisos a los roles de IAM para realizar operaciones en la API en los recursos específicos que necesiten. A continuación, debe asociar esos roles de IAM a los usuarios o grupos que necesiten esos permisos.

Para obtener más información acerca de cómo crear una política basada en identidad de IAM con estos documentos de políticas de JSON de ejemplo, consulte [Creación de políticas en la pestaña JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-json-editor) en la *Guía del usuario de IAM*.

En CodeDeploy, las políticas basadas en la identidad se utilizan para administrar los permisos a los distintos recursos relacionados con el proceso de implementación. Puede controlar el acceso a los siguientes tipos de recurso:
+ Aplicaciones y revisiones de aplicación.
+ Implementaciones
+ Configuraciones de implementación.
+ Instancias e instancias en las instalaciones

Las capacidades controladas por políticas de recursos varían en función del tipo de recurso, tal y como se describe en la siguiente tabla:


****  

|  Tipos de recurso  |  Capacidades  | 
| --- | --- | 
|  Todos  |  Ver y enumerar detalles de recursos  | 
|  Aplicaciones Configuraciones de implementación Grupos de implementaciones  |  Creación de recursos de  Eliminación de recursos  | 
|  Implementaciones  |  Crear implementaciones Detener implementaciones  | 
|  Revisiones de aplicaciones  |  Registrar revisiones de aplicación  | 
|  Aplicaciones Grupos de implementaciones  |  Recursos actualizados  | 
|  Instancias en las instalaciones  |  Añadir etiquetas a instancias Eliminar etiquetas de instancias Registrar instancias Cancelar el registro de instancias  | 

El siguiente ejemplo muestra una política de permisos que permite a un usuario eliminar el grupo de implementaciones denominado **WordPress\$1DepGroup** asociado a la aplicación denominada **WordPress\$1App** en la región **us-west-2**.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement" : [
    {
      "Effect" : "Allow",
      "Action" : [
        "codedeploy:DeleteDeploymentGroup"
      ],
      "Resource" : [
        "arn:aws:codedeploy:us-west-2:111122223333:deploymentgroup:WordPress_App/WordPress_DepGroup"
      ]
    }
  ]
}
```

------

**Topics**
+ [Ejemplos de políticas administradas por los clientes](#customer-managed-policies)
+ [Prácticas recomendadas sobre las políticas](#security_iam_service-with-iam-policy-best-practices)
+ [Uso de la consola CodeDeploy](#security_iam_id-based-policy-examples-console)
+ [Cómo permitir a los usuarios consultar sus propios permisos](#security_iam_id-based-policy-examples-view-own-permissions)

## Ejemplos de políticas administradas por los clientes
<a name="customer-managed-policies"></a>

En esta sección, encontrará ejemplos de políticas que otorgan permisos para diversas CodeDeploy acciones. Estas políticas funcionan cuando se utiliza la CodeDeploy API AWS SDKs, o la AWS CLI. Debe conceder permisos adicionales para las acciones que realice en la consola. Para obtener más información sobre cómo conceder permisos de consola, consulte [Uso de la consola CodeDeploy](#security_iam_id-based-policy-examples-console) .



**nota**  
Todos los ejemplos utilizan la región EE.UU. Oeste (Oregón) (`us-west-2`) y contienen una cuenta IDs ficticia.

 **Ejemplos**
+ [Ejemplo 1: Permitir el permiso para realizar CodeDeploy operaciones en una sola región](#identity-based-policies-example-1)
+ [Ejemplo 2: permitir a un usuario registrar revisiones para una única aplicación](#identity-based-policies-example-2)
+ [Ejemplo 3: permitir a un usuario crear implementaciones para un único grupo de implementación](#identity-based-policies-example-3)

### Ejemplo 1: Permitir el permiso para realizar CodeDeploy operaciones en una sola región
<a name="identity-based-policies-example-1"></a>

El siguiente ejemplo concede permisos para realizar CodeDeploy operaciones únicamente en la **us-west-2** región:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement" : [
    {
      "Effect" : "Allow",
      "Action" : [
        "codedeploy:*"
      ],
      "Resource" : [
        "arn:aws:codedeploy:us-west-2:111122223333:*"
      ]
    }
  ]
}
```

------

### Ejemplo 2: permitir a un usuario registrar revisiones para una única aplicación
<a name="identity-based-policies-example-2"></a>

En el siguiente ejemplo se conceden permisos para registrar revisiones de aplicación para todas las aplicaciones que comienzan por **Test** en la región **us-west-2**:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement" : [
    {
      "Effect" : "Allow",
      "Action" : [
        "codedeploy:RegisterApplicationRevision"
      ],
      "Resource" : [
        "arn:aws:codedeploy:us-west-2:111122223333:application:Test*"
      ]
    }
  ]
}
```

------

### Ejemplo 3: permitir a un usuario crear implementaciones para un único grupo de implementación
<a name="identity-based-policies-example-3"></a>

En el siguiente ejemplo se concede permiso para crear implementaciones para el grupo de implementación denominado **WordPress\$1DepGroup** asociado a la aplicación denominada **WordPress\$1App**, la configuración de implementación personalizada denominada **ThreeQuartersHealthy** y cualquier revisión de aplicación asociada a la aplicación denominada **WordPress\$1App**. Todos estos recursos se encuentran en la región **us-west-2**.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement" : [
    {
      "Effect" : "Allow",
      "Action" : [
        "codedeploy:CreateDeployment"
      ],
      "Resource" : [
        "arn:aws:codedeploy:us-west-2:111122223333:deploymentgroup:WordPress_App/WordPress_DepGroup"
      ]
    },
    {
      "Effect" : "Allow",
      "Action" : [
        "codedeploy:GetDeploymentConfig"
      ],
      "Resource" : [
        "arn:aws:codedeploy:us-west-2:111122223333:deploymentconfig:ThreeQuartersHealthy"
      ]
    },
    {
      "Effect" : "Allow",
      "Action" : [
        "codedeploy:GetApplicationRevision"
      ],
      "Resource" : [
        "arn:aws:codedeploy:us-west-2:111122223333:application:WordPress_App"
      ]
    }
  ]
}
```

------

## Prácticas recomendadas sobre las políticas
<a name="security_iam_service-with-iam-policy-best-practices"></a>

Las políticas basadas en la identidad determinan si alguien puede crear CodeDeploy recursos de tu cuenta, acceder a ellos o eliminarlos. Estas acciones pueden generar costos adicionales para su Cuenta de AWS. Siga estas directrices y recomendaciones al crear o editar políticas basadas en identidades:
+ **Comience con las políticas AWS administradas y avance hacia los permisos con privilegios mínimos: para empezar a conceder permisos** a sus usuarios y cargas de trabajo, utilice las *políticas AWS administradas* que otorgan permisos para muchos casos de uso comunes. Están disponibles en su. Cuenta de AWS Le recomendamos que reduzca aún más los permisos definiendo políticas administradas por el AWS cliente que sean específicas para sus casos de uso. Con el fin de obtener más información, consulte las [políticas administradas por AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) o las [políticas administradas por AWS para funciones de tarea](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) en la *Guía de usuario de IAM*.
+ **Aplique permisos de privilegio mínimo**: cuando establezca permisos con políticas de IAM, conceda solo los permisos necesarios para realizar una tarea. Para ello, debe definir las acciones que se pueden llevar a cabo en determinados recursos en condiciones específicas, también conocidos como *permisos de privilegios mínimos*. Con el fin de obtener más información sobre el uso de IAM para aplicar permisos, consulte [Políticas y permisos en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) en la *Guía del usuario de IAM*.
+ **Utilice condiciones en las políticas de IAM para restringir aún más el acceso**: puede agregar una condición a sus políticas para limitar el acceso a las acciones y los recursos. Por ejemplo, puede escribir una condición de políticas para especificar que todas las solicitudes deben enviarse utilizando SSL. También puedes usar condiciones para conceder el acceso a las acciones del servicio si se utilizan a través de una acción específica Servicio de AWS, por ejemplo CloudFormation. Para obtener más información, consulte [Elementos de la política de JSON de IAM: Condición](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) en la *Guía del usuario de IAM*.
+ **Utiliza el analizador de acceso de IAM para validar las políticas de IAM con el fin de garantizar la seguridad y funcionalidad de los permisos**: el analizador de acceso de IAM valida políticas nuevas y existentes para que respeten el lenguaje (JSON) de las políticas de IAM y las prácticas recomendadas de IAM. El analizador de acceso de IAM proporciona más de 100 verificaciones de políticas y recomendaciones procesables para ayudar a crear políticas seguras y funcionales. Para más información, consulte [Validación de políticas con el Analizador de acceso de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) en la *Guía del usuario de IAM*.
+ **Requerir autenticación multifactor (MFA**): si tiene un escenario que requiere usuarios de IAM o un usuario raíz en Cuenta de AWS su cuenta, active la MFA para mayor seguridad. Para exigir la MFA cuando se invoquen las operaciones de la API, añada condiciones de MFA a sus políticas. Para más información, consulte [Acceso seguro a la API con MFA](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) en la *Guía del usuario de IAM*.

Para obtener más información sobre las prácticas recomendadas de IAM, consulte [Prácticas recomendadas de seguridad en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) en la *Guía del usuario de IAM*.

## Uso de la consola CodeDeploy
<a name="security_iam_id-based-policy-examples-console"></a>

Si utilizas la CodeDeploy consola, debes tener un conjunto mínimo de permisos que te permita describir otros AWS recursos de tu AWS cuenta. Para CodeDeploy utilizarlos en la CodeDeploy consola, debe tener permisos de los siguientes servicios:
+ Amazon EC2 Auto Scaling
+ AWS CodeDeploy
+ Amazon Elastic Compute Cloud
+ Elastic Load Balancing
+ AWS Identity and Access Management
+ Amazon Simple Storage Service
+ Amazon Simple Notification Service
+ Amazon CloudWatch

Si crea una política de IAM que sea más restrictiva que el mínimo de permisos necesarios, la consola no funcionará del modo esperado para los usuarios con ese rol para esa política de IAM. Para garantizar que esos usuarios puedan seguir utilizando la CodeDeploy consola, adjunte también la política `AWSCodeDeployReadOnlyAccess` gestionada a la función asignada al usuario, tal y como se describe en[AWS políticas administradas (predefinidas) para CodeDeploy](managed-policies.md).

No es necesario que concedas permisos mínimos de consola a los usuarios que solo realizan llamadas a la API AWS CLI o a la CodeDeploy API.

## Cómo permitir a los usuarios consultar sus propios permisos
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

En este ejemplo, se muestra cómo podría crear una política que permita a los usuarios de IAM ver las políticas administradas e insertadas que se asocian a la identidad de sus usuarios. Esta política incluye permisos para completar esta acción en la consola o mediante programación mediante la API AWS CLI o AWS .

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