

# Administración de identidades y accesos para la interconexión de VPC
<a name="security-iam"></a>

De forma predeterminada, los usuarios no pueden crear ni modificar interconexiones de VPC. Para conceder acceso a recursos de emparejamiento de VPC, asocie una política de IAM a una identidad de IAM como, por ejemplo, un rol.

**Topics**
+ [Creación de una interconexión de VPC](#vpc-peering-iam-create)
+ [Aceptación de una interconexión de VPC](#vpc-peering-iam-accept)
+ [Elimine la interconexión de VPC](#vpc-peering-iam-delete)
+ [Trabajar con una cuenta específica](#vpc-peering-iam-account)
+ [Administrar conexiones de emparejamiento de VPC en la consola](#peering-connection-console-iam)

Para obtener una lista de las acciones de Amazon VPC y las claves de condiciones y recursos compatibles para cada acción, consulte [Acciones, recursos y claves de condición para Amazon EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html) en la *Referencia de autorización de servicios*.

## Ejemplo: crear una conexión de emparejamiento de VPC
<a name="vpc-peering-iam-create"></a>

La siguiente política otorga permiso a los usuarios para crear solicitudes de conexión de emparejamiento de VPC mediante VPC con la etiqueta `Purpose=Peering`. La primera instrucción aplica una clave de condición (`ec2:ResourceTag`) al recurso de la VPC. Tenga en cuenta que el recurso de la VPC de la acción `CreateVpcPeeringConnection` corresponde siempre a la VPC solicitante. 

La segunda instrucción otorga a los usuarios permiso para crear recursos de conexión de emparejamiento de VPC y, por lo tanto, usa el carácter comodín \* en lugar de un ID de recurso específico.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement":[
    {
      "Effect":"Allow",
      "Action": "ec2:CreateVpcPeeringConnection",
      "Resource": "arn:aws:ec2:{{us-east-1}}:{{123456789012}}:vpc/*",
      "Condition": {
        "StringEquals": {
          "ec2:ResourceTag/{{Purpose}}": "{{Peering}}"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": "ec2:CreateVpcPeeringConnection",
      "Resource": "arn:aws:ec2:{{us-east-1}}:{{123456789012}}:vpc-peering-connection/*"
    }
  ]
}
```

------

La siguiente política otorga permiso a los usuarios de la cuenta de AWS especificada para crear conexiones de emparejamiento de VPC mediante cualquier VPC de la región especificada, pero solo si la VPC que aceptará la conexión de emparejamiento es una VPC determinada en otra cuenta específica.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "ec2:CreateVpcPeeringConnection",
            "Resource": "arn:aws:ec2:{{us-east-1}}:{{123456789012}}:vpc/*"
        },
        {
            "Effect": "Allow",
            "Action": "ec2:CreateVpcPeeringConnection",
            "Resource": "arn:aws:ec2:{{us-east-1}}:{{123456789012}}:vpc-peering-connection/*",
            "Condition": {
                "ArnEquals": {
                    "ec2:AccepterVpc": "arn:aws:ec2:{{us-east-1}}:{{111122223333}}:vpc/{{vpc-1234567890abcdef0}}"
                }
            }
        }
    ]
}
```

------

## Ejemplo: aceptar una conexión de emparejamiento de VPC
<a name="vpc-peering-iam-accept"></a>

La siguiente política otorga permiso a los usuarios para aceptar solicitudes de conexión de emparejamiento de VPC de una cuenta de AWS específica. Esto ayuda a evitar que los usuarios acepten solicitudes de interconexión de VPC de cuentas desconocidas. La instrucción utiliza la clave de condición `ec2:RequesterVpc` para hacer que esto se cumpla. 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement":[
    {
      "Effect":"Allow",
      "Action": "ec2:AcceptVpcPeeringConnection",
      "Resource": "arn:aws:ec2:{{us-east-1}}:{{123456789012}}:vpc-peering-connection/*",
      "Condition": {
        "ArnEquals": {
          "ec2:RequesterVpc": "arn:aws:ec2:{{us-east-1}}:{{111122223333}}:vpc/*"
        }
      }
    },
    {
      "Effect":"Allow",
      "Action": "ec2:AcceptVpcPeeringConnection",
      "Resource": "arn:aws:ec2:{{us-east-1}}:{{123456789012}}:vpc/*"
    }
  ]
}
```

------

La siguiente política otorga permiso a los usuarios para aceptar solicitudes de emparejamiento solo si la VPC tiene la etiqueta `Purpose=Peering`.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement":[
    {
      "Effect":"Allow",
      "Action": "ec2:AcceptVpcPeeringConnection",
      "Resource": "arn:aws:ec2:{{us-east-1}}:{{123456789012}}:vpc-peering-connection/*"
    },
    {
      "Effect": "Allow",
      "Action": "ec2:AcceptVpcPeeringConnection",
      "Resource": "arn:aws:ec2:{{us-east-1}}:{{123456789012}}:vpc/*",
      "Condition": {
        "StringEquals": {
          "ec2:ResourceTag/{{Purpose}}": "{{Peering}}"
        }
      }
    }
  ]
}
```

------

## Ejemplo: eliminar una conexión de emparejamiento de VPC
<a name="vpc-peering-iam-delete"></a>

La siguiente política otorga permiso a los usuarios de la cuenta especificada para eliminar cualquier conexión de emparejamiento de VPC, salvo aquellas que usen la VPC especificada, la cual se encuentra en la misma cuenta. La política especifica las claves de condición `ec2:AccepterVpc` y `ec2:RequesterVpc`, ya que es posible que la VPC haya sido la VPC solicitante o la VPC del mismo nivel en la solicitud de interconexión de VPC original.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "ec2:DeleteVpcPeeringConnection",
            "Resource": "arn:aws:ec2:{{us-east-1}}:{{123456789012}}:vpc-peering-connection/*",
            "Condition": {
                "ArnNotEquals": {
                    "ec2:AccepterVpc": "arn:aws:ec2:{{us-east-1}}:{{123456789012}}:vpc/{{vpc-1234567890abcdef0}}",
                    "ec2:RequesterVpc": "arn:aws:ec2:{{us-east-1}}:{{123456789012}}:vpc/{{vpc-0abcdef1234567890}}"
                }
            }
        }
    ]
}
```

------

## Ejemplo: trabajar con una cuenta específica
<a name="vpc-peering-iam-account"></a>

La siguiente política otorga permiso a los usuarios para usar conexiones de emparejamiento de VPC de una cuenta específica. La política permite a los usuarios ver, crear, aceptar, rechazar y eliminar interconexiones de VPC siempre que se encuentren en la misma cuenta de AWS.

La primera instrucción otorga permiso a los usuarios para ver todas las conexiones de emparejamiento de VPC. El elemento `Resource` requiere el carácter comodín \* en este caso, ya que la acción de la API (`DescribeVpcPeeringConnections`) no admite actualmente los permisos de nivel de recurso.

La segunda instrucción otorga permiso a los usuarios para crear conexiones de emparejamiento de VPC y permite para ello el acceso a todas las VPC de la cuenta especificada.

La tercera instrucción usa el carácter comodín \* como parte del elemento `Action` para otorgar permiso para todas las acciones de conexión de emparejamiento de VPC. Las claves de condición aseguran que las acciones solo se puedan realizar en interconexiones de VPC con VPC que forman parte de la cuenta. Por ejemplo, un usuario no puede eliminar una conexión de emparejamiento de VPC si la VPC solicitante o responsable de aceptar la solicitud se encuentran en cuentas distintas. Los usuarios no podrán crear interconexiones de VPC con VPC de otras cuentas distintas.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "ec2:DescribeVpcPeeringConnections",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateVpcPeeringConnection",
                "ec2:AcceptVpcPeeringConnection"
            ],
            "Resource": "arn:aws:ec2:*:{{111122223333}}:vpc/*"
        },
        {
            "Effect": "Allow",
            "Action": "ec2:*VpcPeeringConnection",
            "Resource": "arn:aws:ec2:*:{{111122223333}}:vpc-peering-connection/*",
            "Condition": {
                "ArnEquals": {
                    "ec2:AccepterVpc": "arn:aws:ec2:*:{{111122223333}}:vpc/*",
                    "ec2:RequesterVpc": "arn:aws:ec2:*:{{111122223333}}:vpc/*"
                }
            }
        }
    ]
}
```

------

## Ejemplo: administrar conexiones de emparejamiento de VPC mediante la consola
<a name="peering-connection-console-iam"></a>

Para consultar las interconexiones de VPC en la consola de Amazon VPC, los usuarios deben tener permiso para utilizar la acción `ec2:DescribeVpcPeeringConnections`. Para poder utilizar la página **Create Peering Connection (Crear interconexiones)**, los usuarios deben tener permiso para utilizar la acción `ec2:DescribeVpcs`. Esto les concede permiso para visualizar y seleccionar una VPC. Puede aplicar permisos de nivel de recurso a todas las acciones `ec2:*PeeringConnection` excepto `ec2:DescribeVpcPeeringConnections`. 

La siguiente política otorga permiso a los usuarios para ver conexiones de emparejamiento de VPC y usar el cuadro de diálogo **Create VPC Peering Connection** (Crear conexiones de emparejamiento de VPC) para crear una conexión de emparejamiento de VPC que use solo una VPC solicitante específica. Si los usuarios intentan crear una interconexión de VPC con una VPC solicitante distinta, se producirá un error en la solicitud.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect":"Allow",
      "Action": [
        "ec2:DescribeVpcPeeringConnections", "ec2:DescribeVpcs"
      ],
      "Resource": "*"
    },
    {
      "Effect":"Allow",
      "Action": "ec2:CreateVpcPeeringConnection",
      "Resource": [
        "arn:aws:ec2:*:*:vpc/{{vpc-1234567890abcdef0}}",
        "arn:aws:ec2:*:*:vpc-peering-connection/*"
      ]
    }
  ]
}
```

------