Saltar al contenido

¿Cómo soluciono el error del usuario de IAM "not authorized to perform iam:PassRole"?

2 minutos de lectura
0

Intenté realizar una acción de API con un usuario de AWS Identity and Access Management (IAM) para transferir un rol a un servicio de AWS. La acción de la API falló y recibí un error similar al siguiente: "You are not authorized to perform this operation. User: arn:aws:iam::123456789012:user/Bob is not authorized to perform: iam:PassRole on resource: arn:aws:iam::123456789012:role/ExampleRole because no identity-based policy allows the iam:PassRole action."

Descripción corta

Algunos servicios de AWS le permiten transferir un rol de IAM existente a ese servicio, de modo que no es necesario crear un nuevo rol de servicio. Sin embargo, debes tener permiso para transferir el rol de IAM al servicio de AWS.

Resolución

Para resolver este problema, actualiza la política de IAM para permitir al usuario de IAM realizar la acción de la API iam:PassRole para el servicio de AWS.

Nota: Puedes usar el permiso PassRole solo para transferir un rol de IAM a un servicio de AWS que comparta la misma cuenta de AWS, no otra cuenta. Para obtener más información, consulta Acceso a recursos entre cuentas en IAM.

El siguiente ejemplo de política de IAM permite a un usuario de IAM transferir el rol denominado ExampleRole al servicio de Amazon Elastic Compute Cloud (Amazon EC2):

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::account-ID:role/ExampleRole",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "ec2.amazonaws.com"
                }
            }
        }
    ]
}

Nota: Sustituye ExampleRole por tu rol y account-ID por el ID de tu cuenta.

Incluye un ARN de recurso específico en el elemento Resource para limitar la capacidad de los usuarios de transferir el rol a otros usuarios y evitar problemas de sustitución confusa. Para obtener más información, consulta Concesión de permisos a un usuario para transferir un rol a un servicio de AWS.

Información relacionada

Cómo usar el permiso PassRole con roles de IAM