Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Tutoriel IAM : Utiliser un AWS CloudFormation modèle pour créer un rôle IAM fédéré SAML
Lorsqu'un fournisseur d'identité (IdP) SAML est déjà configuré dans AWS votre compte, vous pouvez créer des rôles IAM fédérés qui font confiance à cet IdP. Ce didacticiel explique comment utiliser un AWS CloudFormation modèle pour créer un rôle IAM fédéré SAML qui peut être assumé par des utilisateurs authentifiés via votre IdP externe.
Le modèle crée un rôle IAM fédéré avec une politique de confiance qui permet à votre IdP SAML d'assumer ce rôle. Les utilisateurs authentifiés par votre IdP externe peuvent assumer ce rôle pour AWS accéder aux ressources en fonction des autorisations associées au rôle.
La ressource déployée comprend les éléments suivants :
-
Rôle IAM fédéré qui fait confiance à votre idP SAML existant.
-
Politiques gérées configurables qui peuvent être associées au rôle pour accorder des autorisations spécifiques.
-
Paramètres de limite d'autorisation et de durée de session facultatifs.
Prérequis
Le didacticiel présume que vous avez déjà ce qui suit en place :
-
Un IdP SAML existant configuré dans AWS votre compte. Si vous n'en avez pas, vous pouvez le créer à l'aide du Tutoriel IAM : Utiliser un AWS CloudFormation modèle pour créer un fournisseur d'identité SAML (IdP) didacticiel.
-
L'ARN de votre IdP SAML, que vous devrez spécifier en tant que paramètre lors de la création de la pile.
-
Python 3.6 ou version ultérieure installé sur votre machine locale pour exécuter la commande Python utilisée dans ce didacticiel pour formater le fichier XML de métadonnées SAML de votre IdP.
Créez un rôle fédéré SAML à l'aide de AWS CloudFormation
Pour créer le rôle fédéré SAML, vous allez créer un CloudFormation modèle et l'utiliser pour créer une pile contenant le rôle.
Création du modèle
Créez d'abord le CloudFormation modèle.
-
Dans la Modèle section, cliquez sur l'icône de copie dans l'onglet JSON ou YAML pour copier le contenu du modèle.
-
Collez le contenu du modèle dans un nouveau fichier.
-
Enregistrez le fichier au niveau local.
Créez la pile .
Ensuite, utilisez le modèle que vous avez enregistré pour approvisionner une CloudFormation pile.
-
Ouvrez la AWS CloudFormation console à l'adresse https://console.aws.amazon.com/cloudformation.
-
Sur la page Stacks, dans le menu Créer une pile, choisissez avec de nouvelles ressources (standard).
-
Spécifiez le modèle :
-
Sous Prérequis, choisissez Choisir un modèle existant.
-
Sous Spécifier le modèle, choisissez Charger un fichier modèle.
-
Choisissez Choisir un fichier, naviguez jusqu'au fichier modèle, puis choisissez-le.
-
Choisissez Suivant.
-
-
Spécifiez les détails de la pile suivants :
-
Entrez le nom de la pile.
-
Pour l'SAMLProviderARN, entrez l'ARN de votre IdP SAML existant. Cela doit être dans le format
arn:aws:iam::123456789012:saml-provider/YourProviderName
.Exemple :
arn:aws:iam::123456789012:saml-provider/CompanyIdP
Note
Si vous avez créé votre IdP SAML à l'aide Tutoriel IAM : Utiliser un AWS CloudFormation modèle pour créer un fournisseur d'identité SAML (IdP) du didacticiel, vous trouverez l'ARN du fournisseur dans l'onglet Sorties de CloudFormation cette pile.
-
En RoleNameeffet, vous pouvez laisser ce champ vide pour générer automatiquement un nom basé sur le nom de la pile, ou saisir un nom personnalisé pour le rôle IAM.
Exemple :
SAML-Developer-Access
ouSAML-ReadOnly-Role
-
Pour les autres paramètres, acceptez les valeurs par défaut ou entrez les vôtres en fonction de vos besoins :
-
RoleSessionDuration- Durée maximale de session en secondes (3600-43200, 7200 par défaut)
Exemple :
14400
(4 heures) -
RolePermissionsBoundary- ARN facultatif d'une politique de limite d'autorisations
Exemple :
arn:aws:iam::123456789012:policy/DeveloperBoundary
-
RolePath- Chemin pour le rôle IAM (la valeur par défaut est/)
Exemple :
/saml-roles/
-
ManagedPolicy1-5 - Possibilité ARNs de joindre jusqu'à 5 politiques gérées
Exemple pour ManagedPolicy 1 :
arn:aws:iam::aws:policy/ReadOnlyAccess
Exemple pour ManagedPolicy 2 :
arn:aws:iam::123456789012:policy/CustomPolicy
-
-
Choisissez Suivant.
-
-
Configurez les options de pile :
-
Sous Options d'échec de la pile, choisissez Supprimer toutes les ressources nouvellement créées.
Note
Le choix de cette option vous évite d'être facturé pour des ressources dont la politique de suppression indique qu'elles doivent être conservées même en cas d'échec de la création de la pile.
-
Acceptez toutes les autres valeurs par défaut.
-
Sous Fonctionnalités, cochez la case pour confirmer que des ressources IAM CloudFormation peuvent être créées dans votre compte.
-
Choisissez Suivant.
-
-
Vérifiez les détails de la pile et choisissez Soumettre.
AWS CloudFormation crée la pile. Une fois la création de la pile terminée, les ressources de la pile sont prêtes à être utilisées. Vous pouvez utiliser l'onglet Ressources de la page détaillée de la pile pour afficher les ressources mises en service dans votre compte.
La pile produira la valeur suivante, que vous pouvez consulter dans l'onglet Sorties :
-
roLearn : l'ARN du rôle IAM créé (par exemple,
arn:aws:iam::123456789012:role/SAML-Developer-Access
ouarn:aws:iam::123456789012:role/stack-name-a1b2c3d4
s'il s'agit d'un nom généré automatiquement).
Vous aurez besoin de cet ARN de rôle lors de la configuration de votre IdP pour envoyer les attributs SAML appropriés pour l'attribution du rôle.
Tester le rôle fédéré SAML
Une fois le rôle fédéré SAML créé, vous pouvez vérifier sa configuration et tester la configuration de la fédération.
-
Ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/
. -
Dans le panneau de navigation, choisissez Roles (Rôles).
-
Trouvez et choisissez le rôle fédéré que vous venez de créer.
Si vous avez fourni un nom de rôle personnalisé, recherchez ce nom. Si vous avez laissé le RoleName paramètre vide, le rôle aura un nom généré automatiquement en fonction du nom de la pile et d'un identifiant unique.
-
Cliquez sur l'onglet Relations de confiance pour consulter la politique de confiance.
La politique de confiance doit indiquer que votre IdP SAML est fiable pour assumer ce rôle à condition que l'audience
SAML:aud
SAML () corresponde.https://signin.aws.amazon.com/saml
-
Cliquez sur l'onglet Autorisations pour consulter les politiques jointes.
Vous pouvez voir toutes les politiques gérées associées au rôle lors de sa création.
-
Notez l'ARN du rôle affiché sur la page de résumé des rôles.
Vous aurez besoin de cet ARN pour configurer votre IdP externe afin de permettre aux utilisateurs d'assumer ce rôle.
Votre rôle fédéré SAML est maintenant prêt à être utilisé. Configurez votre IdP externe pour inclure l'ARN de ce rôle dans les assertions SAML, et les utilisateurs authentifiés pourront assumer ce rôle pour accéder aux ressources. AWS
Nettoyage : suppression de ressources
Enfin, vous allez supprimer la pile et les ressources qu'elle contient.
-
Ouvrez la AWS CloudFormation console.
-
Sur la page Stacks, choisissez la pile créée à partir du modèle, choisissez Supprimer, puis confirmez Supprimer.
CloudFormation initie la suppression de la pile et de toutes les ressources qu'elle contient.
CloudFormation détails du modèle
Ressources
Le AWS CloudFormation modèle de ce didacticiel créera la ressource suivante dans votre compte :
-
AWS::IAM::Role
: rôle IAM fédéré qui peut être assumé par les utilisateurs authentifiés via votre IdP SAML.
Configuration
Le modèle inclut les paramètres configurables suivants :
-
RoleName- Nom du rôle IAM (laissez le champ vide pour le nom généré automatiquement)
-
SAMLProviderARN : ARN de l'IdP SAML (obligatoire)
-
RoleSessionDuration- Durée maximale de session en secondes (3600-43200, 7200 par défaut)
-
RolePermissionsBoundary- ARN facultatif de la politique de limite des autorisations
-
RolePath- Chemin du rôle IAM (par défaut/)
-
ManagedPolicy1-5 - Possibilité ARNs de joindre jusqu'à 5 politiques gérées
CloudFormation modèle
Enregistrez le code JSON ou YAML suivant dans un fichier distinct à utiliser comme CloudFormation modèle pour ce didacticiel.