

# Cómo funciona Amazon VPC con IAM
<a name="security_iam_service-with-iam"></a>

Antes de utilizar IAM para administrar el acceso a Amazon VPC, debe conocer qué características de IAM están disponibles con Amazon VPC. Para obtener una perspectiva general sobre cómo funcionan Amazon VPC y otros servicios de AWS con IAM, consulte [Servicios de AWS que funcionan con IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) en la *Guía del usuario de IAM*.

**Topics**
+ [Acciones](#security_iam_service-with-iam-id-based-policies-actions)
+ [Recursos](#security_iam_service-with-iam-id-based-policies-resources)
+ [Claves de condición](#security_iam_service-with-iam-id-based-policies-conditionkeys)
+ [Políticas basadas en recursos de Amazon VPC](#security_iam_service-with-iam-resource-based-policies)
+ [Autorización basada en etiquetas](#security_iam_service-with-iam-tags)
+ [Roles de IAM](#security_iam_service-with-iam-roles)

Con las políticas basadas en identidad de IAM, puede especificar acciones permitidas o denegadas. Para algunas acciones, puede especificar los recursos y las condiciones en los cuales se permiten o deniegan las acciones. Amazon VPC admite acciones, claves de condiciones y recursos específicos. Para obtener más información acerca de los elementos que utiliza en una política de JSON, consulte [Referencia de los elementos de las políticas de JSON de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) en la *Guía del usuario de IAM*.

## Acciones
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

Los administradores pueden utilizar las políticas JSON de AWS para especificar quién tiene acceso a qué. Es decir, qué **entidad principal** puede realizar **acciones** en qué **recursos** y en qué **condiciones**.

El elemento `Action` de una política JSON describe las acciones que puede utilizar para conceder o denegar el acceso en una política. Incluya acciones en una política para conceder permisos para realizar la operación asociada.

Amazon VPC comparte su espacio de nombres de la API con Amazon EC2. Las acciones de políticas de Amazon VPC utilizan el siguiente prefijo antes de la acción: `ec2:`. Por ejemplo, para conceder a un usuario permiso para crear una VPC mediante la operación de la API `CreateVpc`, se concede acceso a la acción `ec2:CreateVpc`. Las instrucciones de la política deben incluir un elemento `Action` o un elemento `NotAction`.

Para especificar varias acciones en una única instrucción, sepárelas con comas como se muestra en el siguiente ejemplo.

```
"Action": [
      "ec2:action1",
      "ec2:action2"
]
```

Puede utilizar caracteres comodín para especificar varias acciones (\$1). Por ejemplo, para especificar todas las acciones que comiencen con la palabra `Describe`, incluya la siguiente acción. 

```
"Action": "ec2:Describe*"
```

Para ver una lista de las acciones de Amazon VPC, consulte [Acciones definidas por Amazon EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-actions-as-permissions) en la *Referencia de autorizaciones de servicio*.

## Recursos
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

Los administradores pueden utilizar las políticas JSON de AWS para especificar quién tiene acceso a qué. Es decir, qué **entidad principal** puede realizar **acciones** en qué **recursos** y en qué **condiciones**.

El elemento `Resource` de la política JSON especifica el objeto u objetos a los que se aplica la acción. Como práctica recomendada, especifique un recurso utilizando el [Nombre de recurso de Amazon (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). En el caso de las acciones que no admiten permisos por recurso, utilice un carácter comodín (\$1) para indicar que la instrucción se aplica a todos los recursos.

```
"Resource": "*"
```

El recurso de VPC tiene el ARN que se muestra en el ejemplo siguiente.

```
arn:${Partition}:ec2:${Region}:${Account}:vpc/${VpcId}
```

Por ejemplo, para especificar la VPC `vpc-1234567890abcdef0` en su instrucción, utilice el ARN que se muestra en el ejemplo siguiente.

```
"Resource": "arn:aws:ec2:us-east-1:123456789012:vpc/vpc-1234567890abcdef0"
```

Para especificar todas las VPC de una región específica que pertenezcan a una cuenta específica, utilice el comodín (\$1).

```
"Resource": "arn:aws:ec2:us-east-1:123456789012:vpc/*"
```

Algunas acciones de Amazon VPC, como las que se utilizan para crear recursos, no se pueden llevar a cabo en un recurso específico. En dichos casos, debe utilizar el carácter comodín (\$1).

```
"Resource": "*"
```

En muchas acciones de la API de Amazon EC2 se utilizan varios recursos. Para especificar varios recursos en una única instrucción, separe los ARN con comas. 

```
"Resource": [
      "resource1",
      "resource2"
]
```

Para ver una lista de los tipos de recursos de Amazon VPC y sus ARN, consulte [Tipos de recursos definidos por Amazon EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-resources-for-iam-policies) en la *Referencia de autorizaciones de servicio*.

## Claves de condición
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

Los administradores pueden utilizar las políticas JSON de AWS para especificar quién tiene acceso a qué. Es decir, qué **entidad principal** puede realizar **acciones** en qué **recursos** y en qué **condiciones**.

El elemento `Condition` especifica cuándo se ejecutan las instrucciones en función de criterios definidos. Puede crear expresiones condicionales que utilizan [operadores de condición](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html), tales como igual o menor que, para que la condición de la política coincida con los valores de la solicitud. Para ver todas las claves de condición globales de AWS, consulte [Claves de contexto de condición globales de AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) en la *Guía del usuario de IAM*.

Todas las acciones de Amazon EC2 admiten las claves de condición `aws:RequestedRegion` y `ec2:Region`. Para obtener más información, consulte [Ejemplo: restricción del acceso a una región específica](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ExamplePolicies_EC2.html#iam-example-region).

Amazon VPC define su propio conjunto de claves de condición y también admite el uso de algunas claves de condición globales. Para ver una lista de las claves de condición de Amazon VPC, consulte [Claves de condición para Amazon EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-policy-keys) en la *Referencia de autorizaciones de servicio*. Para obtener más información acerca de las acciones y los recursos con los que puede utilizar una clave de condición, consulte [Acciones definidas por Amazon EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-actions-as-permissions).

## Políticas basadas en recursos de Amazon VPC
<a name="security_iam_service-with-iam-resource-based-policies"></a>

Las políticas basadas en recursos son documentos de políticas JSON que especifican qué acciones puede realizar una entidad principal especificada en el recurso de Amazon VPC y en qué condiciones.

Para habilitar el acceso entre cuentas, puede especificar toda una cuenta o entidades de IAM de otra cuenta como la [entidad principal de una política basada en recursos](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html). Añadir a una política basada en recursos una entidad principal entre cuentas es solo una parte del establecimiento de una relación de confianza. Cuando el principal y el recurso se encuentran en cuentas de AWS diferentes, también debe conceder a la entidad principal permiso para obtener acceso al recurso. Conceda permiso asociando a la entidad una política basada en identidades. Sin embargo, si la política basada en recursos concede acceso a una entidad principal de la misma cuenta, no es necesaria una política basada en identidad adicional. Para obtener más información, consulte [Acceso a recursos entre cuentas en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) en la *Guía del usuario de IAM*.

## Autorización basada en etiquetas
<a name="security_iam_service-with-iam-tags"></a>

Puede asociar etiquetas a los recursos de Amazon VPC o transferirlas en una solicitud. Para controlar el acceso en función de etiquetas, debe proporcionar información de las etiquetas en el [elemento Condition](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) de una política mediante las claves de condición. Para obtener más información, consulte [Conceder permisos para etiquetar recursos durante la creación](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/supported-iam-actions-tagging.html) en la *Guía del usuario de Amazon EC2*.

Para consultar un ejemplo de política basada en la identidad para limitar el acceso a un recurso en función de las etiquetas de ese recurso, consulte [Lanzar instancias en una VPC específica](vpc-policy-examples.md#subnet-ami-example-iam).

## Roles de IAM
<a name="security_iam_service-with-iam-roles"></a>

Un [rol de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#id_roles_terms-and-concepts) es una entidad de la Cuenta de AWS que dispone de permisos específicos.

### Utilizar credenciales temporales
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

Puede utilizar credenciales temporales para iniciar sesión con federación, asumir un rol de IAM o asumir un rol de acceso entre cuentas. Las credenciales de seguridad temporales se obtienen mediante una llamada a operaciones de la API de AWS STS, como [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) o [GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html). 

Amazon VPC admite el uso de credenciales temporales. 

### Roles vinculados a servicios
<a name="security_iam_service-with-iam-roles-service-linked"></a>

Los [roles vinculados a servicios](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#id_roles_terms-and-concepts) permiten a los servicios de AWS obtener acceso a los recursos de otros servicios para completar una acción en su nombre. Los roles vinculados a servicios aparecen en la cuenta de IAM y son propiedad del servicio. Un administrador de IAM puede ver, pero no editar, los permisos de los roles vinculados a servicios.

Las [puertas de enlaces de tránsito](https://docs.aws.amazon.com/vpc/latest/tgw/service-linked-roles.html) admiten roles vinculados a servicios. 

### Roles de servicio
<a name="security_iam_service-with-iam-roles-service"></a>

Esta característica permite que un servicio asuma un [rol de servicio](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#id_roles_terms-and-concepts) en su nombre. Este rol permite que el servicio obtenga acceso a los recursos de otros servicios para completar una acción en su nombre. Los roles de servicio aparecen en su cuenta de IAM y son propiedad de la cuenta. Esto significa que un administrador de IAM puede cambiar los permisos de este rol. Sin embargo, hacerlo podría deteriorar la funcionalidad del servicio.

Amazon VPC admite roles de servicio para registros de flujo. Al crear un registro de flujo, debe elegir un rol que permita al servicio de registros de flujo acceder a CloudWatch Logs. Para obtener más información, consulte [Rol de IAM para publicar registros de flujo en CloudWatch Logs](flow-logs-iam-role.md).