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ôler l'accès à l'aide de politiques IAM
IAM propose plusieurs types de politiques pour contrôler l'accès à la fonctionnalité de fédération d'identités sortantes. Vous pouvez utiliser des politiques basées sur l'identité pour contrôler quels responsables IAM peuvent demander des jetons et appliquer des propriétés de jetons spécifiques telles que l'audience, les durées de vie et les algorithmes de signature. Les politiques de contrôle des services (SCP) vous permettent d'appliquer des restrictions à l'échelle de l'organisation en matière de génération de jetons pour tous les comptes de vos organisations. AWS Les politiques de contrôle des ressources (RCP) contrôlent l'accès au niveau des ressources. Vous pouvez également utiliser les politiques relatives aux terminaux VPC pour limiter les principaux accès à l' AWS STS GetWebIdentityTokenAPI via vos points de terminaison VPC, en ajoutant des contrôles au niveau du réseau à votre niveau de sécurité. Cette section explique comment mettre en œuvre 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 responsable IAM doit disposer de 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 (paires clé/valeur) à l' GetWebIdentityToken appel, le principal IAM doit disposer de cette sts:TagGetWebIdentityToken autorisation.
-
Utilisez la clé de IdentityTokenAudience condition sts : pour limiter les services externes qui peuvent 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 qui a été 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 à la section IAM et aux 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 à des services externes.
-
Utilisez des durées de vie courtes pour les jetons : demandez des jetons dont la durée de vie est la plus courte pour répondre à vos besoins opérationnels.
-
Implémentez l'accès avec le moindre privilège et limitez les propriétés des jetons à l'aide de politiques IAM : accordez l'
sts:GetWebIdentityTokenautorisation uniquement aux principaux administrateurs IAM qui en ont besoin. Utilisez des 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 déclarations dans des services externes : pour des raisons de sécurité, validez toujours les déclarations pertinentes telles que le sujet (« sous »), l'audience (« aud »), etc. pour vous assurer qu'elles correspondent aux valeurs attendues. Validez les demandes personnalisées dans la mesure du possible afin de permettre des décisions d'autorisation précises dans les services externes.