Configuration des rôles d'exécution avec Workflow Studio dans Step Functions - AWS Step Functions

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configuration des rôles d'exécution avec Workflow Studio dans Step Functions

Vous pouvez utiliser Workflow Studio pour configurer des rôles d'exécution pour vos flux de travail. Chaque machine d'Step Functionsétat nécessite un rôle AWS Identity and Access Management (IAM) qui lui accorde l'autorisation d'effectuer des actions sur AWS services des ressources ou d'appeler un tiersAPIs. Ce rôle est appelé rôle d'exécution.

Le rôle d'exécution doit contenir des IAM politiques pour chaque action, par exemple des politiques qui permettent à la machine d'état d'invoquer une AWS Lambda fonction, d'exécuter une AWS Batch tâche ou d'appeler le StripeAPI. Step Functionsvous oblige à fournir un rôle d'exécution dans les cas suivants :

  • Vous créez une machine à états dans la console AWS SDKs ou AWS CLI à l'aide du CreateStateMachineAPI.

  • Vous testez un état dans la console ou à AWS CLI l'aide du TestStateAPI. AWS SDKs

À propos des rôles générés automatiquement

Lorsque vous créez une machine à états dans la Step Functions console, Workflow Studio peut automatiquement créer pour vous un rôle d'exécution contenant les IAM politiques nécessaires. Workflow Studio analyse la définition de votre machine à états et génère des politiques avec le moins de privilèges nécessaires pour exécuter votre flux de travail.

Workflow Studio peut générer des IAM politiques pour les éléments suivants :

Workflow Studio ne peut pas générer de IAM politiques pour les états de tâches qui en appellent d'autres AWS services à l'aide d'AWS SDKintégrations.

Génération automatique de rôles

  1. Ouvrez la console Step Functions et choisissez Create state machine.

    Vous pouvez également mettre à jour une machine à états existante. Reportez-vous à l'étape 4 si vous mettez à jour une machine à états.

  2. Dans la boîte de dialogue Choisir un modèle, sélectionnez Vide.

  3. Choisissez Sélectionner pour ouvrir Workflow Studio dansMode de conception.

  4. Choisissez l'onglet Config.

  5. Faites défiler la page jusqu'à la section Autorisations, puis procédez comme suit :

    1. Pour le rôle d'exécution, assurez-vous de conserver la sélection par défaut de Créer un nouveau rôle.

      Workflow Studio génère automatiquement toutes les IAM politiques requises pour chaque état valide dans la définition de votre machine à états. Il affiche une bannière avec le message « Un rôle d'exécution sera créé avec toutes les autorisations ».

      Capture d'écran illustrative de l'onglet Config avec aperçu des autorisations générées automatiquement.
      Astuce

      Pour vérifier les autorisations générées automatiquement par Workflow Studio pour votre machine d'état, choisissez Vérifier les autorisations générées automatiquement.

      Note

      Si vous supprimez le IAM rôle créé par Step Functions, Step Functions ne pourra pas le recréer ultérieurement. De même, si vous modifiez le rôle (par exemple, en supprimant Step Functions des principes de la IAM politique), Step Functions ne pourra pas restaurer ses paramètres d'origine ultérieurement.

      Si Workflow Studio ne parvient pas à générer toutes les IAM politiques requises, il affiche une bannière avec le message Les autorisations pour certaines actions ne peuvent pas être générées automatiquement. Un IAM rôle sera créé avec des autorisations partielles uniquement. Pour plus d'informations sur la façon d'ajouter les autorisations manquantes, consultezRésoudre les problèmes de génération de rôles.

    2. Choisissez Create si vous créez une machine à états. Sinon, choisissez Save (Enregistrer).

    3. Choisissez Confirmer dans la boîte de dialogue qui apparaît.

      Workflow Studio enregistre votre machine d'état et crée le nouveau rôle d'exécution.

Résoudre les problèmes de génération de rôles

Workflow Studio ne peut pas générer automatiquement un rôle d'exécution avec toutes les autorisations requises dans les cas suivants :

  • Il y a des erreurs dans votre machine à états. Assurez-vous de résoudre toutes les erreurs de validation dans Workflow Studio. Assurez-vous également de corriger toutes les erreurs côté serveur que vous rencontrez au cours de l'enregistrement.

  • Votre machine à états contient des tâches et utilise des AWS SDK intégrations. Workflow Studio ne peut pas générer automatiquement de IAM politiques dans ce cas. Workflow Studio affiche une bannière avec le message « Les autorisations pour certaines actions ne peuvent pas être générées automatiquement ». Un IAM rôle sera créé avec des autorisations partielles uniquement. Dans le tableau des autorisations générées automatiquement par Review, choisissez le contenu dans Status pour plus d'informations sur les politiques manquantes à votre rôle d'exécution. Workflow Studio peut toujours générer un rôle d'exécution, mais ce rôle ne contiendra pas de IAM politiques pour toutes les actions. Consultez les liens sous Liens de documentation pour rédiger vos propres politiques et les ajouter au rôle une fois celui-ci généré. Ces liens sont disponibles même après avoir enregistré la machine d'état.

Rôle pour tester les HTTP tâches dans Workflow Studio

Vous avez besoin d'un rôle d'exécution pour tester l'état d'une HTTP tâche. Si vous ne disposez pas d'un rôle doté d'autorisations suffisantes, utilisez l'une des options suivantes pour créer un rôle :

  • Générer automatiquement un rôle avec Workflow Studio (recommandé) : il s'agit de l'option sécurisée. Fermez la boîte de dialogue État du test et suivez les instructions indiquées dansGénération automatique de rôles. Cela vous obligera à créer ou à mettre à jour votre machine d'état d'abord, puis à retourner dans Workflow Studio pour tester votre état.

  • Utiliser un rôle doté d'un accès administrateur : si vous êtes autorisé à créer un rôle avec un accès complet à tous les services et ressources AWS, vous pouvez utiliser ce rôle pour tester n'importe quel type d'état dans votre flux de travail. Pour ce faire, vous pouvez créer un rôle de Step Functions service et y ajouter la AdministratorAccess politique dans la IAM console https://console.aws.amazon.com/iam/.

Rôle pour tester une intégration de service optimisée dans Workflow Studio

Vous avez besoin d'un rôle d'exécution pour les états de tâches qui appellent des intégrations de services optimisées. Si vous ne disposez pas d'un rôle doté d'autorisations suffisantes, utilisez l'une des options suivantes pour créer un rôle :

  • Générer automatiquement un rôle avec Workflow Studio (recommandé) : il s'agit de l'option sécurisée. Fermez la boîte de dialogue État du test et suivez les instructions indiquées dansGénération automatique de rôles. Cela vous obligera à créer ou à mettre à jour votre machine d'état d'abord, puis à retourner dans Workflow Studio pour tester votre état.

  • Utiliser un rôle doté d'un accès administrateur : si vous êtes autorisé à créer un rôle avec un accès complet à tous les services et ressources AWS, vous pouvez utiliser ce rôle pour tester n'importe quel type d'état dans votre flux de travail. Pour ce faire, vous pouvez créer un rôle de Step Functions service et y ajouter la AdministratorAccess politique dans la IAM console https://console.aws.amazon.com/iam/.

Rôle pour tester l'intégration d'un AWS SDK service dans Workflow Studio

Vous avez besoin d'un rôle d'exécution pour les états de tâches qui appellent AWS SDKdes intégrations. Si vous ne disposez pas d'un rôle doté d'autorisations suffisantes, utilisez l'une des options suivantes pour créer un rôle :

  • Générer automatiquement un rôle avec Workflow Studio (recommandé) : il s'agit de l'option sécurisée. Fermez la boîte de dialogue État du test et suivez les instructions indiquées dansGénération automatique de rôles. Cela vous obligera à créer ou à mettre à jour votre machine d'état d'abord, puis à retourner dans Workflow Studio pour tester votre état. Procédez comme suit :

    1. Fermez la boîte de dialogue État du test

    2. Choisissez l'onglet Config pour afficher le mode Config.

    3. Faites défiler la page vers le bas jusqu'à la section Autorisations.

    4. Workflow Studio affiche une bannière avec le message « Les autorisations pour certaines actions ne peuvent pas être générées automatiquement ». Un IAM rôle sera créé avec des autorisations partielles uniquement. Choisissez Vérifier les autorisations générées automatiquement.

    5. Le tableau des autorisations généré automatiquement par Review affiche une ligne qui indique l'action correspondant à l'état de la tâche que vous souhaitez tester. Consultez les liens sous Liens de documentation pour écrire vos propres IAM politiques dans un rôle personnalisé.

  • Utiliser un rôle doté d'un accès administrateur : si vous êtes autorisé à créer un rôle avec un accès complet à tous les services et ressources AWS, vous pouvez utiliser ce rôle pour tester n'importe quel type d'état dans votre flux de travail. Pour ce faire, vous pouvez créer un rôle de Step Functions service et y ajouter la AdministratorAccess politique dans la IAM console https://console.aws.amazon.com/iam/.

Rôle pour tester les états des flux dans Workflow Studio

Vous avez besoin d'un rôle d'exécution pour tester les états de flux dans Workflow Studio. Les états de flux sont les états qui dirigent le flux d'exécution État du flux de travail de choixÉtat du flux de travail parallèle, tels queÉtat du flux de travail cartographique,Passer l'état du flux de travail,État du flux de travail en attente,État du flux de travail réussi, ouÉtat du flux de travail défaillant. TestStateAPICela ne fonctionne pas avec les états cartographiques ou parallèles. Utilisez l'une des options suivantes pour créer un rôle afin de tester l'état d'un flux :

  • Utilisez n'importe quel rôle dans votre Compte AWS (recommandé) — Les états de flux ne nécessitent aucune IAM politique spécifique, car ils n'appellent ni AWS actions ni ressources. Par conséquent, vous pouvez utiliser n'importe quel IAM rôle dans votre Compte AWS.

    1. Dans la boîte de dialogue État du test, sélectionnez un rôle dans la liste déroulante Rôle d'exécution.

    2. Si aucun rôle n'apparaît dans la liste déroulante, procédez comme suit :

      1. Dans la IAM console https://console.aws.amazon.com/iam/, sélectionnez Rôles.

      2. Choisissez un rôle dans la liste et copiez-le ARN depuis la page de détails du rôle. Vous devrez le fournir ARN dans la boîte de dialogue État du test.

      3. Dans la boîte de dialogue État du test, sélectionnez Entrer un rôle ARN dans la liste déroulante Rôle d'exécution.

      4. Collez le rôle ARN dansARN.

  • Utiliser un rôle doté d'un accès administrateur : si vous êtes autorisé à créer un rôle avec un accès complet à tous les services et ressources AWS, vous pouvez utiliser ce rôle pour tester n'importe quel type d'état dans votre flux de travail. Pour ce faire, vous pouvez créer un rôle de Step Functions service et y ajouter la AdministratorAccess politique dans la IAM console https://console.aws.amazon.com/iam/.