SEC02-BP02 Utiliser des informations d’identification temporaires - Pilier Sécurité

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 escompté : pour réduire le risque d’informations d’identification à long terme, utilisez des informations d’identification temporaires dans la mesure du possible pour les identités humaines et les identités machine. Les informations d’identification à long terme créent de nombreux risques, tels que l’exposition par le biais de chargements dans des référentiels publics. En utilisant des informations d’identification temporaires, vous réduisez considérablement les risques de compromission de ces informations d’identification.

Anti-modèles courants :

  • Les développeurs utilisent des clés d’accès à long terme issues des utilisateurs IAM 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 d’exposition au risque si cette bonne pratique n’est pas respecté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 de CLI adressées aux services AWS doivent, dans presque tous les cas, être signées à l’aide de clés d’accès AWS. Ces demandes peuvent être signées avec des informations d’identification temporaires ou à long terme. Vous ne devez utiliser des informations d’identification à long terme, également appelées clés d’accès à long terme, que si vous utilisez un utilisateur IAM ou un utilisateur racine Compte AWS. Lorsque vous fédérez vers AWS ou que vous assumez un rôle IAM par le biais 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éné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

Identités humaines

Pour les identités du personnel comme les employés, les administrateurs, les développeurs et les opérateurs :

Pour les identités tierces :

Pour les identités utilisateur qui accèdent à vos ressources AWS via des navigateurs Web, des applications client, des applications mobiles ou des outils de ligne de commande interactifs :

  • Si vous devez autoriser des demandes permettant à des consommateurs ou à des clients d’accéder à vos ressources AWS, vous pouvez utiliser les groupes d’identités Amazon Cognito ou les groupes d’utilisateurs Amazon Cognito pour fournir des informations d’identification temporaires. Les autorisations pour ces 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.

Identités de machines

Pour les identités machine, vous devrez peut-être utiliser des informations d’identification à long terme. Dans ces cas, vous devez exiger que les charges de travail utilisent des informations d’identification temporaires avec des rôles IAM pour accéder à AWS.

Dans certains cas, les identifiants temporaires ne sont pas pris en charge et vous devez utiliser des informations d’identification à long terme. Dans ces cas, contrôlez et effectuez régulièrement une rotation de ces informations d’identification et effectuez régulièrement une rotation des clés d’accès. Pour les clés d’accès d’utilisateurs IAM à l’accès très restreint, envisagez d’utiliser les mesures de sécurité supplémentaires suivantes :

  • Accordez des autorisations très restreintes :

    • Optez pour le principe du moindre privilège (soyez précis quant aux actions, aux ressources et aux conditions).

    • Envisagez d’accorder à l’utilisateur IAM uniquement l’opération AssumeRole pour un seul rôle spécifique. En fonction de l’architecture sur site, cette approche permet d’isoler et de sécuriser les informations d’identification IAM à long terme.

  • Limitez les sources réseau et les adresses IP autorisées dans la politique d’approbation de rôle IAM.

  • Surveillez l’utilisation et configurez des alertes pour des autorisations non utilisées ou abusives (à l’aide des filtres de métriques et des alarmes AWS CloudWatch Logs).

  • Appliquez des limites d’autorisation (les politiques de contrôle des services (SCP) et les limites d’autorisation se complètent : les SCP sont grossières, tandis que les limites d’autorisation sont détaillées).

  • Mettez en œuvre un processus pour provisionner et stocker en toute sécurité (dans un coffre-fort sur site) les informations d’identification.

Autres options pour les scénarios nécessitant des informations d’identification à long terme :

  • Créez votre propre API de distribution de jetons (à l’aide d’Amazon API Gateway).

  • Dans les scénarios où vous devez utiliser des informations d’identification à long terme ou des informations d’identification autres que des clés d’accès AWS (telles que les connexions à la base de données), vous pouvez utiliser un service conçu pour gérer la gestion des secrets, tel qu’AWS Secrets Manager. Secrets Manager simplifie la gestion, la rotation et le stockage sécurisé des secrets chiffrés. De nombreux services AWS prennent en charge une intégration directe avec Secrets Manager.

  • Pour les intégrations multicloud, vous pouvez utiliser la fédération d’identité en fonction des informations d’identification de votre fournisseur de services d’informations d’identification (CSP) source (voir AWS STS AssumeRoleWithWebIdentity).

Pour plus d’informations sur la rotation des informations d’identification à long terme, veuillez consulter Rotation des clés d’accès.

Ressources

Bonnes pratiques associées :

Documents connexes :

Vidéos connexes :