Bonnes pratiques de sécurité dans IAM - AWS Identity and Access Management

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.

Bonnes pratiques de sécurité dans IAM

Le AWS Identity and Access Management bonnes pratiques ont été mises à jour le 14 juillet 2022.

Pour vous aider à sécuriser vos ressources AWS, suivez ces bonnes pratiques pour AWS Identity and Access Management (IAM).

Exiger des utilisateurs humains qu'ils se joignent à un fournisseur d'identité pour accéder à AWS en utilisant des informations d'identification temporaires.

Les utilisateurs humains, également connus sous le nom identités humaines, sont les personnes, les administrateurs, les développeurs, les opérateurs et les consommateurs de vos applications. Ils doivent avoir une identité pour accéder à vos AWS environnements et applications. Les utilisateurs humains membres de votre organisation sont également appelés Identités de personnel. Les utilisateurs humains peuvent également être des utilisateurs externes avec lesquels vous collaborez et qui interagissent avec vos AWS ressources. Ils peuvent le faire via un navigateur Web, une application client, une application mobile ou des outils de ligne de commande interactifs.

Demandez à vos utilisateurs humains d'utiliser des informations d'identification temporaires lors de l'accès AWS. Vous pouvez utiliser un fournisseur d'identité pour vos utilisateurs humains afin de fournir un accès fédéré à des Comptes AWS en assumant des rôles, qui fournissent des informations d'identification temporaires. Pour une gestion centralisée des accès, nous vous recommandons d'utiliser AWS IAM Identity Center (IAM Identity Center) pour gérer l'accès à vos comptes et les autorisations au sein de ceux-ci. Vous pouvez gérer vos identités d'utilisateur avec IAM Identity Center ou gérer les autorisations d'accès pour les identités des utilisateurs dans IAM Identity Center à partir d'un fournisseur d'identité externe. Pour de plus amples informations, consultez Présentation de AWS IAM Identity Center dans le Guide de l'utilisateur AWS IAM Identity Center.

Pour plus d'informations sur les rôles , consultez Termes et concepts relatifs aux rôles.

Exiger que les charges de travail utilisent des informations d'identification temporaires avec des rôles IAM pour accéder à AWS

Une charge de travail est un ensemble de ressources et de code qui fournit une valeur business, par exemple une application destinée au client ou un processus de backend. Votre charge de travail peut comporter des applications, des outils opérationnels et des composants qui nécessitent une identité pour envoyer des demandes à Services AWS, telles que les demandes de lecture de données. Ces identités incluent les machines qui s'exécutent dans vos environnements AWS, tels que les instances Amazon EC2 ou les fonctions AWS Lambda.

Vous pouvez également gérer les Identités machine pour les parties externes qui ont besoin d'un accès. Pour donner accès aux identités des machines, vous pouvez utiliser des rôles IAM. Les rôles IAM disposent d'autorisations spécifiques et permettent d'accéder à AWS en s'appuyant sur des informations d'identification de sécurité temporaires avec une session de rôle. De plus, vous pouvez avoir des machines en dehors de AWS qui ont besoin d'accéder à vos environnements AWS. Pour les machines qui fonctionnent en dehors de AWS vous pouvez utiliser AWS Identity and Access Management Rôles Anywhere. Pour plus d'informations sur les rôles , consultez Rôles IAM. Pour plus d'informations sur la façon d'utiliser les rôles pour déléguer l'accès à travers Comptes AWS, voir Didacticiel IAM : déléguer l'accès entre des comptes AWS à l'aide des rôles IAM.

Authentification multifactorielle (MFA) nécessaire.

Nous recommandons d'utiliser les rôles IAM pour les utilisateurs humains et les charges de travail qui accèdent à vos ressources AWS afin qu'ils utilisent des informations d'identification temporaires. Toutefois, pour les scénarios dans lesquels vous avez besoin d'un utilisateur IAM ou root dans votre compte, exigez une MFA pour plus de sécurité. Avec MFA, les utilisateurs disposent d'un périphérique qui génère une réponse à une stimulation d'authentification. Les informations d'identification de l'utilisateur et la réponse générée par le périphérique sont requis pour mener à bien le processus du connexion. Pour de plus amples informations, veuillez consulter Utilisation de l'authentification multifactorielle (MFA) dans AWS.

Si vous utilisez IAM Identity Center pour une gestion centralisée des accès des utilisateurs humains, vous pouvez utiliser les capacités MFA IAM Identity Center lorsque votre source d'identités est configurés avec le magasin d'identités, Microsoft AD géré par AWS ou AD Connector. Pour de plus d'informations sur la MFA dans IAM Identity Center, consultez Authentification multi-facteur dans le Guide de l'utilisateur AWS IAM Identity Center.

Mettre à jour les clés d'accès lorsque cela est nécessaire pour les cas d'utilisation nécessitant des informations d'identification à long terme

Dans la mesure du possible, nous vous recommandons de vous appuyer sur des informations d'identification temporaires plutôt que de créer des informations d'identification à long terme tels que les clés d'accès. Toutefois, pour les scénarios dans lesquels vous avez besoin d'utilisateurs IAM disposant d'un accès par programmation et d'informations d'identification à long terme, nous vous recommandons de mettre à jour les clés d'accès lorsque cela est nécessaire, par exemple lorsqu'un employé quitte votre entreprise. Nous vous recommandons d'utiliser les dernières informations consultées relatives à un accès IAM pour mettre à jour et retirer les clés d'accès en toute sécurité. Pour de plus amples informations, veuillez consulter Mise à jour des clés d'accès.

Certains cas d'utilisation spécifiques nécessitent des informations d'identification à long terme avec les utilisateurs IAM dans AWS. Voici certaines des fonctionnalités les plus utilisées :

  • Charges de travail qui ne peuvent pas utiliser de rôles IAM — Vous pouvez exécuter une charge de travail à partir d'un emplacement qui a besoin d'accéder à AWS. Dans certaines situations, vous ne pouvez pas utiliser les rôles IAM pour fournir des informations d'identification temporaires, comme pour les extensions WordPress. Dans ces situations, utilisez les clés d'accès à long terme de l'utilisateur IAM pour cette charge de travail afin de vous authentifier auprès de AWS.

  • Third-party AWS clients (Clients tiers) :si vous utilisez des outils qui ne prennent pas en charge l'accès avec IAM Identity Center, tels que des clients AWS tiers ou des fournisseurs qui ne sont pas hébergés sur AWS, utilisez les clés d'accès à long terme pour un utilisateur IAM.

  • AWS CodeCommit accès— Si vous utilisez CodeCommit pour stocker votre code, vous pouvez utiliser un utilisateur IAM avec des clés SSH ou des informations d'identification spécifiques au service pour que CodeCommit puisse s'authentifier auprès de vos référentiels. Nous vous recommandons de procéder ainsi en plus de vous servir d'un utilisateur dans IAM Identity Center pour une authentification ordinaire. Les utilisateurs d'IAM Identity Center sont les personnes de votre personnel qui ont besoin d'accéder à vos Comptes AWS ou à vos applications cloud. Pour permettre aux utilisateurs d'accéder à vos référentiels CodeCommit sans configurer les utilisateurs IAM, vous pouvez configurer l'Utilitaire git-remote-codecommit. Pour plus d'informations sur IAM et CodeCommit, veuillez consulter Utilisation d'IAM avec CodeCommit : informations d'identification Git, clés SSH et clés d'accès AWS. Pour de plus d'informations sur la configuration de l'utilitaire git-remote-codecommit, voir Connexion à AWS CodeCommit référentiels avec rotation des informations d'identification dans le Guide de l'utilisateurAWS CodeCommit.

  • Amazon Keyspaces (for Apache Cassandra) access (Accès Amazon Keyspaces (pour Apache Cassandra)) : dans une situation où vous n'êtes pas en mesure de vous servir des utilisateurs dans IAM Identity Center, par exemple à des fins de test de compatibilité avec Cassandra, vous pouvez utiliser un utilisateur IAM avec des informations d'identification spécifiques au service pour vous authentifier auprès d'Amazon Keyspaces. Les utilisateurs d'IAM Identity Center sont les personnes de votre personnel qui ont besoin d'accéder à vos Comptes AWS ou à vos applications cloud. Vous pouvez également vous connecter à Amazon Keyspaces à l'aide d'informations d'identification temporaires. Pour de plus d'informations, veuillez consulter Utilisation d'informations d'identification temporaires pour se connecter à Amazon Keyspaces à l'aide d'un rôle IAM et du plugin Sigv4 dans le Guide du développeur Amazon Keyspaces (pour Apache Cassandra).

Suivez les meilleures pratiques pour protéger vos informations d'identification de l'utilisateur root

Lorsque vous créez un Compte AWS, vous établissez les informations d'identification de l'utilisateur root pour vous connecter à AWS Management Console. Protégez vos informations d'identification d'utilisateur root de la même manière que vous protégez d'autres informations personnelles sensibles. Pour mieux comprendre comment sécuriser et mettre à l'échelle vos processus d'utilisateur root, consultez Bonnes pratiques d'utilisateur root pour votre Compte AWS.

Accorder les autorisations de moindre privilège

Lorsque vous définissez des autorisations avec des stratégies IAM, accordez uniquement les autorisations nécessaires à l'exécution d'une seule tâche. Pour ce faire, vous définissez les actions qui peuvent être entreprises sur des ressources spécifiques dans des conditions spécifiques, également appelées autorisations de moindre privilège. Vous pouvez commencer par des autorisations étendues tout en explorant les autorisations requises pour votre charge de travail ou votre cas d'utilisation. Au fur et à mesure que votre cas d'utilisation évolue, vous pouvez réduire les autorisations que vous accordez pour obtenir le moindre privilège. Pour de plus d'informations sur l'utilisation de IAM pour appliquer des autorisations, consultez Politiques et autorisations dans IAM.

Démarrer avec AWS politiques gérées et évoluez vers les autorisations de moindre privilège

Pour commencer à accorder des autorisations à vos utilisateurs et charges de travail, utilisez les AWSpolitiques gérées qui accordent des autorisations dans de nombreux cas d'utilisation courants. Ils sont disponibles dans votre Compte AWS. Gardez à l'esprit que les AWS politiques gérées peuvent ne pas accorder les autorisations de moindre privilège pour vos cas d'utilisation spécifiques, car elles peuvent être utilisées par tous les clients AWS. En conséquence, nous vous recommandons de réduire encore les autorisations en définissant des Politiques gérées par le client qui sont spécifiques à vos cas d'utilisation. Pour de plus amples informations, veuillez consulter Politiques gérées par AWS. Pour de plus amples informations sur les politiques gérées par AWS, conçues pour des fonctions de tâche spécifiques, veuillez consulter AWS politiques gérées pour les fonctions professionnelles.

Utiliser IAM Access Analyzer pour générer des politiques de moindre privilège en fonction de l'activité d'accès

Pour accorder uniquement les autorisations nécessaires à l'exécution d'une seule tâche, vous pouvez générer des politiques en fonction de votre activité d'accès connectée AWS CloudTrail. IAM Access Analyzer analyse les services et les actions que vos rôles IAM utilisent, puis génère une stratégie précise que vous pouvez utiliser. Après avoir testé chaque stratégie générée, vous pouvez la déployer dans votre environnement de production. Cela garantit que vous n'accordez que les autorisations requises à vos charges de travail. Pour plus d'informations sur la génération de politiques, consultez IAM Access Analyzer policy generation.

Vérifiez et supprimez régulièrement les utilisateurs, les rôles, les autorisations, les politiques et les informations d'identification non utilisés

Vous avez peut-être des utilisateurs, des rôles, des autorisations, des stratégies ou des informations d'identification IAM dont vous n'avez plus besoin dans votre Compte AWS. IAM fournit dernière information consultées pour vous aider à identifier les utilisateurs, les rôles, les autorisations, les stratégies et les informations d'identification dont vous n'avez plus besoin afin de pouvoir les supprimer. Cela vous permet de réduire le nombre d'utilisateurs, de rôles, d'autorisations, de politiques et d'informations d'identification que vous devez surveiller. Vous pouvez ainsi peaufiner vos politiques IAM afin qu'elles respectent au plus près le principe du moindre privilège. Pour de plus amples informations, veuillez consulter Ajustement des autorisations dans AWS à l'aide des dernières informations consultées.

Utiliser des conditions dans les stratégies IAM pour restreindre davantage l'accès

Vous pouvez spécifier les conditions dans lesquelles une déclaration de politique est en vigueur. Ainsi, vous pouvez accorder l'accès aux actions et aux ressources, mais uniquement si la demande d'accès répond à des conditions spécifiques. Par exemple, vous pouvez écrire une condition de stratégie pour spécifier que toutes les demandes doivent être envoyées via SSL. Vous pouvez également utiliser des conditions pour accorder l'accès aux actions de service, mais uniquement si elles sont utilisées via un Service AWS spécifique, comme AWS CloudFormation. Pour de plus amples informations, veuillez consulter Éléments de politique JSON IAM : Condition.

Vérifiez l'accès public et intercompte aux ressources avec IAM Access Analyzer.

Avant d'accorder des autorisations pour l'accès public ou intercompte dans AWS, nous vous recommandons de vérifier si un tel accès est requis. Vous pouvez utiliser IAM Access Analyzer pour vous aider à prévisualiser et à analyser l'accès public et intercompte pour les types de ressources pris en charge. Pour ce faire, consultez les résultats que génère IAM Access Analyzer. Ces résultats vous aident à vérifier que vos contrôles d'accès aux ressources accordent l'accès que vous attendez. En outre, lorsque vous mettez à jour les autorisations publiques et entre comptes, vous pouvez vérifier l'effet de vos modifications avant de déployer de nouveaux contrôles d'accès à vos ressources. IAM Access Analyzer surveille également en permanence les types de ressources pris en charge et génère une recherche pour les ressources qui autorisent un accès public ou intercompte. Pour plus d'informations, consultez l'onglet Prévisualisation de l'accès avec les API IAM Access Analyzer.

Utilisez IAM Access Analyzer pour valider vos politiques IAM afin de garantir des autorisations sécurisées et fonctionnelles

Validez les politiques que vous créez pour vous assurer qu'elles respectent le langage de politique IAM (JSON) et les bonnes pratiques IAM. Vous pouvez valider vos politiques à l'aide de la vérification de politique IAM Access Analyzer. IAM Access Analyzer fournit plus de 100 vérifications de politiques et des recommandations exploitables pour vous aider à créer des politiques sécurisées et fonctionnelles. Lorsque vous créez de nouvelles politiques ou que vous modifiez des politiques existantes dans la console, IAM Access Analyzer fournit des recommandations pour vous aider à affiner et à valider vos politiques avant de les enregistrer. En outre, nous vous recommandons d'examiner et de valider toutes vos politiques existantes. Pour de plus d'informations, veuillez consulter l'onglet Validation de politique IAM Access Analyzer. Pour en savoir plus sur les vérifications de politique fournies par IAM Access Analyzer, veuillez consulter IAM Access Analyzer policy validation (Validation de politique IAM Access Analyzer).

Établir des garde-fous d'autorisations sur plusieurs comptes

Au fur et à mesure que vous augmentez vos charges de travail, séparez-les en utilisant plusieurs comptes gérés avec AWS Organizations. Nous vous recommandons d'utiliser Organizations Politiques de contrôle des services (SCP) pour établir des garde-fous d'autorisations afin de contrôler l'accès de tous les utilisateurs et rôles IAM de vos comptes. Les SCP sont un type de stratégie d'organisation que vous pouvez utiliser pour gérer les autorisations dans votre organisation au AWSniveau de l'organisation, de l'unité d'organisation ou du compte Les garde-fous d'autorisations que vous établissez s'appliquent à tous les utilisateurs et rôles au sein des comptes couverts. Les politiques de contrôle des services ne suffisent cependant pas à accorder des autorisations aux comptes de votre organisation. Pour ce faire, votre administrateur doit toujours attacher des politiques basées sur les ressources ou basées sur l'identité aux utilisateurs ou aux rôles IAM, ou aux ressources de vos comptes pour accorder réellement des autorisations. Pour de plus d'informations, veuillez consulter AWS Organizations, comptes et garde-corps IAM.

Utiliser les limites des autorisations pour déléguer la gestion des autorisations au sein d'un compte.

Dans certains scénarios, vous souhaitez peut-être déléguer la gestion des autorisations d'un compte à d'autres. Par exemple, vous pouvez autoriser les développeurs à créer et à gérer des rôles pour leurs charges de travail. Lorsque vous déléguez des autorisations à d'autres personnes, utilisez Limites d'autorisations pour définir les autorisations maximales que vous déléguez. Une limite d'autorisations est une fonctionnalité avancée permettant d'utiliser une politique gérée pour définir les autorisations maximales qu'une politique basée sur l'identité peut accorder à une rôle IAM. Une limite d'autorisations restreint le nombre maximum d'autorisations, mais n'accorde pas seule l'accès. Pour de plus amples informations, veuillez consulter Limites d'autorisations pour les entités IAM.