Comment résoudre l'erreur « Lambda could not update the function's execution role » (Lambda n'a pas pu mettre à jour le rôle d'exécution de la fonction) lors de l'attachement du proxy RDS à une fonction Lambda ?

Date de la dernière mise à jour : 21/10/2020

Je reçois l'erreur « Lambda could not update the function's execution role » (Lambda n'a pas pu mettre à jour le rôle d'exécution de la fonction) lors de l'attachement du proxy Amazon RDS à une fonction AWS Lambda. Comment résoudre ce problème ?

Brève description

L'erreur « Lambda could not update the function's execution role » (Lambda n'a pas pu mettre à jour le rôle d'exécution de la fonction) peut se produire pour trois raisons :

  • Le rôle d'exécution Lambda a plus d'une entité de confiance qui lui est associée.
  • Le rôle d'exécution de la fonction Lambda est associé à 10 stratégies.
  • L'utilisateur AWS Identity and Access Management (IAM) connecté n'a pas les autorisations « CreatePolicy » et « AttachRolePolicy ».

Résolution

Le rôle d'exécution Lambda a plus d'une entité de confiance qui lui est associée.

Vérifiez que seul le service Lambda (lambda.amazonaws.com) peut assumer le rôle d'exécution de la fonction Lambda.

Remarque : pour que le même rôle soit assumé par d'autres services, créez un nouveau rôle et configurez ces services en tant qu'entités de confiance.

Le rôle d'exécution de la fonction Lambda est associé à 10 stratégies.

Créez une seule stratégie personnalisée pour remplacer les stratégies existantes.

Remarque : si 10 stratégies sont attachées au rôle d'exécution, la fonction Lambda ne peut pas créer et attacher la stratégie de proxy RDS requise au rôle.

Exemple de stratégie de proxy RDS
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "rds-db:connect",
            "Resource": "Proxy ARN"
        }
    ]
}

L'utilisateur IAM connecté n'a pas les autorisations « CreatePolicy » et « AttachRolePolicy ».

Accordez à l'utilisateur IAM connecté les autorisations « CreatePolicy » et « AttachRolePolicy ».

Remarque : si l'utilisateur IAM connecté ne dispose pas des autorisations requises, la console Lambda affichera l'une des erreurs suivantes ou les deux :

  • « User <user-arn> is not authorized to perform: iam:CreatePolicy on resource: policy <policy-name> » (L'utilisateur <user-arn> n'est pas autorisé à effectuer iam:CreatePolicy sur la stratégie ressource <policy-name>)
  • « User <user-arn> is not authorized to perform: iam:AttachRolePolicy on resource: role <role-name> » (L'utilisateur <user-arn> n'est pas autorisé à effectuer iam:AttachRolePolicy sur le rôle ressource <role-name>)

Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?