Utilisation de rôles liés à un service pour AWS Batch - AWS Batch

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.

Utilisation de rôles liés à un service pour AWS Batch

AWS Batch utilise AWS Identity and Access Management (IAM) des rôles liés à un service. Un rôle lié à un service est un type unique de IAM rôle directement lié à. AWS Batch Les rôles liés au service sont prédéfinis par AWS Batch et incluent toutes les autorisations dont le service a besoin pour appeler d'autres AWS services en votre nom.

Un rôle lié à un service facilite la configuration AWS Batch car vous n'avez pas à ajouter manuellement les autorisations nécessaires. AWS Batch définit les autorisations associées à ses rôles liés aux services et, sauf indication contraire, seul AWS Batch peut assumer ses rôles. Les autorisations définies incluent la politique de confiance et la politique d'autorisations, et cette politique d'autorisations ne peut être attachée à aucune autre IAM entité.

Note

Procédez de l'une des manières suivantes pour spécifier un rôle de service pour un environnement AWS Batch informatique.

  • Utilisez une chaîne vide pour le rôle de service. Cela permet de AWS Batch créer le rôle de service.

  • Spécifiez le rôle de service au format suivant :arn:aws:iam::account_number:role/aws-service-role/batch.amazonaws.com/AWSServiceRoleForBatch.

Pour plus d'informations, consultez Nom de rôle incorrect ou ARN le guide de AWS Batch l'utilisateur.

Vous pouvez supprimer un rôle lié à un service uniquement après la suppression préalable de ses ressources connexes. Vos ressources AWS Batch sont ainsi protégées, car vous ne pouvez pas involontairement supprimer l'autorisation d'accéder aux ressources.

Pour plus d'informations sur les autres services qui prennent en charge les rôles liés à un service, consultez la section AWS Services compatibles avec IAM et recherchez les services dont la valeur est Oui dans la colonne Rôle lié au service. Choisissez un Oui ayant un lien permettant de consulter les détails du rôle pour ce service.

Autorisations de rôle liées à un service pour AWS Batch

AWS Batch utilise le rôle lié au service nommé. AWSServiceRoleForBatch Le AWSServiceRoleForBatchrôle permet AWS Batch de créer et de gérer AWS des ressources en votre nom.

Le rôle AWSServiceRoleForBatchlié au service fait confiance au principal du batch.amazonaws.com service pour assumer le rôle.

La IAM politique nommée BatchServiceRolePolicypermet AWS Batch d'effectuer les actions suivantes sur des ressources spécifiques :

  • autoscaling— Permet AWS Batch de créer et de gérer les ressources Amazon EC2 Auto Scaling. AWS Batch crée et gère des groupes Amazon EC2 Auto Scaling pour la plupart des environnements informatiques.

  • ec2— Permet AWS Batch de contrôler le cycle de vie des EC2 instances Amazon ainsi que de créer et de gérer des modèles et des balises de lancement. AWS Batch crée et gère les demandes EC2 Spot Fleet pour certains environnements informatiques EC2 Spot.

  • ecs- Permet de AWS Batch créer et de gérer des ECS clusters Amazon, des définitions de tâches et des tâches pour l'exécution des tâches.

  • eks- Permet AWS Batch de décrire la ressource du EKS cluster Amazon pour les validations.

  • iam- Permet AWS Batch de valider et de transmettre les rôles fournis par le propriétaire à AmazonEC2, Amazon EC2 Auto Scaling et AmazonECS.

  • logs— Permet AWS Batch de créer et de gérer des groupes de journaux et des flux de journaux pour les AWS Batch tâches.

Vous devez configurer les autorisations pour autoriser une IAM entité (telle qu'un utilisateur, un groupe ou un rôle) à créer, modifier ou supprimer un rôle lié à un service. Pour plus d'informations, consultez la section Autorisations relatives aux rôles liés à un service dans le guide de l'IAMutilisateur.

Création d'un rôle lié à un service pour AWS Batch

Vous n’avez pas besoin de créer manuellement un rôle lié à un service. Lorsque vous entrez CreateComputeEnvironment dans le AWS Management Console, le ou le AWS CLI AWS API, et que vous ne spécifiez pas de valeur pour le serviceRole paramètre, vous AWS Batch créez le rôle lié au service pour vous.

Important

Ce rôle lié à un service peut apparaître dans votre compte si vous avez effectué une action dans un autre service qui utilise les fonctions prises en charge par ce rôle. De plus, si vous utilisiez le AWS Batch service avant le 10 mars 2021, date à laquelle il a commencé à prendre en charge les rôles liés au service, vous avez AWS Batch créé le AWSServiceRoleForBatch rôle dans votre compte. Pour en savoir plus, consultez l'article Un nouveau rôle est apparu dans Mon IAM compte.

Si vous supprimez ce rôle lié à un service et que vous avez ensuite besoin de le recréer, vous pouvez utiliser la même procédure pour recréer le rôle dans votre compte. Lorsque vous CreateComputeEnvironment AWS Batch créez à nouveau le rôle lié au service pour vous.

Modification d'un rôle lié à un service pour AWS Batch

Avec AWS Batch, vous ne pouvez pas modifier le rôle AWSServiceRoleForBatch lié au service. Une fois que vous avez créé un rôle lié à un service, vous ne pouvez pas changer le nom du rôle, car plusieurs entités peuvent faire référence au rôle. Vous pouvez toutefois modifier la description du rôle à l'aide deIAM. Pour plus d'informations, consultez la section Modification d'un rôle lié à un service dans le guide de l'IAMutilisateur.

Pour autoriser une IAM entité à modifier la description du rôle lié à AWSServiceRoleForBatch un service

Ajoutez la déclaration suivante à la politique d'autorisation. Cela permet à l'IAMentité de modifier la description d'un rôle lié à un service.

{ "Effect": "Allow", "Action": [ "iam:UpdateRoleDescription" ], "Resource": "arn:aws:iam::*:role/aws-service-role/batch.amazonaws.com/AWSServiceRoleForBatch", "Condition": {"StringLike": {"iam:AWSServiceName": "batch.amazonaws.com"}} }

Supprimer un rôle lié à un service pour AWS Batch

Si vous n'avez plus besoin d'utiliser une fonctionnalité ou un service nécessitant un rôle lié à un service, nous vous recommandons de supprimer ce rôle. De cette façon, vous n'avez pas d'entité inutilisée qui n'est pas activement surveillée ou maintenue. Cependant, vous devez nettoyer les ressources de votre rôle lié à un service avant de pouvoir les supprimer manuellement.

Pour autoriser une IAM entité à supprimer le rôle lié au AWSServiceRoleForBatch service

Ajoutez la déclaration suivante à la politique d'autorisation. Cela permet à l'IAMentité de supprimer un rôle lié à un service.

{ "Effect": "Allow", "Action": [ "iam:DeleteServiceLinkedRole", "iam:GetServiceLinkedRoleDeletionStatus" ], "Resource": "arn:aws:iam::*:role/aws-service-role/batch.amazonaws.com/AWSServiceRoleForBatch", "Condition": {"StringLike": {"iam:AWSServiceName": "batch.amazonaws.com"}} }

Nettoyer un rôle lié à un service

Avant de pouvoir supprimer un rôle lié IAM à un service, vous devez d'abord confirmer que le rôle n'a aucune session active et supprimer tous les environnements AWS Batch informatiques qui utilisent le rôle dans toutes les AWS régions sur une seule partition.

Pour vérifier si une session est active pour le rôle lié à un service
  1. Ouvrez la IAM console à l'adresse https://console.aws.amazon.com/iam/.

  2. Dans le volet de navigation, choisissez Rôles, puis le AWSServiceRoleForBatch nom (pas la case à cocher).

  3. Sur la page Résumé, choisissez Access Advisor et consultez l'activité récente pour le rôle lié à un service.

    Note

    Si vous ne savez pas si le AWSServiceRoleForBatch rôle AWS Batch est utilisé, vous pouvez essayer de le supprimer. Si le service utilise le rôle, le rôle ne sera pas supprimé. Vous pouvez consulter les régions dans lesquelles le rôle est utilisé. Si le rôle est utilisé, vous devez attendre que la session se termine avant de pouvoir le supprimer. Vous ne pouvez pas révoquer la session d'un rôle lié à un service.

Pour supprimer les AWS Batch ressources utilisées par le rôle lié à AWSServiceRoleForBatch un service

Vous devez supprimer tous les environnements AWS Batch informatiques qui utilisent le AWSServiceRoleForBatch rôle dans toutes les AWS régions avant de pouvoir supprimer le AWSServiceRoleForBatch rôle.

  1. Ouvrez la AWS Batch console à l'adresse https://console.aws.amazon.com/batch/.

  2. Dans la barre de navigation, sélectionnez la région à utiliser.

  3. Dans le panneau de navigation, choisissez Environnements de calcul.

  4. Sélectionnez l'environnement informatique.

  5. Choisissez Désactiver. Attendez que l'État passe à DISABLED.

  6. Sélectionnez l'environnement informatique.

  7. Sélectionnez Delete (Supprimer). Confirmez que vous souhaitez supprimer l'environnement de calcul en choisissant Supprimer l'environnement de calcul.

  8. Répétez les étapes 1 à 7 pour tous les environnements informatiques qui utilisent le rôle lié à un service dans toutes les régions.

Supprimer un rôle lié à un service dans IAM (Console)

Vous pouvez utiliser la IAM console pour supprimer un rôle lié à un service.

Pour supprimer un rôle lié à un service (console)
  1. Connectez-vous à la IAM console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/iam/.

  2. Dans le volet de navigation de la IAM console, sélectionnez Rôles. Sélectionnez ensuite la case à cocher située à côté AWSServiceRoleForBatch, et non le nom ou la ligne elle-même.

  3. Choisissez Delete role (Supprimer le rôle).

  4. Dans la boîte de dialogue de confirmation, vérifiez les dernières données consultées dans le service. Elles indiquent quels rôles, parmi ceux sélectionnés, ont accédé en dernier à un service AWS service. Cela vous permet de confirmer si le rôle est actif actuellement. Si vous souhaitez continuer, sélectionnez Oui, supprimer pour lancer la tâche de suppression du rôle.

  5. Regardez les notifications de la IAM console pour suivre la progression de la suppression des rôles liés au service. La suppression du rôle IAM lié au service étant asynchrone, une fois que vous avez soumis le rôle pour suppression, la tâche de suppression peut réussir ou échouer.

    • Si la tâche réussit, le rôle est supprimé de la liste et une notification de succès s'affiche en haut de la page.

    • Si la tâche échoue, vous pouvez choisir View details (Afficher les détails) ou View Resources (Afficher les ressources) à partir des notifications pour connaître le motif de l'échec de la suppression. Si la suppression échoue car le rôle utilise les ressources du service, alors la notification comprend une liste de ressources, à condition que le service renvoie ces informations. Vous pouvez alors nettoyer les ressources et lancer à nouveau la tâche de suppression.

      Note

      Vous devrez peut-être répéter ce processus plusieurs fois, en fonction des informations renvoyées par le service. Par exemple, il est possible que votre rôle lié à un service utilise six ressources et que votre service renvoie des informations sur cinq d'entre elles. Si vous nettoyez les cinq ressources et lancez à nouveau la tâche de suppression pour le rôle, la suppression échoue et le service indique la ressource restante. Un service peut renvoyer toutes les ressources, quelques ressources ou n'indiquer aucune ressource.

    • Si la tâche échoue et que la notification n'inclut pas de liste des ressources, le service peut ne pas renvoyer cette information. Pour savoir comment nettoyer les ressources de ce service, consultez la section relative à AWS services l'utilisation de IAM. Identifiez votre service dans le tableau, puis choisissez le lien Yes (Oui) pour afficher la documentation relative au rôle lié à un service pour ce service.

Supprimer un rôle lié à un service dans IAM ()AWS CLI

Vous pouvez utiliser IAM les commandes du AWS Command Line Interface pour supprimer un rôle lié à un service.

Pour supprimer un rôle lié à un service () CLI
  1. Un rôle lié à un service ne pouvant pas être supprimé s’il est utilisé ou si des ressources lui sont associées, vous devez envoyer une demande de suppression. Cette demande peut être refusée si ces conditions ne sont pas remplies. Vous devez capturer le deletion-task-id de la réponse afin de vérifier l’état de la tâche de suppression. Saisissez la commande suivante pour envoyer une demande de suppression d’un rôle lié à un service :

    $ aws iam delete-service-linked-role --role-name AWSServiceRoleForBatch
  2. Saisissez la commande suivante pour vérifier l’état de la tâche de suppression :

    $ aws iam get-service-linked-role-deletion-status --deletion-task-id deletion-task-id

    L’état de la tâche de suppression peut être NOT_STARTED, IN_PROGRESS, SUCCEEDED ou FAILED. Si la suppression échoue, l’appel renvoie le motif de l’échec, afin que vous puissiez apporter une solution. Si la suppression échoue car le rôle utilise les ressources du service, alors la notification comprend une liste de ressources, à condition que le service renvoie ces informations. Vous pouvez alors nettoyer les ressources et lancer à nouveau la tâche de suppression.

    Note

    Vous devrez peut-être répéter ce processus plusieurs fois, en fonction des informations renvoyées par le service. Par exemple, il est possible que votre rôle lié à un service utilise six ressources et que votre service renvoie des informations sur cinq d'entre elles. Si vous nettoyez les cinq ressources et lancez à nouveau la tâche de suppression pour le rôle, la suppression échoue et le service indique la ressource restante. Un service peut renvoyer toutes les ressources, certaines d'entre elles. Ou bien, il se peut qu'aucune ressource ne soit signalée. Pour savoir comment nettoyer les ressources d'un service qui ne signale aucune ressource, consultez la section AWS Services compatibles avec IAM. Identifiez votre service dans le tableau, puis choisissez le lien Yes (Oui) pour afficher la documentation relative au rôle lié à un service pour ce service.

Supprimer un rôle lié à un service dans IAM ()AWS API

Vous pouvez utiliser le IAM API pour supprimer un rôle lié à un service.

Pour supprimer un rôle lié à un service () API
  1. Pour soumettre une demande de suppression pour un rôle lié à un service, appelez. DeleteServiceLinkedRole Dans la demande, spécifiez le nom du AWSServiceRoleForBatch rôle.

    Dans la mesure où un rôle lié à un service ne peut pas être supprimé s'il est utilisé ou si des ressources lui sont associées, vous devez envoyer une demande de suppression. Cette demande peut être refusée si ces conditions ne sont pas satisfaites. Vous devez capturer le DeletionTaskId de la réponse afin de vérifier l'état de la tâche de suppression.

  2. Pour vérifier l'état de la suppression, appelez GetServiceLinkedRoleDeletionStatus. Dans la demande, spécifiez le DeletionTaskId.

    L’état de la tâche de suppression peut être NOT_STARTED, IN_PROGRESS, SUCCEEDED ou FAILED. Si la suppression échoue, l’appel renvoie le motif de l’échec, afin que vous puissiez apporter une solution. Si la suppression échoue car le rôle utilise les ressources du service, alors la notification comprend une liste de ressources, à condition que le service renvoie ces informations. Vous pouvez alors nettoyer les ressources et lancer à nouveau la tâche de suppression.

    Note

    Vous devrez peut-être répéter ce processus plusieurs fois, en fonction des informations renvoyées par le service. Par exemple, il est possible que votre rôle lié à un service utilise six ressources et que votre service renvoie des informations sur cinq d'entre elles. Si vous nettoyez les cinq ressources et lancez à nouveau la tâche de suppression pour le rôle, la suppression échoue et le service indique la ressource restante. Un service peut renvoyer toutes les ressources, quelques ressources ou n'indiquer aucune ressource. Pour savoir comment nettoyer les ressources d'un service qui ne signale aucune ressource, consultez la section relative à AWS services l'utilisation de IAM. Identifiez votre service dans le tableau, puis choisissez le lien Yes (Oui) pour afficher la documentation relative au rôle lié à un service pour ce service.

Régions prises en charge pour les rôles AWS Batch liés à un service

AWS Batch prend en charge l'utilisation de rôles liés au service dans toutes les régions où le service est disponible. Pour plus d'informations, consultez Points de terminaison AWS Batch.