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.
Contrôle de l'accès à l'aide de politiques IAM
IAM fournit plusieurs types de politiques pour contrôler l'accès à la fonctionnalité de fédération des identités sortantes. Vous pouvez utiliser des politiques basées sur l'identité pour contrôler les principaux IAM autorisés à demander des jetons et appliquer des propriétés de jetons spécifiques telles que l'audience, la durée de vie et les algorithmes de signature. Les politiques de contrôle des services (SCPs) vous permettent d'appliquer des restrictions à l'échelle de l'organisation sur la génération de jetons sur tous les comptes de vos organisations AWS . Les politiques de contrôle des ressources (RCPs) contrôlent l'accès au niveau des ressources. Vous pouvez également utiliser les politiques relatives aux points de terminaison VPC pour limiter les principaux autorisés à accéder à l' AWS STS GetWebIdentityTokenAPI via vos points de terminaison VPC, en ajoutant des contrôles au niveau du réseau à votre posture de sécurité. Cette section explique comment implémenter des contrôles d'accès précis à l'aide de ces types de politiques et de ces clés de condition.
Pour demander des jetons d'identité, un principal IAM doit avoir l'sts:GetWebIdentityTokenautorisation. Accordez cette autorisation par le biais de politiques d'identité associées aux utilisateurs ou aux rôles IAM. Pour autoriser la transmission de balises (clés, paires de valeurs) à l' GetWebIdentityToken appel, le principal IAM doit en avoir l'sts:TagGetWebIdentityTokenautorisation.
-
Utilisez la touche de IdentityTokenAudience condition sts : pour limiter les services externes autorisés à recevoir des jetons.
-
Utilisez la clé de DurationSeconds condition sts : pour appliquer la durée de vie maximale des jetons.
-
Utilisez la clé de SigningAlgorithm condition sts : pour demander des algorithmes cryptographiques spécifiques.
-
Utilisez la clé de RequestTag condition aws : comparez la paire clé-valeur de balise transmise dans la demande avec la paire de balises que vous spécifiez dans la politique.
-
Utilisez la clé de TagKeys condition aws : pour comparer les clés de balise d'une demande avec les clés que vous spécifiez dans la politique.
Reportez-vous aux rubriques IAM et clés de AWS STS condition pour en savoir plus sur les clés de condition disponibles dans les politiques IAM.
Cet exemple de politique d'identité combine plusieurs clés de condition :
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowTokenGenerationWithRestrictions", "Effect": "Allow", "Action": "sts:GetWebIdentityToken", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "sts:IdentityTokenAudience": [ "https://api1.example.com", "https://api2.example.com" ] }, "NumericLessThanEquals": { "sts:DurationSeconds": 300 }, "StringEquals": { "sts:SigningAlgorithm": "ES384" } } } ] }
Bonnes pratiques
Suivez ces recommandations pour fédérer en toute sécurité vos AWS identités avec des services externes.
-
Utilisez des durées de vie des jetons courtes : demandez les jetons dont la durée de vie est la plus courte et qui répondent à vos besoins opérationnels.
-
Implémentez l'accès avec le moindre privilège et limitez les propriétés des jetons grâce aux politiques IAM : accordez l'
sts:GetWebIdentityTokenautorisation uniquement aux principaux IAM qui en ont besoin. Utilisez les clés de condition pour spécifier les algorithmes de signature, les audiences de jetons autorisées et la durée de vie maximale des jetons selon vos besoins. -
Validez les réclamations auprès de services externes : pour des raisons de sécurité, validez toujours les demandes pertinentes telles que le sujet (« sub »), le public (« aud »), etc. pour vous assurer qu'elles correspondent aux valeurs que vous attendez. Validez les demandes personnalisées dans la mesure du possible afin de permettre des décisions d'autorisation précises dans les services externes.