

 **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.

# Solución de problemas de IAM
<a name="security-iam-troubleshoot"></a>

En este tema se tratan algunos errores habituales que pueden aparecer al utilizar Amazon EKS con IAM y cómo solucionarlos.

## AccessDeniedException
<a name="iam-error"></a>

Si recibe una `AccessDeniedException` al llamar a una operación de API de AWS, las credenciales de la [entidad principal de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal) que utiliza no tienen los permisos necesarios para hacer esa llamada.

```
An error occurred (AccessDeniedException) when calling the DescribeCluster operation:
User: arn:aws:iam::111122223333:user/user_name is not authorized to perform:
eks:DescribeCluster on resource: arn:aws:eks:region:111122223333:cluster/my-cluster
```

En el mensaje de ejemplo anterior, el usuario no tiene permisos para llamar a la operación `DescribeCluster` de la API de Amazon EKS. Para proporcionar permisos de administrador de Amazon EKS a una entidad principal de IAM, consulte [Ejemplos de políticas de Amazon EKS basadas en identidades](security-iam-id-based-policy-examples.md).

Para obtener información general sobre IAM, consulte [Control del acceso con políticas](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_controlling.html) en la *Guía del usuario de IAM*.

## No puede ver **Nodos** en la pestaña **Informática** o cualquier cosa de la pestaña **Recursos** y recibe un error en la Consola de administración de AWS
<a name="security-iam-troubleshoot-cannot-view-nodes-or-workloads"></a>

Es posible que aparezca un mensaje de error en la consola que dice `Your current user or role does not have access to Kubernetes objects on this EKS cluster`. Asegúrese de que el usuario [principal de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal) con el que está utilizando la Consola de administración de AWS tenga los permisos necesarios. Para obtener más información, consulte [Permisos necesarios](view-kubernetes-resources.md#view-kubernetes-resources-permissions).

## El `ConfigMap` de aws-auth no concede acceso al clúster
<a name="security-iam-troubleshoot-configmap"></a>

El [autenticador de IAM de AWS](https://github.com/kubernetes-sigs/aws-iam-authenticator) no permite una ruta de acceso en el ARN de rol utilizado en el `ConfigMap`. Por lo tanto, antes de especificar `rolearn`, elimine la ruta de acceso. Por ejemplo, cambie ` arn:aws:iam::111122223333:role/team/developers/eks-admin ` a ` arn:aws:iam::111122223333:role/eks-admin `.

## No tengo autorización para realizar la operación iam:PassRole
<a name="security-iam-troubleshoot-passrole"></a>

Si recibe un error que indica que no tiene autorización para llevar a cabo la acción `iam:PassRole`, sus políticas deben actualizarse para permitirle pasar un rol a Amazon MQ.

Algunos servicios de AWS le permiten transferir un rol existente a dicho servicio en lugar de crear un nuevo rol de servicio o uno vinculado al servicio. Para ello, debe tener permisos para transferir el rol al servicio.

En el siguiente ejemplo, el error se produce cuando un usuario de IAM denominado `marymajor` intenta utilizar la consola para realizar una acción en Amazon EKS. Sin embargo, la acción requiere que el servicio cuente con permisos que otorguen un rol de servicio. Mary no tiene permisos para transferir el rol al servicio.

```
User: {arn-aws}iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

En este caso, las políticas de Mary se deben actualizar para permitirle realizar la acción `iam:PassRole`.

Si necesita ayuda, póngase en contacto con su administrador de AWS. El administrador es la persona que le proporcionó las credenciales de inicio de sesión.

## Quiero permitir que personas ajenas a mi cuenta de AWS accedan a mis recursos de Amazon EKS.
<a name="security-iam-troubleshoot-cross-account-access"></a>

Puede crear un rol que los usuarios de otras cuentas o las personas externas a la organización puedan utilizar para acceder a sus recursos. Se puede especificar una persona de confianza para que asuma el rol. En el caso de los servicios que admitan las políticas basadas en recursos o las listas de control de acceso (ACL), puede utilizar dichas políticas para conceder a las personas acceso a sus recursos.

Para obtener más información, consulte lo siguiente:
+ Para saber si Amazon EKS admite estas características, consulte [Cómo funciona Amazon EKS con IAM](security-iam-service-with-iam.md).
+ Para obtener información acerca de cómo proporcionar acceso a los recursos de las cuentas de AWS de su propiedad, consulte [Proporcionar acceso a un usuario de IAM a otra cuenta de AWS de la que es propietario](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) en la *Guía del usuario de IAM*.
+ Para obtener información acerca de cómo proporcionar acceso a los recursos a cuentas de AWS de terceros, consulte [Proporcionar acceso a cuentas de AWS que son propiedad de terceros](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html) en la *Guía del usuario de IAM*.
+ Para obtener información sobre cómo proporcionar acceso mediante una federación de identidades, consulte [Proporcionar acceso a usuarios autenticados externamente (identidad federada)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html) en la *Guía del usuario de IAM*.
+ Para conocer sobre la diferencia entre las políticas basadas en roles y en recursos para el acceso entre cuentas, 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*.

## Los contenedores de pods muestran el siguiente error: `An error occurred (SignatureDoesNotMatch) when calling the GetCallerIdentity operation: Credential should be scoped to a valid region`
<a name="security-iam-troubleshoot-wrong-sts-endpoint"></a>

Los contenedores reciben este error si la aplicación lleva a cabo solicitudes explícitamente al punto de conexión de AWS STS global (`https://sts.amazonaws`) y su cuenta de servicio de Kubernetes está configurada para utilizar un punto de conexión regional. Puede resolver el problema con una de las siguientes opciones:
+ Actualice el código de la aplicación para eliminar las llamadas explícitas al punto de conexión global de AWS STS.
+ Actualice el código de la aplicación para realizar llamadas explícitas a puntos de conexión regionales, como `https://sts.us-west-2.amazonaws.com`. Su aplicación debe tener redundancia integrada para seleccionar una región de AWS diferente en caso de producirse un error del servicio en la región de AWS. Para obtener más información, consulte [Administración de AWS STS en una región de AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) en la guía del usuario de IAM.
+ Configure sus cuentas de servicio para utilizar el punto de conexión global. Los clústeres utilizan el punto de conexión regional de forma predeterminada. Para obtener más información, consulte [Configure el punto de conexión AWS Security Token Service de una cuenta de servicio](configure-sts-endpoint.md).