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

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

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

Obliger les utilisateurs humains à utiliser la fédération avec un fournisseur d'identité pour accéder à AWS l'aide d'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 disposer d'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.

Exigez de vos utilisateurs humains qu'ils utilisent des informations d'identification temporaires lors de l'accès AWS. Vous pouvez utiliser un fournisseur d'identité auquel vos utilisateurs humains fourniront un accès fédéré Comptes AWS en assumant des rôles fournissant 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 plus d’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 associées à des rôles IAM pour y 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 exécutées dans vos AWS environnements, telles que les instances ou AWS Lambda les fonctions Amazon EC2.

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 fournissent un moyen d'accès AWS en s'appuyant sur des informations d'identification de sécurité temporaires associées à une session de rôle. En outre, il se peut AWS que des machines extérieures aient besoin d'accéder à vos AWS environnements. Pour les machines qui s'exécutent à l'extérieur, AWS vous pouvez utiliser AWS Identity and Access Management Roles Anywhere. Pour plus d'informations sur les rôles , consultez Rôles IAM. Pour plus de détails sur l'utilisation des rôles pour déléguer l'accès entre Comptes AWS eux, consultezDidacticiel 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 plus d’informations, consultez Utilisation de l'authentification multifactorielle (MFA) dans AWS.

Si vous utilisez IAM Identity Center pour la gestion centralisée des accès pour les utilisateurs humains, vous pouvez utiliser les fonctionnalités MFA d'IAM Identity Center lorsque votre source d'identité est configurée avec le magasin d'identités IAM Identity Center, Managed AWS Microsoft AD 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 plus d’informations, consultez 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 certains cas, vous ne pouvez pas utiliser les rôles IAM pour fournir des informations d'identification temporaires, par exemple pour les WordPress plug-ins. 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.

  • AWS Clients tiers : si vous utilisez des outils qui ne prennent pas en charge l'accès avec IAM Identity Center, tels que des AWS clients tiers ou des fournisseurs qui ne sont pas hébergés sur le site AWS, utilisez les clés d'accès à long terme des utilisateurs IAM.

  • AWS CodeCommit accès — Si vous avez l'habitude de CodeCommit stocker votre code, vous pouvez utiliser un utilisateur IAM doté de clés SSH ou d'informations d'identification spécifiques au service pour vous authentifier CodeCommit 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 membres de votre personnel qui ont besoin d'accéder à vos applications cloud Comptes AWS ou à celles de celles-ci. Pour permettre aux utilisateurs d'accéder à vos CodeCommit référentiels sans configurer les utilisateurs IAM, vous pouvez configurer l'git-remote-codecommitutilitaire. Pour plus d'informations sur IAM et CodeCommit, consultezUtilisation d'IAM avec CodeCommit : informations d'identification Git, clés SSH et AWS clés d'accès. Pour plus d'informations sur la configuration de l'git-remote-codecommitutilitaire, consultez la section Connexion aux AWS CodeCommit référentiels avec des informations d'identification rotatives dans le Guide de AWS CodeCommit l'utilisateur.

  • 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 membres de votre personnel qui ont besoin d'accéder à vos applications cloud Comptes AWS ou à celles de celles-ci. 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 définissez les informations d'identification de l'utilisateur root pour vous connecter au 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.

Commencez avec les politiques AWS gérées et passez aux autorisations du moindre privilège

Pour commencer à accorder des autorisations à vos utilisateurs et charges de travail, utilisez les AWS politiques gérées qui accordent des autorisations dans de nombreux cas d'utilisation courants. Ils sont disponibles dans votre Compte AWS. N'oubliez pas que les politiques AWS gérées peuvent ne pas accorder d'autorisations de moindre privilège pour vos cas d'utilisation spécifiques, car elles peuvent être utilisées par tous les AWS clients. 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 plus d’informations, consultez AWS politiques gérées. Pour plus d'informations sur les politiques AWS gérées conçues pour des fonctions professionnelles spécifiques, consultezAWS 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 plus d’informations, consultez Affiner les autorisations en AWS utilisant les 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 par le biais d'un service spécifique Service AWS, tel que AWS CloudFormation. Pour plus d’informations, consultez É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 d'accès public ou multicompte 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

Lorsque 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 politique d'organisation que vous pouvez utiliser pour gérer les autorisations dans votre organisation au niveau de l' AWS 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 plus d'informations, voir Limites d'autorisations pour les entités IAM.