Comment résoudre les erreurs « Ni le principal du service mondial states.amazonaws.com, ni le principal régional ne sont autorisés à assumer le rôle fourni » dans AWS Step Functions ?
Dernière mise à jour : 04/08/2022
Lorsque j'essaie d'exécuter ma machine d'état AWS Step Functions, l'erreur suivante s'affiche : « Ni le principal du service mondial states.amazonaws.com, ni le principal régional ne sont autorisés à assumer le rôle fourni. » Comment résoudre ce problème ?
Solution
Vérifiez que le rôle AWS Identity and Access Management (IAM) que votre machine d'état assume dispose des relations de confiance requises configurées.
L'un des éléments suivants doit être répertorié en tant qu'entité de confiance dans la stratégie de confiance du rôle IAM :
- Un point de terminaison régional AWS : states.
.amazonaws.com - Le point de terminaison mondial AWS :states.amazonaws.com
Pour consulter et modifier la stratégie de confiance du rôle IAM que votre machine d'état assume, suivez les instructions de Modification d'une stratégie d'approbation de rôle (console). Pour plus d'informations, consultez Fonctionnement d'AWS Step Functions avec IAM.
Remarque : lorsque l'action de l'API StartExecution est appelée, Step Functions utilise le rôle IAM associé à la machine d'état pendant la durée de l'exécution de l'action. Si le rôle IAM que la machine d'état assume est modifié pendant l'exécution de l'action, le rôle IAM n'est pas utilisé sur cette action d'API.
Vérifiez que le rôle IAM qu'assume votre machine d'état existe toujours.
1. Ouvrez la console Step Functions.
2. Dans le panneau de navigation de gauche, sélectionnez Machines d'état.
3. Sélectionnez le nom de votre machine d'état.
4. Dans la sectionDétails, choisissez le lien sous ARN du rôle IAM. Si le rôle IAM existe, il s'ouvre dans la console IAM. Dans le cas contraire, la console IAM ouvre une page indiquant No entity found (Aucune entité trouvée).
Si le rôle IAM que votre machine d'état assume n'existe pas, créez un rôle IAM avec un autre nom qui inclut les autorisations requises. Ensuite, configurez votre machine d'état pour qu'elle assume le nouveau rôle IAM que vous avez créé. Pour plus d'informations, consultez Fonctionnement d'AWS Step Functions avec IAM.
Important : le nouveau rôle IAM que vous créez doit porter un nom différent de celui du rôle IAM précédent.
Cet article vous a-t-il été utile ?
Avez-vous besoin d'aide pour une question technique ou de facturation ?