Utiliser la console pour configurer les autorisations pour les fenêtres de maintenance - AWS Systems Manager

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.

Utiliser la console pour configurer les autorisations pour les fenêtres de maintenance

Les procédures suivantes expliquent comment utiliser la console AWS Systems Manager pour créer les rôles et autorisations requis pour des fenêtres de maintenance.

Tâche 1 : création d'une politique pour votre fonction du service de fenêtre d'entretien personnalisée

Vous pouvez utiliser la politique suivante au format JSON pour créer la politique à utiliser avec votre rôle de fenêtre de maintenance. Vous attachez cette politique au rôle que vous créez ultérieurement dans Tâche 2 : création d'une fonction du service personnalisée pour les fenêtres de maintenance (console).

Important

En fonction des tâches et des types de tâches exécutées par vos fenêtres de maintenance, il se peut que vous n'ayez pas besoin de toutes les autorisations de cette politique, et que vous deviez inclure des autorisations supplémentaires.

Pour créer une politique pour votre fonction du service de fenêtre de maintenance personnalisée
  1. Ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

  2. Dans le volet de navigation, choisissez Policies, puis Create Policy.

  3. Sélectionnez l'onglet JSON.

  4. Remplacez le contenu par défaut par ce qui suit :

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:SendCommand", "ssm:CancelCommand", "ssm:ListCommands", "ssm:ListCommandInvocations", "ssm:GetCommandInvocation", "ssm:GetAutomationExecution", "ssm:StartAutomationExecution", "ssm:ListTagsForResource", "ssm:GetParameters" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "states:DescribeExecution", "states:StartExecution" ], "Resource": [ "arn:aws:states:*:*:execution:*:*", "arn:aws:states:*:*:stateMachine:*" ] }, { "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ], "Resource": [ "arn:aws:lambda:*:*:function:*" ] }, { "Effect": "Allow", "Action": [ "resource-groups:ListGroups", "resource-groups:ListGroupResources" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "tag:GetResources" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": [ "ssm.amazonaws.com" ] } } } ] }
  5. Modifiez le contenu JSON en fonction des besoins des tâches de maintenance que vous exécutez dans votre compte. Les modifications que vous apportez sont spécifiques à vos opérations planifiées.

    Par exemple :

    • Vous pouvez fournir des noms de ressources Amazon Resource Name (ARN) pour des fonctions et des machines d'état spécifiques au lieu d'utiliser des qualificatifs génériques (*).

    • Si vous ne prévoyez pas d'exécuter des tâches AWS Step Functions, vous pouvez supprimer les autorisations states et (ARN).

    • Si vous ne prévoyez pas d'exécuter des tâches AWS Lambda, vous pouvez supprimer les autorisations lambda et les ARN.

    • Si vous ne prévoyez pas d'exécuter des tâches d'automatisation, vous pouvez supprimer les autorisations ssm:GetAutomationExecution et ssm:StartAutomationExecution.

    • Ajoutez des autorisations supplémentaires qui peuvent être nécessaires à l'exécution des tâches. Par exemple, certaines actions Automation utilisent des piles AWS CloudFormation. Par conséquent, les autorisations cloudformation:CreateStack, cloudformation:DescribeStacks et cloudformation:DeleteStack sont requises.

      Autre exemple, le runbook d'automatisation AWS-CopySnapshot requiert des autorisations pour créer un instantané Amazon Elastic Block Store (Amazon EBS). Par conséquent, la fonction du service a besoin de l'autorisation ec2:CreateSnapshot.

      Pour plus d'informations sur les autorisations de rôle requises par les runbooks d'automatisation, consultez les descriptions du runbook dans la référence du runbook d'automatisation d'AWS Systems Manager.

  6. Une fois les révisions de la politique terminées, choisissez Next : Tags (Suivant : balises).

  7. (Facultatif) Ajoutez une ou plusieurs paires clé-valeur de balise afin d'organiser, de suivre ou de contrôler l'accès pour ce rôle, puis sélectionnez Next : Review (Suivant : Vérifier).

  8. Pour Name (Nom), saisissez un nom qui identifie cette politique comme étant la politique que la fonction du service Maintenance Windows que vous créez des utilisations. Par exemple : my-maintenance-window-role-policy.

  9. Choisissez Create policy (Créer une politique), et notez le nom que vous avez spécifié pour la politique. Vous y faites référence dans la procédure suivante, Tâche 2 : création d'une fonction du service personnalisée pour les fenêtres de maintenance (console).

Tâche 2 : création d'une fonction du service personnalisée pour les fenêtres de maintenance (console)

Utilisez la procédure suivante pour créer un rôle de service personnalisé pour les Maintenance Windows, afin que Systems Manager puisse exécuter des tâches Maintenance Windows en votre nom. Vous attacherez la politique que vous avez créée dans la tâche précédente au rôle de service que vous créez.

Important

Auparavant, la console Systems Manager vous offrait la possibilité de choisir le rôle AWSServiceRoleForAmazonSSM lié au service IAM géré par AWS à utiliser comme rôle de maintenance pour vos tâches. L'utilisation de ce rôle et de la politique associée, AmazonSSMServiceRolePolicy, pour les tâches de la fenêtre de maintenance n'est plus recommandée. Si vous utilisez ce rôle pour des tâches de fenêtre de maintenance maintenant, nous vous encourageons à cesser de l'utiliser. Au lieu de cela, créez votre propre rôle IAM permettant la communication entre Systems Manager et d'autres Services AWS lorsque les tâches de votre fenêtre de maintenance sont exécutées.

Pour créer un rôle de service personnalisé (console)
  1. Ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

  2. Dans le volet de navigation, sélectionnez Rôles, puis Créer un rôle.

  3. Pour Select trusted entity (Sélectionner une entité de confiance), effectuez les choix suivants :

    1. Pour Type d'entité de confiance, choisissez Service AWS

    2. Pour Cas d'utilisation d'autres services AWS, choisissez Systems Manager

    3. Choisissez Systems Manager, comme illustré dans l'image suivante.

      Capture d'écran illustrant l'option Systems Manager sélectionnée comme cas d'utilisation.
  4. Choisissez Next (Suivant).

  5. Dans la zone de recherche, saisissez le nom de la politique que vous avez créée dans Tâche 1 : création d'une politique pour votre fonction du service de fenêtre d'entretien personnalisée, cochez la case située à côté de son nom, puis choisissez Next (Suivant).

  6. Dans Role name (Nom du rôle), saisissez un nom qui identifie celui-ci en tant que rôle Maintenance Windows. Par exemple : my-maintenance-window-role.

  7. (Facultatif) Modifiez la description du rôle par défaut pour refléter l'objectif de ce rôle. Par exemple : Performs maintenance window tasks on your behalf.

  8. (Facultatif) Ajoutez une ou plusieurs paires clé-valeur de balise afin d'organiser, de suivre ou de contrôler l'accès pour ce rôle, puis sélectionnez Next: Review (Suivant : Vérifier).

  9. Sélectionnez Créer un rôle. Le système vous renvoie à la page Rôles.

  10. Sélectionnez le nom du rôle que vous venez de créer.

  11. Cliquez sur l'onglet Trust relationships (Relations d'approbation) puis vérifiez que la politique suivante s'affiche dans la boîte Trusted entities (Entités de confiance).

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  12. Copier le nom du rôle et notez le nom de rôle et la valeur de l'ARN de la zone Summary (Récapitulatif). Les utilisateurs de votre compte spécifient ces informations lorsqu'ils créent des fenêtres de maintenance.

Tâche 3 : configurer des autorisations pour les utilisateurs autorisés à enregistrer des tâches de fenêtre de maintenance (console)

Lorsque vous enregistrez une tâche avec une fenêtre de maintenance, vous spécifiez un rôle de service personnalisé ou un rôle lié au service Systems Manager pour exécuter les opérations de tâche réelles. C'est le rôle que le service endossera lorsqu'il exécutera des tâches en votre nom. Avant cela, pour enregistrer la tâche elle-même, affectez la politique PassRole IAM à une entité IAM (comme un compte ou un groupe). Cela permet à l'entité IAM (utilisateur ou groupe) de spécifier, lors de l'enregistrement de ces tâches dans la fenêtre de maintenance, le rôle à utiliser lors de l'exécution des tâches. Pour en savoir plus, reportez-vous à Octroi d'autorisations à un utilisateur pour transférer un rôle à un Service AWS dans le Guide de l'utilisateur IAM.

Configurer des autorisations pour les utilisateurs autorisés à enregistrer des tâches de fenêtre de maintenance

Si une entité IAM (utilisateur, rôle ou groupe) est configurée avec des autorisations d'administrateur, l'utilisateur ou le rôle a accès aux fenêtres de maintenance. Pour les entités IAM sans autorisations d'administrateur, un administrateur doit accorder les autorisations suivantes à l'entité IAM. Voici les autorisations minimales requises pour enregistrer des tâches dans une fenêtre de maintenance :

  • La politique gérée AmazonSSMFullAccess, ou une politique qui fournit des autorisations comparables.

  • Les autorisations iam:PassRole et iam:ListRoles suivantes.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::account-id:role/my-maintenance-window-role" }, { "Effect": "Allow", "Action": "iam:ListRoles", "Resource": "arn:aws:iam::account-id:role/" }, { "Effect": "Allow", "Action": "iam:ListRoles", "Resource": "arn:aws:iam::account-id:role/aws-service-role/ssm.amazonaws.com/" } ] }

    my-maintenance-window-role représente le nom du rôle de fenêtre de maintenance personnalisé que vous avez créé précédemment.

    account-id représente l'ID de votre Compte AWS. L'ajout de cette autorisation pour la ressource arn:aws:iam::account-id:role/ permet à un utilisateur d'afficher et de choisir parmi les rôles client dans la console lorsqu'il crée une tâche de fenêtre de maintenance. L'ajout de cette autorisation pour arn:aws:iam::account-id:role/aws-service-role/ssm.amazonaws.com/ permet à un utilisateur de choisir le rôle lié au service Systems Manager dans la console lorsqu'il crée une tâche de fenêtre de maintenance.

    Pour activer l'accès, ajoutez des autorisations à vos utilisateurs, groupes ou rôles :

Pour configurer des autorisations pour les groupes autorisés à enregistrer des tâches de fenêtre de maintenance (console)
  1. Ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

  2. Dans le panneau de navigation, sélectionnez User groups (Groupes d'utilisateurs).

  3. Dans la liste de groupes, sélectionnez le nom du groupe auquel accorder l'autorisation iam:PassRole.

  4. Sous l'onglet Permissions (Autorisations), sélectionnez Add permissions, Create inline policy (Ajouter des autorisations, créer une politique en ligne), puis l'onglet JSON.

  5. Remplacez le contenu par défaut de la zone par ce qui suit.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::account-id:role/my-maintenance-window-role" }, { "Effect": "Allow", "Action": "iam:ListRoles", "Resource": "arn:aws:iam::account-id:role/" }, { "Effect": "Allow", "Action": "iam:ListRoles", "Resource": "arn:aws:iam::account-id:role/aws-service-role/ssm.amazonaws.com/" } ] }

    my-maintenance-window-role représente le nom du rôle de fenêtre de maintenance personnalisé que vous avez créé précédemment.

    account-id représente l'ID de votre Compte AWS. L'ajout de cette autorisation pour la ressource arn:aws:iam::account-id:role/ permet à un utilisateur d'afficher et de choisir parmi les rôles client dans la console lorsqu'il crée une tâche de fenêtre de maintenance. L'ajout de cette autorisation pour arn:aws:iam::account-id:role/aws-service-role/ssm.amazonaws.com/ permet à un utilisateur de choisir le rôle lié au service Systems Manager dans la console lorsqu'il crée une tâche de fenêtre de maintenance.

  6. Sélectionnez Examiner une politique.

  7. Sur la page Review policy (Examiner une politique), saisissez un nom dans la zone Name (Nom) pour identifier la politique PassRole, tel que my-group-iam-passrole-policy, puis sélectionnez Create policy (Créer une politique).

Tâche 4 : configurer des autorisations pour les utilisateurs qui ne sont pas autorisés à enregistrer des tâches de fenêtre de maintenance

Selon que vous refusez l'autorisation ssm:RegisterTaskWithMaintenanceWindow à un utilisateur individuel ou à un groupe, utilisez l'une des procédures suivantes pour empêcher les utilisateurs d'enregistrer des tâches avec une fenêtre de maintenance.

Configurer des autorisations pour les utilisateurs qui ne sont pas autorisés à enregistrer des tâches de fenêtre de maintenance
  • Un administrateur doit ajouter les restrictions suivantes à l'entité IAM.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "ssm:RegisterTaskWithMaintenanceWindow", "Resource": "*" } ] }
Pour configurer des autorisations pour les groupes qui ne sont pas autorisés à enregistrer des tâches de fenêtre de maintenance (console)
  1. Ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

  2. Dans le panneau de navigation, sélectionnez User groups (Groupes d'utilisateurs).

  3. Dans la liste de groupes, sélectionnez le nom du groupe auquel refuser l'autorisation ssm:RegisterTaskWithMaintenanceWindow.

  4. Sous l'onglet Permissions (Autorisations), sélectionnez Add permissions, create inline policy (Ajouter des autorisations, Créer une politique en ligne).

  5. Cliquez sur l'onglet JSON, puis remplacez le contenu par défaut de la case par ce qui suit.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "ssm:RegisterTaskWithMaintenanceWindow", "Resource": "*" } ] }
  6. Sélectionnez Examiner une politique.

  7. Sur la page Review policy (Examiner une politique), saisissez un nom dans la zone Name (Nom) pour identifier cette politique, tel que my-groups-deny-mw-tasks-policy, puis sélectionnez Create policy (Créer une politique).