Tirer parti des privilèges AWS STS Assume Role pour gérer AWS

Êtes-vous en difficulté pour gérer l’accès à vos ressources AWS à mesure que votre organisation se développe ? Ne vous inquiétez pas ! Le service AWS Security Token (STS) est là pour sauver la situation.

Avec les privilèges de rôle d’assumption AWS STS, vous pouvez accorder un accès temporaire à vos ressources AWS aux utilisateurs et aux applications sans avoir besoin de longues informations d’identification. Et dans ce didacticiel, vous apprendrez à gérer vos ressources de manière plus efficace tout en les maintenant sûres et sécurisées.

Lisez la suite et prenez le contrôle complet de votre infrastructure AWS et de vos ressources en toute simplicité !

Prérequis

Ce tutoriel sera une démonstration pratique. Pour suivre, assurez-vous d’avoir un compte AWS avec une facturation active, mais un compte gratuit est suffisant.

Création d’un utilisateur IAM sans accès

Avant de pouvoir utiliser les privilèges de rôle d’assumption AWS STS, vous devez d’abord créer un utilisateur IAM sans autorisations qui lui sont attribuées. Cette action peut sembler contre-intuitive, mais elle est cruciale car les utilisateurs IAM ne peuvent pas assumer directement des rôles. Ils doivent d’abord acquérir des informations d’identification de sécurité temporaires en assumant un rôle via le service AWS STS.

Pour créer un utilisateur IAM sans autorisations, suivez ces étapes :

1. Ouvrez votre navigateur web préféré et connectez-vous à la Console de gestion AWS avec votre compte AWS principal.

2. Ensuite, recherchez et sélectionnez IAM dans la liste des services pour accéder à la console IAM.

Accessing the IAM console

3. Sur la console IAM, accédez à Utilisateurs (volet gauche) et cliquez sur Ajouter un utilisateur pour initier l’ajout d’un nouvel utilisateur.

Initiating adding a new user

4. Maintenant, configurez les détails de l’utilisateur ci-dessous. Cette action permet à votre utilisateur IAM de se connecter à la Console de gestion AWS avec son nom d’utilisateur et son mot de passe.

  • Nom d’utilisateur – Fournissez un nom pour le nouvel utilisateur et cochez la case ci-dessous pour Fournir l’accès à la Console de gestion AWS à l’utilisateur.
  • Sélectionnez l’option Je veux créer un utilisateur IAM puisque vous créez un utilisateur IAM.
  • Mot de passe de la console – Choisissez l’option Mot de passe généré automatiquement pour générer un mot de passe que vous pouvez changer ultérieurement.

Une fois configuré, cliquez sur Suivant pour continuer la création de l’utilisateur IAM.

Configuring the user details

5. Sur la page suivante, laissez les paramètres par défaut tels quels et cliquez sur Suivant pour ignorer la configuration des autorisations utilisateur.

Il n’est pas nécessaire d’attribuer des autorisations à cet utilisateur car vous en créez un sans autorisations et avec accès à la Console de gestion AWS.

Avec zéro autorisations, les utilisateurs sont empêchés d’agir jusqu’à ce qu’ils assument un rôle qui leur accorde les autorisations nécessaires.

Skipping setting permissions

6. Ensuite, passez en revue les détails de l’utilisateur configuré et cliquez sur Créer un utilisateur pour finaliser la création de l’utilisateur IAM.

Finalizing creating the new IAM user

7. Copiez et enregistrez l’URL de connexion ainsi que le mot de passe de l’utilisateur IAM. Vous aurez besoin de ces informations pour vous connecter ultérieurement avec l’utilisateur IAM.

Taking note of the IAM user’s sign-in URL and password

8. Maintenant, retournez à la console IAM, accédez à la page Utilisateurs (volet gauche) et cliquez sur le nom de l’utilisateur nouvellement créé pour accéder à sa page Résumé.

Accessing the newly-created user’s summary page

9. Enfin, sur la page Résumé, notez l’Amazon Resource Name (ARN) de l’utilisateur, l’identifiant unique de l’utilisateur. Vous aurez besoin de cet ARN ultérieurement lorsque vous attribuerez un rôle à l’utilisateur.

Noting down the newly-created user’s ARN

Préparation d’une Politique de Confiance Personnalisée

Avec un utilisateur IAM dédié créé, vous êtes prêt à assumer le rôle, accordant l’accès aux ressources AWS. Mais pour qu’un utilisateur IAM puisse assumer un rôle, le rôle doit d’abord faire confiance à l’utilisateur.

En créant une politique de confiance personnalisée, vous établirez une « relation de confiance » entre l’utilisateur IAM et le rôle. Cette relation de confiance spécifie quels utilisateurs ou comptes peuvent assumer le rôle et dans quelles conditions.

Pour préparer une politique de confiance personnalisée, suivez ces étapes:

1. Accédez aux Rôles (volet gauche) dans la console IAM, et cliquez sur Créer un rôle pour initier la création d’un nouveau rôle.

Initiating creating a new role

2. Ensuite, cliquez sur l’option Politique de confiance personnalisée pour créer une politique personnalisée.

Choosing to create a custom trust policy

3. Entrez la politique suivante dans le champ de texte, comme indiqué ci-dessous, et cliquez sur Suivant. Remplacez YOUR_ARN par l’ARN de votre utilisateur IAM que vous avez noté dans la dernière étape de la section « Création d’un utilisateur IAM sans accès ».

Voici un exemple de base d’une politique de confiance personnalisée qui permet à un utilisateur ou à un rôle IAM spécifié d’assumer un rôle IAM spécifique avec les champs suivants :

Field Function
Version Specifies the version of the policy language.
Statement Contains the policy statement(s).
Effect Specifies whether the statement allows or denies access, with Allow, in this case, granting access.
Principal Specifies the entity allowed to assume the role; in this example, it is an empty string.
Action Specifies the action the IAM user or role is allowed to perform. The sts:AssumeRole value allows the user to assume the specified IAM role.
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
               "AWS": "YOUR_ARN"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
Creating a custom trust policy

4. À la page suivante, recherchez et sélectionnez AmazonEC2FullAccess dans la liste des politiques qui apparaît, puis cliquez sur Suivant. Cette politique accorde un accès complet à toutes les ressources EC2.

Selecting the AmazonEC2FullAccess policy

5. Ensuite, fournissez un nom pour votre politique de confiance personnalisée (par exemple, AWSEC2FULLACCESS).

provide a name for your custom trust policy

6. Laissez les autres paramètres tels quels et cliquez sur Créer un rôle pour finaliser la création du rôle.

À ce stade, le rôle devrait être assumable par l’utilisateur IAM (sts_user). Lorsqu’il est assumé, l’utilisateur aura accès à toutes les ressources EC2, comme la liste, la création et la suppression d’instances EC2, etc.

Creating the new role

7. Cliquez sur le rôle nouvellement créé, comme indiqué ci-dessous, pour afficher ses détails.

Accessing the role’s details

8. Enfin, copiez le lien pour basculer entre les rôles dans la console et enregistrez-le. Vous aurez besoin de ce lien ultérieurement pour basculer entre les rôles dans la console lorsque vous vous connectez avec l’utilisateur IAM (sts_user).

Copying the link to switch roles in the console

Basculer et Assumer un Rôle avec un Utilisateur IAM

Après avoir créé un rôle, vous pouvez maintenant assumer le rôle avec votre utilisateur IAM dédié. Vous vous connecterez à la console AWS avec votre utilisateur IAM et basculerez vers le rôle que vous avez créé pour tester l’accès EC2.

Pour savoir comment basculer et assumer un rôle avec un utilisateur IAM :

1. Accédez à l’URL de connexion que vous avez notée à l’étape sept de la section « Création d’un utilisateur IAM sans accès », et connectez-vous avec le mot de passe de l’utilisateur IAM.

?Évitez les conflits avec votre compte principal en vous connectant à l’aide d’un navigateur différent ou d’une fenêtre de navigation privée.

Logging into the AWS Management Console with the IAM user

2. Une fois connecté, accédez à la console EC2, et vous verrez de nombreuses erreurs API en rouge, comme indiqué ci-dessous. Ces erreurs indiquent que l’utilisateur IAM n’a pas l’autorisation d’accéder aux ressources EC2.

Pour résoudre ces erreurs, vous devez assumer le rôle que vous avez créé pour obtenir l’accès à toutes les ressources EC2 (AWSEC2FULLACCESS) à l’étape suivante. Lorsque vous assumez un rôle dans AWS, vous prenez temporairement les autorisations associées à ce rôle.

Getting errors due to lack of permissions

3. Ouvrez un nouvel onglet du navigateur et accédez au « lien pour changer de rôle » que vous avez noté à la dernière étape de la section « Préparation d’une stratégie de confiance personnalisée ».

Ce lien est une URL spéciale qui vous conduit directement à la page Switch Role dans la console de gestion AWS. La page Switch Role vous permet d’assumer un rôle différent, un ensemble d’autorisations déterminant les ressources AWS auxquelles vous pouvez accéder.

4. Maintenant, fournissez un nom d’affichage descriptif pour la session et cliquez sur Switch Role pour assumer le rôle. Le nom d’affichage vous aide à suivre vos sessions actives.

Après avoir assumé le rôle, votre navigateur vous redirige vers la console de gestion AWS avec les autorisations du rôle sélectionné.

Switching roles

5. Accédez à nouveau à la console EC2 pour confirmer que votre utilisateur IAM a été autorisé à accéder aux ressources EC2.

Si tout se passe bien, vous ne devriez plus voir les erreurs de l’API que vous avez vues précédemment, car vous êtes maintenant connecté avec les autorisations du rôle, y compris l’accès aux ressources EC2.

Confirming the IAM user has been successfully granted access to EC2 resources

6. Enfin, cliquez sur le nom d’affichage de votre session (en haut à droite) et sélectionnez Switch back pour revenir à l’utilisateur IAM d’origine.

Vous serez déconnecté de votre session actuelle et connecté en tant qu’utilisateur IAM d’origine avec son ensemble d’autorisations d’origine. Cette action est la meilleure pratique pour réduire le risque d’effectuer accidentellement des actions non voulues.

Switching back to the original IAM user

Conclusion

Assumer un rôle dans AWS est une fonctionnalité puissante qui vous permet d’accorder un accès temporaire aux ressources sans partager vos identifiants permanents. Et tout au long de ce tutoriel, vous avez appris à exploiter les privilèges de rôle de l’AWS STS.

À ce stade, vous pouvez assumer un rôle en toute confiance avec des autorisations limitées pour garantir la sécurité de vos ressources et réduire au minimum l’impact potentiel de toute action accidentelle ou malveillante.

La Console de gestion AWS est un excellent moyen de commencer avec les services AWS comme l’assomption de rôles. Mais pourquoi ne pas essayer d’ assumer un rôle via l’interface de ligne de commande AWS (CLI)? Explorer et intégrer l’AWS CLI dans vos scripts d’automatisation peut fournir des fonctionnalités et des fonctionnalités plus avancées.

Source:
https://adamtheautomator.com/aws-sts-assume-role/