

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.

# Uso de etiquetas para controlar el acceso a los recursos de Elastic Beanstalk
<a name="AWSHowTo.iam.policies.access-tags"></a>

En este tema se explica cómo el control de acceso basado en etiquetas puede ayudarle a crear y administrar políticas de IAM.

Podemos utilizar condiciones en declaraciones de directiva de usuario de IAM para configurar permisos de acceso a recursos de Elastic Beanstalk. Para obtener más información sobre las condiciones de declaración de política, consulte [Recursos y condiciones para las acciones de Elastic Beanstalk](AWSHowTo.iam.policies.actions.md). El uso de etiquetas en las condiciones es una manera de controlar el acceso a los recursos y las solicitudes. Para obtener información sobre cómo etiquetar recursos de Elastic Beanstalk, consulte [Etiquetar recursos de la aplicación Elastic Beanstalk](applications-tagging-resources.md).

Al diseñar políticas de IAM, es posible que se establezcan permisos detallados mediante la concesión de acceso a recursos específicos. A medida que crezca la cantidad de recursos que administra, esta tarea será más complicada. El etiquetado de recursos y el uso de etiquetas en las condiciones de instrucción de política pueden facilitar esta tarea. Puede conceder acceso de forma masiva a cualquier recurso con una determinada etiqueta. A continuación, aplique repetidamente esta etiqueta a los recursos pertinentes durante la creación o después.

Las etiquetas se pueden asociar al recurso o pasarse dentro de la solicitud a los servicios que admiten etiquetado. En Elastic Beanstalk, los recursos pueden tener etiquetas y algunas acciones pueden incluir etiquetas. Cuando crea una política de IAM, puede utilizar claves de condición de etiqueta para controlar las siguientes condiciones:
+ Los usuarios que pueden realizar acciones en un entorno, en función de las etiquetas que ya tiene.
+ Las etiquetas que se pueden pasar en la solicitud de una acción.
+ Si se pueden utilizar claves de etiqueta específicas en una solicitud.

Para conocer la sintaxis y la semántica completas de las claves de condición de etiquetas, consulte [Control del acceso mediante etiquetas](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html) en la *Guía del usuario de IAM*.

## Ejemplos de condiciones de etiqueta en las políticas
<a name="AWSHowTo.iam.policies.access-tags.examples"></a>

Los siguientes ejemplos muestran cómo especificar condiciones de etiquetas en las políticas para los usuarios de Elastic Beanstalk.

**Example 1: Limitar acciones en función de etiquetas en la solicitud**  <a name="example_policy_tags.deny_by_request_tag"></a>
La política de usuarios administrados de **AdministratorAccessElastic AWSElastic Beanstalk: Beanstalk otorga** a los usuarios permisos ilimitados para realizar cualquier acción de Elastic Beanstalk en cualquier recurso administrado por Elastic Beanstalk.   
La siguiente política limita esta posibilidad y deniega el permiso a usuarios no autorizados para crear entornos de producción de Elastic Beanstalk. Para ello, deniega la acción `CreateEnvironment` si la solicitud especifica una etiqueta denominada `stage` con uno de los valores `gamma` o `prod`. Además, la política impide que estos usuarios no autorizados manipulen la fase de los entornos de producción no permitiendo acciones de modificación de etiquetas para incluir estos mismos valores de etiqueta o para eliminar la etiqueta `stage` completamente. El administrador de un cliente debe asociar esta política de IAM a los usuarios de IAM no autorizados, además de la política de usuario administrada.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "elasticbeanstalk:CreateEnvironment",
        "elasticbeanstalk:AddTags"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/stage": ["gamma", "prod"]
        }
      }
    },
    {
      "Effect": "Deny",
      "Action": [
        "elasticbeanstalk:RemoveTags"
      ],
      "Resource": "*",
      "Condition": {
        "ForAnyValue:StringEquals": {
          "aws:TagKeys": ["stage"]
        }
      }
    }
  ]
}
```

**Example 2: Limitar acciones en función de etiquetas de recursos**  <a name="example_policy_tags.deny_by_resource_tag"></a>
La política de usuarios administrados de **AdministratorAccessElastic AWSElastic Beanstalk: Beanstalk otorga** a los usuarios permisos ilimitados para realizar cualquier acción de Elastic Beanstalk en cualquier recurso administrado por Elastic Beanstalk.   
La siguiente política deniega permiso a usuarios no autorizados para realizar acciones en entornos de producción de Elastic Beanstalk. Para ello, deniega acciones específicas si el entorno tiene una etiqueta denominada `stage` con uno de los valores `gamma` o `prod`. El administrador de un cliente debe asociar esta política de IAM a los usuarios de IAM no autorizados, además de la política de usuario administrada.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "elasticbeanstalk:AddTags",
        "elasticbeanstalk:RemoveTags",
        "elasticbeanstalk:DescribeEnvironments",
        "elasticbeanstalk:TerminateEnvironment",
        "elasticbeanstalk:UpdateEnvironment",
        "elasticbeanstalk:ListTagsForResource"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/stage": ["gamma", "prod"]
        }
      }
    }
  ]
}
```

**Example 3: Permitir acciones en función de etiquetas en la solicitud**  <a name="example_policy_tags.allow_by_request_tag"></a>
La política siguiente concede a los usuarios permiso para crear aplicaciones de desarrollo de Elastic Beanstalk.   
Para ello, permite las acciones `CreateApplication` y `AddTags` si la solicitud especifica una etiqueta denominada `stage` con el valor `development`. La condición `aws:TagKeys` garantiza que el usuario no pueda añadir otras claves de etiqueta. En particular, garantiza la distinción entre mayúsculas y minúsculas de la clave de etiqueta `stage`. Tenga en cuenta que esta política es útil para los usuarios de IAM que no tienen adjunta la política de usuarios gestionados de Elastic Beanstalk **AdministratorAccessAWSElastic- Beanstalk**. La política administrada proporciona a los usuarios permisos ilimitados para realizar cualquier acción de Elastic Beanstalk en cualquier recurso administrado por Elastic Beanstalk.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "elasticbeanstalk:CreateApplication",
        "elasticbeanstalk:AddTags"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/stage": "development"
        },
        "ForAllValues:StringEquals": {
          "aws:TagKeys": ["stage"]
        }
      }
    }
  ]
}
```

**Example 4: Permitir acciones en función de etiquetas de recursos**  <a name="example_policy_tags.allow_by_resource_tag"></a>
La siguiente política concede a los usuarios permiso para realizar acciones sobre aplicaciones de desarrollo de Elastic Beanstalk y obtener información sobre ellas.   
Para ello, permite las acciones específicas si la aplicación especifica una etiqueta denominada `stage` con el valor `development`. La condición `aws:TagKeys` garantiza que el usuario no pueda añadir otras claves de etiqueta. En particular, garantiza la distinción entre mayúsculas y minúsculas de la clave de etiqueta `stage`. Tenga en cuenta que esta política es útil para los usuarios de IAM que no tienen adjunta la política de usuarios gestionados de Elastic Beanstalk **AdministratorAccessAWSElastic- Beanstalk**. La política administrada proporciona a los usuarios permisos ilimitados para realizar cualquier acción de Elastic Beanstalk en cualquier recurso administrado por Elastic Beanstalk.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "elasticbeanstalk:UpdateApplication",
        "elasticbeanstalk:DeleteApplication",
        "elasticbeanstalk:DescribeApplications"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/stage": "development"
        },
        "ForAllValues:StringEquals": {
          "aws:TagKeys": ["stage"]
        }
      }
    }
  ]
}
```