Créez le rôle de service IAM requis pour Systems Manager dans les environnements hybrides et multicloud - 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.

Créez le rôle de service IAM requis pour Systems Manager dans les environnements hybrides et multicloud

Les machines non EC2 (Amazon Elastic Compute Cloud) dans un environnement hybride et multicloud nécessitent un rôle de service AWS Identity and Access Management (IAM) pour communiquer avec le service. AWS Systems Manager Le rôle octroie à AWS Security Token Service (AWS STS) l'approbation AssumeRole au service Systems Manager. Vous devez uniquement créer une fonction du service pour un environnement hybride et multicloud une fois pour chaque Compte AWS. Toutefois, vous pouvez choisir de créer plusieurs fonctions du service pour différentes activations hybrides si les machines de votre environnement hybride et multicloud requièrent des autorisations différentes.

Les procédures suivantes expliquent comment créer la fonction de service requise à l'aide de la console Systems Manager ou de votre outil de ligne de commande préféré.

Utilisation du AWS Management Console pour créer un rôle de service IAM pour les activations hybrides de Systems Manager

Utilisez la procédure suivante pour créer une fonction de service pour une activation hybride. Cette procédure utilise la politique AmazonSSMManagedInstanceCore pour la fonctionnalité principale de Systems Manager. Selon votre cas d'utilisation, vous devrez peut-être ajouter des politiques supplémentaires à votre fonction de service pour que vos machines sur site puissent accéder à d'autres fonctionnalités ou Services AWS. Par exemple, sans accès aux éléments requis aux compartiments gérés AWS Amazon Simple Storage Service (Amazon S3), les opérations de correctifs Patch Manager échouent.

Pour créer un rôle de service (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 Trusted entity (Entité de confiance), choisissez Service AWS.

    2. Pour les autres cas d'utilisation Services AWS, choisissez Systems Manager.

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

      L'option Systems Manager sélectionnée comme cas d'utilisation.
  4. Choisissez Suivant.

  5. Sur la page Add permissions (Ajouter des autorisations), procédez comme suit :

    • Utilisez le champ de recherche pour trouver la politique ManagedInstanceprincipale d'AmazonSSM. Cochez la case en regard de son nom.

      Politique pour le service EC2 sélectionné dans la console IAM.
    • La console conserve votre sélection même si vous recherchez d'autres politiques.

    • Si vous avez créé une politique de compartiment S3 personnalisée au cours de la procédure (Facultatif) créer une politique personnalisée pour l'accès au compartiment S3, recherchez-la et cochez la case en regard de son nom.

    • Si vous envisagez de joindre des machines non EC2 à un Active Directory géré par AWS Directory Service, recherchez AmazonSSM DirectoryService Access et cochez la case à côté de son nom.

    • Si vous prévoyez d'utiliser EventBridge ou CloudWatch Logs pour gérer ou surveiller votre nœud géré, recherchez CloudWatchAgentServerPolicy et cochez la case à côté de son nom.

  6. Choisissez Suivant.

  7. Pour Nom de rôle, saisissez un nom pour votre nouveau rôle de serveur IAM, par exemple, SSMServerRole.

    Note

    Notez le nom de rôle. Vous pouvez choisir ce rôle lorsque vous enregistrez de nouvelles machines à gérer à l'aide de Systems Manager.

  8. (Facultatif) Pour Description, mettez à jour la description pour ce rôle de serveur IAM.

  9. (Facultatif) Pour Tags (Balises), 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.

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

Utilisation du AWS CLI pour créer un rôle de service IAM pour les activations hybrides de Systems Manager

Utilisez la procédure suivante pour créer une fonction de service pour une activation hybride. Cette procédure utilise la politique AmazonSSMManagedInstanceCore pour la fonctionnalité principale de Systems Manager. Selon votre cas d'utilisation, vous devrez peut-être ajouter des politiques supplémentaires à votre fonction du service pour vos machines non EC2 dans un environnement hybride et multicloud afin de pouvoir accéder à d'autres capacités ou Services AWS.

Exigence pour les politiques de compartiment S3

Dans les cas suivants, vous devez créer une politique d'autorisation IAM personnalisée pour les compartiments Amazon Simple Storage Service (Amazon S3) avant de terminer cette procédure :

  • Cas 1 — Vous utilisez un point de terminaison VPC pour connecter de manière privée votre VPC aux services de point de terminaison VPC pris en charge et Services AWS alimentés par. AWS PrivateLink

  • Cas 2 – Vous prévoyez d'utiliser un compartiment Amazon S3 que vous créez dans le cadre de vos opérations Systems Manager, par exemple pour stocker la sortie des commandes Run Command ou des sessions Session Manager dans un compartiment S3. Avant de continuer, suivez les étapes de Créer une politique de compartiment S3 personnalisée pour un profil d'instance. Les informations sur les politiques de compartiment S3 de cette rubrique s'appliquent également à votre rôle de service.

AWS CLI
Pour créer une fonction du service IAM pour un environnement hybride et multicloud (AWS CLI)
  1. Installez et configurez le AWS Command Line Interface (AWS CLI), si ce n'est pas déjà fait.

    Pour de plus amples informations, consultez Installation ou mise à jour de la version la plus récente de l' AWS CLI.

  2. Sur votre machine locale, créez un fichier texte avec un nom tel que SSMService-Trust.json avec la politique d'approbation suivante. Assurez-vous d'enregistrer le fichier avec l'extension de fichier .json. Assurez-vous de spécifier votre Compte AWS et le Région AWS dans l'ARN dans lequel vous avez créé votre activation hybride.

    { "Version":"2012-10-17", "Statement":[ { "Sid":"", "Effect":"Allow", "Principal":{ "Service":"ssm.amazonaws.com" }, "Action":"sts:AssumeRole", "Condition":{ "StringEquals":{ "aws:SourceAccount":"123456789012" }, "ArnEquals":{ "aws:SourceArn":"arn:aws:ssm:us-east-2:123456789012:*" } } } ] }
  3. Ouvrez le AWS CLI, et dans le répertoire où vous avez créé le fichier JSON, exécutez la commande create-role pour créer le rôle de service. Cet exemple crée un rôle nommé SSMServiceRole. Vous pouvez choisir un autre nom si vous préférez.

    Linux & macOSWindows
    Linux & macOS
    aws iam create-role \ --role-name SSMServiceRole \ --assume-role-policy-document file://SSMService-Trust.json
    Windows
    aws iam create-role ^ --role-name SSMServiceRole ^ --assume-role-policy-document file://SSMService-Trust.json
  4. Exécutez la commande attach-role-policy comme suit pour permettre au rôle de service que vous venez de créer de créer un jeton de session. Ce jeton de session autorise votre nœud géré à exécuter des commandes à l'aide de Systems Manager.

    Note

    Les politiques que vous ajoutez pour un profil de service pour des nœuds gérés dans un environnement hybride et multicloud sont les mêmes politiques que celles utilisées pour créer un profil d'instance pour des instances Amazon Elastic Compute Cloud (Amazon EC2). Pour plus d'informations sur les AWS politiques utilisées dans les commandes suivantes, consultez Configurer les autorisations d'instance requises pour Systems Manager.

    (Obligatoire) Exécutez la commande suivante pour autoriser un nœud géré à utiliser les fonctionnalités AWS Systems Manager de base du service.

    Linux & macOSWindows
    Linux & macOS
    aws iam attach-role-policy \ --role-name SSMServiceRole \ --policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore
    Windows
    aws iam attach-role-policy ^ --role-name SSMServiceRole ^ --policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore

    Si vous avez créé une politique de compartiment S3 personnalisée pour votre rôle de service, exécutez la commande suivante pour autoriser AWS Systems Manager Agent (SSM Agent) à accéder aux compartiments que vous avez spécifiés dans la politique. Remplacez account-id et DOC-EXAMPLE-BUCKET par votre ID et le nom de votre Compte AWS bucket.

    Linux & macOSWindows
    Linux & macOS
    aws iam attach-role-policy \ --role-name SSMServiceRole \ --policy-arn arn:aws:iam::account-id:policy/DOC-EXAMPLE-BUCKET
    Windows
    aws iam attach-role-policy ^ --role-name SSMServiceRole ^ --policy-arn arn:aws:iam::account-id:policy/DOC-EXAMPLE-BUCKET

    (Facultatif) Exécutez la commande suivante SSM Agent pour autoriser AWS Directory Service le nœud géré à accéder en votre nom aux demandes de connexion au domaine. Votre fonction du service requiert uniquement cette politique si vous joignez vos nœuds à un annuaire Microsoft AD.

    Linux & macOSWindows
    Linux & macOS
    aws iam attach-role-policy \ --role-name SSMServiceRole \ --policy-arn arn:aws:iam::aws:policy/AmazonSSMDirectoryServiceAccess
    Windows
    aws iam attach-role-policy ^ --role-name SSMServiceRole ^ --policy-arn arn:aws:iam::aws:policy/AmazonSSMDirectoryServiceAccess

    (Facultatif) Exécutez la commande suivante pour autoriser l' CloudWatch agent à s'exécuter sur vos nœuds gérés. Cette commande permet de lire des informations sur un nœud et de les y écrire CloudWatch. Votre profil de service n'a besoin de cette politique que si vous utilisez des services tels qu'Amazon EventBridge ou Amazon CloudWatch Logs.

    aws iam attach-role-policy \ --role-name SSMServiceRole \ --policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
Tools for PowerShell
Pour créer une fonction du service IAM pour un environnement hybride et multicloud (AWS Tools for Windows PowerShell)
  1. Installez et configurez les AWS Tools for PowerShell (Outils pour Windows PowerShell), si ce n'est pas déjà fait.

    Pour plus d'informations, consultez Installation d' AWS Tools for PowerShell.

  2. Sur votre machine locale, créez un fichier texte avec un nom tel que SSMService-Trust.json avec la politique d'approbation suivante. Assurez-vous d'enregistrer le fichier avec l'extension de fichier .json. Assurez-vous de spécifier votre Compte AWS et le Région AWS dans l'ARN dans lequel vous avez créé votre activation hybride.

    { "Version":"2012-10-17", "Statement":[ { "Sid":"", "Effect":"Allow", "Principal":{ "Service":"ssm.amazonaws.com" }, "Action":"sts:AssumeRole", "Condition":{ "StringEquals":{ "aws:SourceAccount":"123456789012" }, "ArnEquals":{ "aws:SourceArn":"arn:aws:ssm:region:123456789012:*" } } } ] }
  3. Ouvrez PowerShell en mode administratif, et dans le répertoire où vous avez créé le fichier JSON, exécutez New-IAMRole comme suit pour créer un rôle de service. Cet exemple crée un rôle nommé SSMServiceRole. Vous pouvez choisir un autre nom si vous préférez.

    New-IAMRole ` -RoleName SSMServiceRole ` -AssumeRolePolicyDocument (Get-Content -raw SSMService-Trust.json)
  4. Utilisez Register-IAM RolePolicy comme suit pour autoriser le rôle de service que vous avez créé à créer un jeton de session. Ce jeton de session autorise votre nœud géré à exécuter des commandes à l'aide de Systems Manager.

    Note

    Les politiques que vous ajoutez pour un profil de service pour des nœuds gérés dans un environnement hybride et multicloud sont les mêmes politiques que celles utilisées pour créer un profil d'instance pour des instances EC2. Pour plus d'informations sur les AWS politiques utilisées dans les commandes suivantes, consultez Configurer les autorisations d'instance requises pour Systems Manager.

    (Obligatoire) Exécutez la commande suivante pour autoriser un nœud géré à utiliser les fonctionnalités AWS Systems Manager de base du service.

    Register-IAMRolePolicy ` -RoleName SSMServiceRole ` -PolicyArn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore

    Si vous avez créé une politique de compartiment S3 personnalisée pour votre rôle de service, exécutez la commande suivante pour permettre à SSM Agent d'accéder aux compartiments que vous avez spécifiés dans la politique. Remplacez account-id et my-bucket-policy-name par l'ID de votre Compte AWS et le nom de votre compartiment.

    Register-IAMRolePolicy ` -RoleName SSMServiceRole ` -PolicyArn arn:aws:iam::account-id:policy/my-bucket-policy-name

    (Facultatif) Exécutez la commande suivante SSM Agent pour autoriser AWS Directory Service le nœud géré à accéder en votre nom aux demandes de connexion au domaine. Votre rôle de serveur requiert uniquement cette politique si vous joignez vos nœuds à un annuaire Microsoft AD.

    Register-IAMRolePolicy ` -RoleName SSMServiceRole ` -PolicyArn arn:aws:iam::aws:policy/AmazonSSMDirectoryServiceAccess

    (Facultatif) Exécutez la commande suivante pour autoriser l' CloudWatch agent à s'exécuter sur vos nœuds gérés. Cette commande permet de lire des informations sur un nœud et de les y écrire CloudWatch. Votre profil de service n'a besoin de cette politique que si vous utilisez des services tels qu'Amazon EventBridge ou Amazon CloudWatch Logs.

    Register-IAMRolePolicy ` -RoleName SSMServiceRole ` -PolicyArn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy

Passez au Créez une activation hybride pour enregistrer les nœuds auprès de Systems Manager.