Ê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.

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

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.

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.

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.

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.

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é.

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.

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.

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

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. |

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.

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

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.

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

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).

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.

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.

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é.

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.

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.

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.