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

Important

AWS Identity and Access Management les 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 (IAMIdentity Center) pour gérer l'accès à vos comptes et les autorisations associées à ces comptes. Vous pouvez gérer les identités de vos utilisateurs 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 IAM des rôles d'accès 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 EC2 instances ou les AWS Lambda fonctions Amazon.

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 IAM des rôles. IAMles rôles 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 dans le cadre d'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, consultezIAMtutoriel : Déléguer l'accès entre les AWS comptes à l'aide de IAM rôles.

Exiger une authentification multifactorielle () MFA

Nous recommandons d'utiliser IAM des rôles pour les utilisateurs humains et les charges de travail qui accèdent à vos AWS ressources afin qu'ils utilisent des informations d'identification temporaires. Toutefois, pour les scénarios dans lesquels vous avez besoin d'un IAM utilisateur ou d'un utilisateur root dans votre compte, MFA exigez une sécurité supplémentaire. AvecMFA, les utilisateurs disposent d'un appareil qui génère une réponse à un défi 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 MFA fonctionnalités IAM d'Identity Center lorsque votre source d'identité est configurée avec le magasin IAM d'identités Identity Center, AWS Managed Microsoft AD ou AD Connector. Pour plus d'informations sur MFA IAM Identity Center, voir Authentification multifactorielle dans le guide de l'AWS IAM Identity Center utilisateur.

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'IAMutilisateurs disposant d'un accès programmatique 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 IAM d'accès utilisées pour mettre à jour et supprimer 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 IAM les utilisateurs AWS. Voici certaines des fonctionnalités les plus utilisées :

  • Charges de travail ne pouvant pas utiliser de IAM rôles : vous pouvez exécuter une charge de travail à partir d'un emplacement nécessitant un accès AWS. Dans certains cas, vous ne pouvez pas utiliser de IAM rôles 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'IAMutilisateur auprès desquelles cette charge de travail doit s'authentifier 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 Identity Center AWS, utilisez les clés d'accès à long terme des IAM utilisateurs.

  • AWS CodeCommit accès — Si vous utilisez CodeCommit pour stocker votre code, vous pouvez utiliser un IAM utilisateur possédant des SSH clés ou des informations d'identification spécifiques au service pour vous authentifier CodeCommit auprès de vos référentiels. Nous vous recommandons de le faire en plus d'utiliser un utilisateur dans IAM Identity Center pour une authentification normale. Les utilisateurs d'IAMIdentity 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 IAM les utilisateurs, vous pouvez configurer l'git-remote-codecommitutilitaire. Pour plus d'informations sur IAM et CodeCommit, voirUtilisation 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.

  • Accès à Amazon Keyspaces (pour Apache Cassandra) : si vous ne pouvez pas utiliser d'utilisateurs dans IAM Identity Center, par exemple à des fins de test de compatibilité avec Cassandra, vous pouvez utiliser un IAM utilisateur possédant des informations d'identification spécifiques au service pour vous authentifier auprès d'Amazon Keyspaces. Les utilisateurs d'IAMIdentity 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 plus d'informations, consultez les sections Utilisation d'informations d'identification temporaires pour vous connecter à Amazon Keyspaces à l'aide d'un IAM rôle et du plug-in 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 à IAM l'aide de politiques, accordez uniquement les autorisations requises pour effectuer une 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 plus d'informations sur l'utilisation IAM pour appliquer des autorisations, consultezPolitiques 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 sont disponibles pour tous AWS les 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.

Utilisez 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. IAMAccess Analyzer analyse les services et les actions utilisés par vos IAM rôles, puis génère une politique 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 la section Génération de politiques IAM Access Analyzer.

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 IAM utilisateurs, des rôles, des autorisations, des politiques ou des informations d'identification dont vous n'avez plus besoin dans votre Compte AWS. IAMfournit les dernières informations consultées pour vous aider à identifier les utilisateurs, les rôles, les autorisations, les politiques 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 également utiliser ces informations pour affiner vos IAM politiques afin de mieux respecter les autorisations 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 IAM les politiques 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 rédiger une condition de politique pour spécifier que toutes les demandes doivent être envoyées en utilisantSSL. 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 IAMJSONéléments de politique : Condition.

Vérifiez l'accès public et multicompte 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 prévisualiser et analyser l'accès public et entre comptes pour les types de ressources pris en charge. Pour ce faire, passez en revue les résultats générés par 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. IAMAccess Analyzer surveille également en permanence les types de ressources pris en charge et génère une recherche de ressources permettant un accès public ou multicompte. Pour plus d'informations, consultez la section Prévisualisation de l'accès avec IAM Access APIs Analyzer.

Utilisez IAM Access Analyzer pour valider vos IAM politiques 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 des IAM politiques (JSON) et les IAM meilleures pratiques. Vous pouvez valider vos politiques à l'aide de la validation des politiques d'IAMAccess Analyzer. IAMAccess Analyzer fournit plus de 100 vérifications des 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 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 plus d'informations, consultez la section Validation des politiques d'IAMAccess Analyzer. Pour plus d'informations sur les contrôles de politique fournis par IAM Access Analyzer, consultez la référence de vérification des politiques IAM d'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 les politiques de contrôle des services des Organizations (SCPs) pour établir des barrières d'autorisation afin de contrôler l'accès de tous les IAM utilisateurs et rôles sur l'ensemble de vos comptes. SCPssont un type de politique d'organisation que vous pouvez utiliser pour gérer les autorisations de 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. Toutefois, SCPs elles ne suffisent pas à elles seules à accorder des autorisations aux comptes de votre organisation. Pour ce faire, votre administrateur doit associer des politiques basées sur l'identité ou les ressources aux IAM utilisateurs, aux IAM rôles ou aux ressources de vos comptes. Pour plus d'informations AWS Organizations, consultez la section Comptes et IAM garde-corps.

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 stratégie gérée afin de définir le maximum d'autorisations qu'une politique basée sur l'identité peut accorder à un IAM rôle. 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.