Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Accès aux ressources dans d'autres fonctions Comptes AWS de Step Functions

Mode de mise au point
Accès aux ressources dans d'autres fonctions Comptes AWS de 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.

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.

Step Functions fournit un accès entre comptes aux ressources configurées selon différents flux Comptes AWS de travail. Grâce aux intégrations de services Step Functions, vous pouvez invoquer n'importe quelle AWS ressource entre comptes, même si celle-ci Service AWS ne prend pas en charge les politiques basées sur les ressources ou les appels entre comptes.

Supposons, par exemple, que vous en Comptes AWS possédiez deux, appelées Développement et Tests, dans la même entité Région AWS. Grâce à l'accès entre comptes, votre flux de travail dans le compte de développement peut accéder à des ressources, telles que les compartiments Amazon S3, les tables Amazon DynamoDB et les fonctions Lambda disponibles dans le compte de test.

Important

Les politiques IAM basées sur les ressources et les rôles ne délèguent l'accès entre les comptes qu'au sein d'une seule partition. Par exemple, supposons que vous avez un compte dans la région USA Ouest (Californie du Nord) sur la partition aws standard. Vous avez également un compte dans la région Chine (Beijing) sur la partition aws-cn. Vous ne pouvez pas utiliser une politique basée sur les ressources d’Amazon S3 dans votre compte en Chine (Beijing) pour autoriser l'accès aux utilisateurs de votre compte aws standard.

Pour plus d'informations sur l'accès entre comptes, consultez la section Logique d'évaluation des politiques entre comptes dans le guide de l'utilisateur IAM.

Bien que chacun Compte AWS conserve un contrôle total sur ses propres ressources, Step Functions vous permet de réorganiser, d'échanger, d'ajouter ou de supprimer des étapes dans vos flux de travail sans avoir à personnaliser le moindre code. Vous pouvez le faire même si les processus changent ou que les applications évoluent.

Vous pouvez également invoquer des exécutions de machines à états imbriqués afin qu'elles soient disponibles sur différents comptes. Cela permet de séparer et d'isoler efficacement vos flux de travail. Lorsque vous utilisez le modèle d'intégration des .syncservices dans vos flux de travail qui accèdent à un autre flux de travail Step Functions dans un autre compte, Step Functions utilise un sondage qui consomme le quota qui vous a été assigné. Pour de plus amples informations, veuillez consulter Exécuter une tâche (.sync).

Note

Actuellement, l'intégration du AWS SDK entre régions et l'accès aux AWS ressources entre régions ne sont pas disponibles dans Step Functions.

Concepts clés en matière de ressources intercomptes

Rôle d'exécution

Rôle IAM que Step Functions utilise pour exécuter du code et accéder à AWS des ressources, telles que l'action Invoke de la AWS Lambda fonction.

Intégration des services

Les actions de l'API d'intégration du AWS SDK qui peuvent être appelées depuis un Task état dans vos flux de travail.

compte source

Celui Compte AWS qui possède la machine d'état et qui a commencé son exécution.

compte cible

Et Compte AWS vers lequel vous passez des appels entre comptes.

rôle cible

Rôle IAM dans le compte cible que la machine d'état assume pour effectuer des appels aux ressources détenues par le compte cible.

Exécuter un Job (.sync)

Modèle d'intégration de services utilisé pour appeler des services, tels que AWS Batch. Cela oblige également une machine à états Step Functions à attendre la fin d'une tâche avant de passer à l'état suivant. Pour indiquer que Step Functions doit attendre, ajoutez le .sync suffixe dans le Resource champ de votre définition Task d'état.

Invoquer des ressources entre comptes

Pour invoquer une ressource multi-comptes dans vos flux de travail, procédez comme suit :

  1. Créez un rôle IAM dans le compte cible qui contient la ressource. Ce rôle accorde au compte source, contenant la machine d'état, l'autorisation d'accéder aux ressources du compte cible.

  2. Dans la définition de Task l'état, spécifiez le rôle IAM cible à assumer par la machine d'état avant d'appeler la ressource entre comptes.

  3. Modifiez la politique de confiance dans le rôle IAM cible pour permettre au compte source d'assumer temporairement ce rôle. La politique de confiance doit inclure l'Amazon Resource Name (ARN) de la machine d'état définie dans le compte source. Définissez également les autorisations appropriées dans le rôle IAM cible pour appeler la AWS ressource.

  4. Mettez à jour le rôle d'exécution du compte source pour inclure l'autorisation requise pour assumer le rôle IAM cible.

Pour un exemple, consultez Accès aux AWS ressources multi-comptes dans Step Functions les didacticiels.

Note

Vous pouvez configurer votre machine d'état pour qu'elle assume un rôle IAM pour accéder aux ressources à partir de plusieurs Comptes AWS. Cependant, une machine d'état ne peut assumer qu'un seul rôle IAM à la fois.

Concept d'accès aux ressources multicomptes

Accès entre comptes pour le modèle d'intégration .sync

Lorsque vous utilisez les modèles d'intégration des .sync services dans vos flux de travail, Step Functions interroge la ressource inter-comptes invoquée pour confirmer que la tâche est terminée. Cela entraîne un léger décalage entre le moment où la tâche est réellement terminée et le moment où Step Functions reconnaît que la tâche est terminée. Le rôle IAM cible a besoin des autorisations requises pour effectuer un .sync appel afin de terminer cette boucle d'interrogation. Pour ce faire, le rôle IAM cible doit disposer d'une politique de confiance qui autorise le compte source à l'assumer. En outre, le rôle IAM cible a besoin des autorisations requises pour terminer la boucle d'interrogation.

Note

Pour les flux de travail express imbriqués, arn:aws:states:::states:startExecution.sync n'est actuellement pas pris en charge. Utilisez arn:aws:states:::aws-sdk:sfn:startSyncExecution à la place.

Mise à jour de la politique de confiance pour les appels .sync

Mettez à jour la politique de confiance de votre rôle IAM cible comme indiqué dans l'exemple suivant. Le sts:ExternalId champ contrôle également qui peut assumer le rôle. Le nom de la machine à états ne doit inclure que des caractères pris en charge par l' AWS Security Token Service AssumeRoleAPI. Pour plus d’informations, consultez AssumeRole dans la Référence d’API AWS Security Token Service .

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Principal": { "AWS": "arn:aws:iam::sourceAccountID:role/InvokeRole", }, "Condition": { "StringEquals": { "sts:ExternalId": "arn:aws:states:us-east-2:sourceAccountID:stateMachine:stateMachineName" } } } ] }

Autorisations requises pour les appels .sync

Pour accorder les autorisations requises pour votre machine d'état, mettez à jour les autorisations requises pour le rôle IAM cible. Pour de plus amples informations, veuillez consulter Comment Step Functions génère des politiques IAM pour les services intégrés. Les EventBridge autorisations Amazon indiquées dans les exemples de politiques ne sont pas requises. Par exemple, pour démarrer une machine à états, ajoutez les autorisations suivantes.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "states:StartExecution" ], "Resource": [ "arn:aws:states:region:accountID:stateMachine:stateMachineName" ] }, { "Effect": "Allow", "Action": [ "states:DescribeExecution", "states:StopExecution" ], "Resource": [ "arn:aws:states:region:accountID:execution:stateMachineName:*" ] } ] }
ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.