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
Pour vous aider à sécuriser vos ressources AWS, suivez ces bonnes pratiques pour Gestion des identités et des accès AWS (IAM).
Rubriques
Démarrer avec AWS politiques gérées et évoluez vers les autorisations de moindre privilège
Utiliser des conditions dans les stratégies IAM pour restreindre davantage l'accès
Vérifiez l'accès public et intercompte aux ressources avec IAM Access Analyzer.
Établir des garde-fous d'autorisations sur plusieurs comptes
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 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 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 des informations d’identification pour envoyer des demandes à Services AWS, telles que les demandes de lecture de données depuis Amazon S3.
Lorsque vous développez un service de calcul AWS, tel qu’Amazon EC2 ou Lambda, AWS fournit les informations d’identification temporaires d’un rôle IAM à cette ressource de calcul. Les applications écrites à l’aide d’un kit SDK AWS détecteront et utiliseront ces informations d’identification temporaires pour accéder aux ressources AWS. Il n’est donc pas nécessaire de distribuer des informations d’identification à longue durée de vie pour un utilisateur IAM à vos charges de travail exécutées sur AWS.
Les charges de travail qui s’exécutent en dehors d’AWS, telles que vos serveurs sur site, les serveurs d’autres fournisseurs de cloud ou les plateformes gérées d’intégration continue et de livraison continue (CI/CD), peuvent toujours utiliser des informations d’identification temporaires. Cependant, vous devrez fournir ces informations d’identification temporaires à votre charge de travail. Voici plusieurs façons de fournir des informations d’identification temporaires à vos charges de travail :
-
Vous pouvez utiliser Rôles Anywhere IAM pour demander des informations d’identification AWS temporaires pour votre charge de travail à l’aide d’un certificat X.509 provenant de votre infrastructure à clé publique (PKI).
-
Vous pouvez appeler l’API AWS STS
AssumeRoleWithSAMLAWS pour demander des informations d’identification AWS temporaires pour votre charge de travail à l’aide d’une assertion SAML provenant d’un fournisseur d’identité (IdP) externe configuré dans votre Compte AWS. -
Vous pouvez appeler l’API
AssumeRoleWithWebIdentityAWS STS AWS pour demander des informations d’identification AWS temporaires pour votre charge de travail à l’aide d’un jeton Web JSON (JWT) provenant d’un IdP configuré dans votre Compte AWS. -
Vous pouvez demander des informations d’identification AWS temporaires à partir de votre appareil IoT à l’aide de l’authentification MTLS (Mutual Transport Layer Security) en utilisant AWS IoT Core.
Certains Services AWS prennent également en charge les intégrations afin de fournir des identifiants temporaires à vos charges de travail exécutées en dehors d’AWS :
-
Amazon Elastic Container Service (Amazon Anywhere ECS)
vous permet d’exécuter des tâches Amazon ECS sur vos propres ressources de calcul et fournit des informations d’identification AWS temporaires à vos tâches Amazon ECS s’exécutant sur ces ressources de calcul. -
Amazon Elastic Kubernetes Service Hybrid Nodes vous permet d’ajouter vos ressources de calcul exécutées en dehors d’AWS en tant que nœuds à un cluster Amazon EKS. Amazon EKS peut fournir des informations d’identification temporaires aux pods Amazon EKS s’exécutant sur vos ressources de calcul.
-
AWS Systems ManagerHybrid Activations vous permet de gérer vos ressources de calcul exécutées en dehors d’AWS à l’aide de SSM et fournit des informations d’identification AWS temporaires à l’agent SSM exécuté sur vos ressources de calcul.
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, consultez Authentication multifactorielle AWS dans IAM.
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, 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 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 Informations d’identification IAM pour 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 Gestion des identités et des accès AWS.
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, consultez AWS politiques gérées. 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, 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 politique pour spécifier que toutes les demandes doivent être envoyées via TLS. 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 CloudFormation. Pour de plus amples 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 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 les politiques de contrôle des services (SCP) AWS Organizationspour établir des garde-fous d’autorisations afin de contrôler l’accès de tous les principaux (utilisateurs et rôles IAM) de vos comptes. Nous vous recommandons d’utiliser les politiques de contrôle des ressources (RCP) AWS Organizations pour établir des garde-fous d’autorisations afin de contrôler l’accès aux ressources AWS de votre organisation. Les SCP et les RCP sont des types de politiques d’organisation que vous pouvez utiliser pour gérer les autorisations dans votre organisation au niveau de l’organisation AWS, de l’unité d’organisation (UO) ou du compte.
Toutefois, les SCP et les RCP ne suffisent pas à accorder des autorisations aux principaux et aux ressources de votre organisation. Aucune autorisation n’est accordée par les SCP et les RCP. Pour octroyer des autorisations, votre administrateur doit toujours attacher des politiques basées sur les ressources ou basées sur l’identité aux utilisateurs IAM, aux rôles IAM, ou aux ressources de vos comptes. Pour plus d’informations, consultez Blocs de base de la SRA : AWS Organizations, comptes et garde-fous.
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, consultez Limites d'autorisations pour les entités IAM.