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.
AWS Batch utilise des AWS Identity and Access Management rôles liés à un service (IAM). Un rôle lié à un service est un type unique de rôle IAM 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 comprennent la politique d’approbation et la politique d’autorisation. De plus, cette politique d’autorisation ne peut pas être attachée à une autre entité IAM.
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 ou ARN incorrect 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 Services AWS qui fonctionnent avec IAM et recherchez les services où Oui figure dans la colonne Rôle lié à un service. Choisissez un Yes (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 lié à un service AWSServiceRoleForBatch fait confiance au mandataire de service batch.amazonaws.com
qui assume le rôle.
La stratégie IAM nommée BatchServiceRolePolicypermet d' AWS Batch 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 AWS Batch de créer et de gérer des clusters Amazon ECS, 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 cluster Amazon EKS pour les validations. -
iam
- Permet AWS Batch de valider et de transmettre les rôles fournis par le propriétaire à Amazon EC2, Amazon EC2 Auto Scaling et Amazon ECS. -
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 de manière à permettre à une entité IAM (comme un utilisateur, un groupe ou un rôle) de créer, modifier ou supprimer un rôle lié à un service. Pour plus d’informations, consultez Service-Linked Role Permissions (autorisations du rôle lié à un service) dans le Guide de l’utilisateur IAM.
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 utilisez CreateComputeEnvironment l'API AWS Management Console AWS CLI, le ou l' 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 AWSService RoleForBatch rôle dans votre compte. Pour plus d'informations, consultez A New Role Appeared in My IAM Account (Un nouveau rôle est apparu dans mon compte IAM).
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 AWSService RoleForBatch 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. Néanmoins, vous pouvez modifier la description du rôle à l’aide d’IAM. Pour plus d’informations, consultez Modification d’un rôle lié à un service dans le Guide de l’utilisateur IAM.
Pour autoriser une entité IAM à modifier la description du rôle lié à un AWSService RoleForBatch service
Ajoutez la déclaration suivante à la politique d'autorisation. Cela permet à l'entité IAM 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 entité IAM à supprimer le rôle lié à un AWSService RoleForBatch service
Ajoutez la déclaration suivante à la politique d'autorisation. Cela permet à l'entité IAM 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 utiliser IAM pour supprimer un rôle lié à 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
Ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/
. -
Dans le volet de navigation, choisissez Rôles, puis le AWSService RoleForBatch nom (et non la case à cocher).
-
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 AWSService RoleForBatch 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é à AWSService RoleForBatch un service
Vous devez supprimer tous les environnements AWS Batch informatiques qui utilisent le AWSService RoleForBatch rôle dans toutes les AWS régions avant de pouvoir supprimer le AWSService RoleForBatch rôle.
-
Ouvrez la AWS Batch console à l'adresse https://console.aws.amazon.com/batch/
. -
Dans la barre de navigation, sélectionnez la région à utiliser.
-
Dans le panneau de navigation, choisissez Environnements de calcul.
-
Sélectionnez l'environnement informatique.
-
Choisissez Désactiver. Attendez que l'état passe à DÉSACTIVÉ.
-
Sélectionnez l'environnement informatique.
-
Sélectionnez Delete (Supprimer). Confirmez que vous souhaitez supprimer l'environnement de calcul en choisissant Supprimer l'environnement de calcul.
-
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 console IAM pour supprimer un rôle lié à un service.
Pour supprimer un rôle lié à un service (console)
Connectez-vous à la console IAM AWS Management Console et ouvrez-la à https://console.aws.amazon.com/iam/
l'adresse. -
Dans le panneau de navigation de la console IAM, sélectionnez Roles (Rôles). Sélectionnez ensuite la case à cocher située à côté AWSServiceRoleForBatch, et non le nom ou la ligne elle-même.
-
Choisissez Delete role (Supprimer le rôle).
-
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 Service AWS. 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.
-
Consultez les notifications de la console IAM pour surveiller la progression de la suppression du rôle lié à un service. Dans la mesure où la suppression du rôle lié à un service IAM est asynchrone, une fois que vous soumettez le rôle afin qu’il soit supprimé, la 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 pour ce service, veuillez consulter Services Services AWS fonctionnant 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 CLI
Vous pouvez utiliser les commandes IAM depuis le AWS Command Line Interface pour supprimer un rôle lié à un service.
Pour supprimer un rôle lié à un service (CLI)
-
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
-
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
ouFAILED
. 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 qui fonctionnent 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 (API)AWS
Vous pouvez utiliser l'API IAM pour supprimer un rôle lié à un service.
Pour supprimer un rôle lié à un service (API)
-
Pour envoyer une demande de suppression pour un rôle lié à un service, appelez DeleteServiceLinkedRole. Dans la demande, spécifiez le nom du AWSService RoleForBatch 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. -
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
ouFAILED
. 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 apprendre à nettoyer les ressources pour un service qui n'indique aucune ressource, veuillez consulter Services Services AWS fonctionnant 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.
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.