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 baliser des 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 allons baliser nos ressources AWS avec des balises de session AWS, puis créer une politique 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 au moyen d’assertions dans le jeton. Cet exemple s’appuie sur celui fourni dans Configurer Amazon Web Services pour l’authentification unique (SSO).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éé dans les préalables, par exemple auth0SamlProvider. Sélectionnez Autoriser l’accès programmatique et l’accès à la console de gestion AWS.
Lorsque vous êtes invité à Joindre des stratégies d’autorisation, créez une stratégie avec le JSON suivant et donnez-lui le nom VirtualMachineAccessByCostCenter.
Une fois la stratégie créée, actualisez la liste des stratégies du rôle, puis filtrez-la et sélectionnez la nouvelle stratégie.Lorsque vous passez en revue 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.
Pour associer 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. Pour cet exemple :
Remplacez la valeur de la variable awsAccount par votre propre numéro de compte.
Vous devriez maintenant pouvoir vous connecter à la console AWS avec un utilisateur Auth0 et tester votre implémentation.Pour vous connecter, vous aurez besoin de l’ouverture de session pour 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 ayant un CostCenter de marketing, puis cliquez sur Actions > Instance State > Stop. Vous constaterez que l’action réussit.
Cliquez sur l’instance ayant un CostCenter de engineering, puis cliquez sur Actions > Instance State > Stop. Vous constaterez que l’action échoue avec une erreur.