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

Créer 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 une fonction du 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 de la 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 Cas d'utilisation d'autres Services AWS, choisissez Systems Manager

    3. Sélectionnez Systems Manager.

      L’image suivante met en évidence l’emplacement de l’option Systems Manager.

      Systems Manager est l’une des options du cas d’utilisation.
  4. Choisissez Suivant.

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

    • Utilisez le champ Recherche pour localiser la politique AmazonSSMManagedInstanceCore. Cochez la case correspondant à son nom, comme indiqué dans l’illustration suivante.

      La case à cocher est sélectionnée dans la ligne AmazonSSMManagedInstanceCore.

      La console conserve votre sélection même si vous recherchez d'autres politiques.

    • 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 prévoyez de joindre des machines non EC2 à un domaine Active Directory géré par AWS Directory Service, recherchez AmazonSSMDirectoryServiceAccess et cochez la case en regard 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 en regard 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 de la 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 d'un VPC pour établir une connexion privée entre votre VPC et les Services AWS pris en charge et les services de point de terminaison d'un VPC à technologie 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. Si vous ne l'avez pas déjà fait, installez et configurez l'AWS Command Line Interface (AWS CLI).

    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. Veillez à spécifier votre Compte AWS et la Région AWS dans l'ARN où 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 la AWS CLI et, dans le répertoire où vous avez créé le fichier JSON, exécutez la commande create-role pour créer la fonction 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 de plus amples informations sur les politiques AWS utilisées dans les commandes suivantes, consultez Configurer des autorisations d’instance requises pour Systems Manager.

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

    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 permettre à AWS Systems Manager Agent (SSM Agent) d'accéder aux compartiments que vous avez spécifiés dans la politique. Remplacez account-id et amzn-s3-demo-bucket par votre ID de Compte AWS et le nom de votre compartiment S3.

    Linux & macOSWindows
    Linux & macOS
    aws iam attach-role-policy \ --role-name SSMServiceRole \ --policy-arn arn:aws:iam::account-id:policy/amzn-s3-demo-bucket
    Windows
    aws iam attach-role-policy ^ --role-name SSMServiceRole ^ --policy-arn arn:aws:iam::account-id:policy/amzn-s3-demo-bucket

    (Facultatif) Exécutez la commande suivante pour autoriser SSM Agent à accéder à AWS Directory Service en votre nom pour les demandes de jonction de domaine par le nœud géré. 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 permettre à l'agent CloudWatch de s'exécuter sur vos nœuds gérés. Cette commande permet de lire les informations sur un nœud et de les écrire dans 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. Si vous ne l'avez pas déjà fait, installez et configurez AWS Tools for PowerShell (outils pour Windows PowerShell).

    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. Veillez à spécifier votre Compte AWS et la Région AWS dans l'ARN où 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 la commande 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-IAMRolePolicy comme suit pour permettre au rôle de service que vous avez créé 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 EC2. Pour de plus amples informations sur les politiques AWS utilisées dans les commandes suivantes, consultez Configurer des autorisations d’instance requises pour Systems Manager.

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

    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 pour autoriser SSM Agent à accéder à AWS Directory Service en votre nom pour les demandes de jonction de domaine par le nœud géré. 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 permettre à l'agent CloudWatch de s'exécuter sur vos nœuds gérés. Cette commande permet de lire les informations sur un nœud et de les écrire dans 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éer une activation hybride pour enregistrer des nœuds avec Systems Manager.