SEC02-BP02 Utiliser des informations d'identification temporaires
Lors de tout type d'authentification, il est préférable d'utiliser des informations d'identification temporaires plutôt que des informations d'identification à long terme afin de réduire ou d'éliminer les risques, tels que la divulgation, le partage ou le vol des informations d'identification par inadvertance.
Résultat souhaité : réduire les risques liés aux informations d'identification à long terme, utiliser des informations d'identification temporaires dès que possible pour les identités humaines et machine. Les informations d'identification à long terme créent de nombreux risques, par exemple lorsqu'ils sont téléchargés dans du code dans des référentiels GitHub publics. En utilisant des informations d'identification temporaires, vous réduisez considérablement les risques de compromission de ces informations.
Anti-modèles courants :
-
Les développeurs utilisent des clés d'accès à long terme issues des IAM users au lieu d'obtenir des informations d'identification temporaires de la CLI à l'aide de la fédération.
-
Les développeurs intègrent des clés d'accès à long terme dans leur code et téléchargent ce code dans des référentiels Git publics.
-
Les développeurs intègrent des clés d'accès à long terme dans les applications mobiles qui sont ensuite disponibles dans les boutiques d'applications.
-
Les utilisateurs partagent des clés d'accès à long terme avec d'autres utilisateurs ou des employés quittent l'entreprise avec des clés d'accès à long terme toujours en leur possession.
-
Utilisation des clés d'accès à long terme pour les identités machine lorsque des informations d'identification temporaires peuvent être utilisées.
Niveau de risque exposé si cette bonne pratique n'est pas instaurée : élevé
Directives d'implémentation
Utilisez des informations d'identification de sécurité temporaires plutôt que des informations d'identification à long terme pour toutes les demandes d'API et de CLI AWS. Les demandes d'API et CLI transmises aux services AWS doivent, dans presque tous les cas, être signées en utilisant des clés d'accès AWS. Ces demandes peuvent être signées avec des informations d'identification temporaires ou à long terme. Le seul moment où vous devez utiliser des informations d'identification à long terme, également connues sous le nom de clés d'accès à long terme, est si vous employez un utilisateur IAM ou l'utilisateur root du Compte AWS. Lorsque vous fédérez sur AWS ou si vous assumez un rôle IAM via d'autres méthodes, des informations d'identification temporaires sont générées. Même lorsque vous accédez à la AWS Management Console à l'aide des informations d'identification de connexion, des informations d'identification temporaires sont gérées pour vous permettre d'appeler les services AWS. Vous avez rarement besoin d'informations d'identification à long terme et vous pouvez accomplir presque toutes les tâches en utilisant des informations d'identification temporaires.
Privilégiez les informations d'identification temporaires plutôt que les informations d'identification à long terme et, parallèlement, mettez en place une stratégie de réduction des utilisateurs IAM au profit de la fédération et des rôles IAM. Bien que les utilisateurs IAM aient été employés pour les identités humaines et machine dans le passé, nous recommandons désormais de ne plus procéder ainsi afin d'éviter les risques liés à l'utilisation de clés d'accès à long terme.
Étapes d'implémentation
Pour les identités humaines comme les employés, les administrateurs, les développeurs, les opérateurs et les clients :
-
faites appel à un fournisseur d'identité centralisé et exigez des utilisateurs humains qu'ils se servent de la fédération avec un fournisseur d'identité pour accéder à AWS à l'aide d'informations d'identification temporaires. La fédération pour vos utilisateurs peut être mise en place soit avec une fédération directe à chaque Compte AWS
, soit en utilisant AWS IAM Identity Center (successeur d'AWS IAM Identity Center) et le fournisseur d'identité de votre choix. La fédération offre un certain nombre d'avantages par rapport aux utilisateurs IAM, outre l'élimination des informations d'identification à long terme. Les utilisateurs peuvent également demander des informations d'identification temporaires à partir de la ligne de commande pour une fédération directe ou en utilisant IAM Identity Center. Cela signifie que peu de cas d'utilisation nécessitent des utilisateurs IAM ou des informations d'identification à long terme pour vos utilisateurs. -
Lors de l'octroi d'accès aux ressources à des tiers, par exemple les fournisseurs de logiciels en tant que service (SaaS) dans votre Compte AWS, vous pouvez utiliser des rôles intercomptes et des politiques basées sur les ressources.
-
Si vous devez accorder à des consommateurs ou des clients des autorisations d'accès à vos ressources AWS, vous pouvez utiliser des groupes d'identités Amazon Cognito ou Amazon Cognito user pools pour fournir des informations d'identification temporaires. Les autorisations pour les informations d'identification sont configurées via des rôles IAM. Vous pouvez également définir un rôle IAM distinct avec des autorisations limitées pour les utilisateurs invités qui ne sont pas authentifiés.
Pour les identités machine, vous devrez peut-être utiliser des informations d'identification à long terme. Le cas échéant, vous devez exiger que les charges de travail utilisent des informations d'identification temporaires avec des rôles IAM pour accéder à AWS.
-
Pour Amazon Elastic Compute Cloud
(Amazon EC2), vous pouvez utiliser des rôles pour Amazon EC2.
-
AWS Lambda
vous permet de configurer un rôle d'exécution Lambda afin d'octroyer au service les autorisations permettant d'effectuer des actions AWS en utilisant des informations d'identification temporaires. Il existe de nombreux modèles similaires pour permettre aux services AWS d'octroyer des informations d'identification temporaires à l'aide des rôles IAM. -
Pour les appareils IoT, vous pouvez utiliser le fournisseur d'informations d'identification AWS IoT Core afin de demander des informations d'identification temporaires.
-
Pour les systèmes sur site ou les systèmes qui fonctionnent en dehors d'AWS et qui ont besoin d'accéder aux ressources AWS, vous pouvez utiliser IAM Roles Anywhere.
Dans certains cas, il est impossible d'utiliser des informations d'identification temporaires et vous devrez alors opter pour des informations d'identification à long terme. Le cas échéant, auditez et effectuez une rotation des informations d'identification périodiquement et effectuez une rotation des clés d'accès régulièrement pour les cas d'utilisation qui requièrent des informations d'identification à long terme. Parmi les exemples qui peuvent exiger des informations d'identification à long terme, citons notamment les plug-ins WordPress et les clients AWS tiers. Dans les situations où vous devez utiliser des informations d'identification à long terme ou des informations d'identification autres que les clés d'accès AWS, comme les connexions aux bases de données, vous pouvez utiliser un service conçu pour gérer la gestion des secrets, par exemple AWS Secrets Manager
Ressources
Bonnes pratiques associées :
Documents connexes :
-
AWS Credentials (Informations d'identification AWS)
-
Rotating Access Keys (Rotation des clés d'accès)
-
Solutions partenaires de sécurité : accès et contrôle d'accès
Vidéos connexes :