

 **Ayude a mejorar esta página** 

Para contribuir a esta guía del usuario, elija el enlace **Edit this page on GitHub** que se encuentra en el panel derecho de cada página.

# Concesión de acceso a los pods a los recursos de AWS en función de las etiquetas
<a name="pod-id-abac"></a>

El control de acceso basado en atributos (ABAC) concede derechos a los usuarios mediante políticas que combinan atributos. Pod Identity de EKS adjunta etiquetas a las credenciales temporales de cada pod con atributos como el nombre del clúster, el espacio de nombres y el nombre de la cuenta de servicio. Estas etiquetas de sesión de roles permiten a los administradores crear un único rol que funcione en todas las cuentas de servicio al permitir el acceso a los recursos de AWS en función de las etiquetas coincidentes. Al agregar la compatibilidad con las etiquetas de sesión de roles, puede reforzar los límites de seguridad entre los clústeres y las cargas de trabajo dentro de los clústeres, mientras reutilizan los mismos roles y políticas de IAM.

## Ejemplo de política con etiquetas
<a name="_sample_policy_with_tags"></a>

A continuación, se muestra un ejemplo de política de IAM que concede permisos `s3:GetObject` cuando el objeto correspondiente está etiquetado con el nombre del clúster de EKS.

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetObjectTagging"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "s3:ExistingObjectTag/eks-cluster-name": "${aws:PrincipalTag/eks-cluster-name}"
                }
            }
        }
    ]
}
```

## Activación o desactivación de etiquetas de sesión
<a name="pod-id-abac-tags"></a>

EKS Pod Identity agrega un conjunto predefinido de etiquetas de sesión cuando asume el rol. Estas etiquetas de sesión permiten a los administradores crear un único rol que funcione en todos los recursos al permitir el acceso a los recursos de AWS en función de las etiquetas coincidentes.

### Activación de las etiquetas de sesión
<a name="_enable_session_tags"></a>

Las etiquetas de sesión se activan automáticamente con EKS Pod Identity, por lo que no es necesario que haga nada. De forma predeterminada, EKS Pod Identity adjunta un conjunto de etiquetas predefinidas a la sesión. Para hacer referencia a estas etiquetas en las políticas, utilice la sintaxis `${aws:PrincipalTag/` seguida de la clave de etiqueta. Por ejemplo, `${aws:PrincipalTag/kubernetes-namespace}`.
+  `eks-cluster-arn` 
+  `eks-cluster-name` 
+  `kubernetes-namespace` 
+  `kubernetes-service-account` 
+  `kubernetes-pod-name` 
+  `kubernetes-pod-uid` 

### Desactivación de las etiquetas de sesión
<a name="_disable_session_tags"></a>

 AWS comprime las políticas de sesión insertadas, los ARN de políticas administradas y las etiquetas de sesión en un formato binario empaquetado que tiene un límite separado. Si recibe un error `PackedPolicyTooLarge` que indica que el formato binario empaquetado ha superado el límite de tamaño, puede desactivar las etiquetas de sesión agregadas por EKS Pod Identity para intentar reducir el tamaño. Para desactivar estas etiquetas de sesión, siga estos pasos:

1. Abra la [consola de Amazon EKS](https://console.aws.amazon.com/eks/home#/clusters).

1. En el panel de navegación izquierdo, seleccione **Clústeres** y, luego, seleccione el nombre del clúster que desea modificar.

1. Elija la pestaña **Acceso**.

1. En **Asociaciones de Pod Identity**, elija el ID de asociación que desea modificar en **ID de asociación** y, a continuación, **Editar**.

1. En **Etiquetas de sesión**, elija **Desactivar etiquetas de sesión**.

1. Seleccione **Save changes (Guardar cambios)**.

## Etiquetas entre cuentas
<a name="pod-id-abac-chaining"></a>

Todas las etiquetas de sesión que agrega Pod Identity de EKS son *transitivas*; las claves y los valores de las etiquetas se transfieren a cualquier acción `AssumeRole` que sus cargas de trabajo utilicen para cambiar los roles a otra cuenta. Puede utilizar estas etiquetas en las políticas de otras cuentas para limitar el acceso en situaciones entre cuentas. Para obtener más información, consulte [Encadenar roles con etiquetas de sesión](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_role-chaining) en la *Guía del usuario de IAM.*

## Etiquetas personalizadas
<a name="pod-id-abac-custom-tags"></a>

Pod Identity de Amazon EKS no puede agregar etiquetas personalizadas adicionales a la acción `AssumeRole` que realiza. Sin embargo, las etiquetas que se aplican al rol de IAM siempre están disponibles en el mismo formato: `${aws:PrincipalTag/` seguido de la clave, por ejemplo, `${aws:PrincipalTag/MyCustomTag}`.

**nota**  
Las etiquetas agregadas a la sesión mediante la solicitud de `sts:AssumeRole` tienen prioridad en caso de conflicto. Por ejemplo, supongamos que:  
Amazon EKS agrega una clave `eks-cluster-name` y un valor `my-cluster` a la sesión cuando EKS asume el rol de cliente y
Agrega una etiqueta `eks-cluster-name` al rol de IAM con el valor `my-own-cluster`.
En este caso, prevalecerá la primera y el valor de la etiqueta `eks-cluster-name` será `my-cluster`.