Ayude a mejorar esta página
¿Quiere contribuir a esta guía del usuario? Desplácese hasta el final de esta página y seleccione Editar esta página en GitHub. Sus contribuciones ayudarán a que nuestra guía del usuario sea mejor para todos.
Solución de problemas de IAM
En este tema se tratan algunos errores habituales que pueden aparecer al utilizar Amazon EKS con IAM y cómo solucionarlos.
AccessDeniedException
Si recibe una AccessDeniedException
al llamar a una operación de API de AWS, las credenciales de la entidad principal de IAM 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.
Para obtener información general sobre IAM, consulte Control del acceso con políticas en la Guía del usuario de IAM.
No puedo ver Nodos en la pestaña Compute (Informática) o cualquier cosa de la pestaña Resources (Recursos) y recibe un error en la AWS Management Console
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 con el que está utilizando la AWS Management Console tenga los permisos necesarios. Para obtener más información, consulte Permisos necesarios.
El ConfigMap
de aws-auth no concede acceso al clúster
El autenticador de IAM de AWSConfigMap
. Por lo tanto, antes de especificar rolearn
, elimine la ruta de acceso. Por ejemplo, cambie arn:aws:iam::
a 111122223333
:role/team
/developers
/eks-admin
arn:aws:iam::
.111122223333
:role/eks-admin
No tengo autorización para realizar la operación iam:PassRole
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 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.
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. 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 más información, consulte lo siguiente:
-
Para saber si Amazon EKS admite estas características, consulte Cómo funciona Amazon EKS con IAM.
-
Para obtener información acerca de cómo proporcionar acceso a los recursos de las Cuenta de AWS de su propiedad, consulte Proporcionar acceso a un usuario de IAM a otra Cuentas de AWS de la que es propietario en la Guía del usuario de IAM.
-
Para obtener información acerca de cómo proporcionar acceso a tus recursos a Cuentas de AWS de terceros, consulte Proporcionar acceso a Cuentas de AWS que son propiedad de terceros 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) en la Guía del usuario de IAM.
-
Para conocer sobre la diferencia entre los roles y las políticas basadas en recursos para el acceso entre cuentas, consulte Cross account resource access in IAM 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
Los contenedores reciben este error si la aplicación realiza solicitudes explícitamente al punto de conexión 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 en la guía del usuario de IAM. -
Configure sus cuentas de servicio para utilizar el punto de conexión global. Todas las versiones anteriores a
1.22
utilizaron el punto de conexión global de forma predeterminada, pero la versión1.22
y los clústeres posteriores 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.