Cuando intento conectar Amazon RDS Proxy a una función de AWS Lambda, aparece el siguiente mensaje de error: «Lambda no ha podido actualizar el rol de ejecución de la función». ¿Cómo soluciono el error?
Breve descripción
Lambda puede devolver el error Lambda no ha podido actualizar el rol de ejecución de la función por los siguientes motivos:
- El rol de ejecución de Lambda tiene asociada más de una entidad de confianza.
- El rol de ejecución de la función de Lambda tiene 10 políticas asociadas.
- El usuario de AWS Identity and Access Management (IAM) que ha iniciado sesión no tiene los permisos «CreatePolicy» ni «AttachRolePolicy».
Resolución
Verificar que el rol de ejecución de la función de Lambda solo tiene una entidad de confianza asociada
Revise el rol de ejecución de la función y compruebe que solo el servicio Lambda (lambda.amazonaws.com) lo pueda asumir.
Nota: Para que otros servicios asuman el mismo rol, cree un rol nuevo y configure esos servicios como entidades de confianza.
Verificar que el rol de ejecución de la función de Lambda no tenga 10 políticas asociadas
Revise el rol de ejecución de la función para determinar si tiene 10 políticas asociadas. Si es así,
cree una política única y personalizada para reemplazar las existentes.
Nota: Si el rol de ejecución tiene 10 políticas asociadas, la función de Lambda no puede crear la política de RDS Proxy requerida en el rol ni adjuntarla.
Ejemplo de política de RDS Proxy
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "rds-db:connect",
"Resource": "Proxy ARN"
}
]
}
Verificar que el usuario de IAM que ha iniciado sesión tiene los permisos «CreatePolicy» y «AttachRolePolicy»
Revise la política de IAM del usuario de IAM que ha iniciado sesión y asegúrese de que incluya los permisos «CreatePolicy» y «AttachRolePolicy». Si la política del usuario no incluye los permisos necesarios, concédale los permisos «CreatePolicy» y «AttachRolePolicy».
Nota: Si el usuario de IAM que ha iniciado sesión no tiene los permisos necesarios, la consola de Lambda muestra uno de los siguientes errores o ambos:
- «El usuario <user-arn> no está autorizado a efectuar iam:CreatePolicy en el recurso: policy <policy-name>»
- «El usuario <user-arn> no autorizado a efectuar iam:AttachRolePolicy en el recurso: role <role-name>»