Utiliser les balises de session Amazon Web Services pour le contrôle d’accès basé sur les rôles
Découvrez comment utiliser les balises de session Amazon Web Services (AWS) pour mettre en œuvre un contrôle d’accès basé sur les rôles (RBAC) pour les API et les ressources AWS.
Avec les balises de session Amazon Web Services (AWS), vous pouvez ajouter des balises aux ressources et attribuer aux utilisateurs des paires clé-valeur, ce qui vous permet de mettre en œuvre un contrôle d’accès basé sur les rôles (RBAC) pour les API et les ressources AWS.Dans l’exemple présenté dans ce guide, nous ajouterons des balises de session AWS à nos ressources AWS, puis créerons une stratégie pour un rôle AWS IAM qui permettra aux utilisateurs ayant ce rôle et les balises appropriées d’effectuer des actions précises sur nos ressources AWS. Nous créerons ensuite une règle dans Auth0 qui associera notre rôle AWS IAM et les balises de session AWS appropriées à un utilisateur Auth0, puis les transmettra dans des assertions dans le jeton. Cet exemple s’appuie sur celui fourni dans Configurer Amazon Web Services pour l’authentification unique.Pour utiliser les balises de session AWS avec les API et les ressources AWS, vous devez :
Nom du fournisseur d’identité que vous avez créé lors des étapes préalables, par exemple auth0SamlProvider. Sélectionnez Allow programmatic and AWS Management Console access.
Lorsqu’on vous demande d’associer des stratégies d’autorisation, créez une stratégie à l’aide du JSON suivant et nommez-la VirtualMachineAccessByCostCenter.
Une fois la stratégie créée, actualisez la liste des stratégies pour le rôle, puis filtrez-la et sélectionnez la nouvelle stratégie.Lorsque vous vérifiez vos paramètres, assurez-vous d’utiliser les paramètres suivants :
Paramètre
Description
Nom du rôle
Nom descriptif de votre rôle, par exemple AccessByCostCenter.
Description du rôle
Description de l’objectif pour lequel votre rôle est utilisé.
Pour mapper le rôle AWS et les balises à un utilisateur, vous devrez créer une règle dans Auth0. Ces valeurs seront ensuite transmises dans les assertions SAML du jeton. Dans cet exemple :
Remplacez la valeur de la variable awsAccount par votre propre numéro de compte.
Vous devriez maintenant être en mesure de vous connecter à la console AWS avec un utilisateur Auth0 et de tester votre mise en œuvre.Pour vous connecter, vous aurez besoin de l’adresse de connexion de la console AWS. Pour la trouver :
Dans l’onglet Addons, activez le module complémentaire SAML2 Web App.
Dans l’onglet Usage, repérez Identity Provider Login URL.
Accédez à l’URL indiquée.
Une fois connecté, dans EC2, sélectionnez Instances. Cliquez sur l’une des instances associées à un CostCenter de marketing, puis cliquez sur Actions > Instance State > Stop. Vous constaterez que l’action s’exécute correctement.
Cliquez sur l’instance associée à un CostCenter de engineering, puis cliquez sur Actions > Instance State > Stop. Vous constaterez que l’action échoue et renvoie une erreur.