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

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 des informations d'identification pour envoyer des demandes Services AWS, telles que des demandes de lecture de données depuis Amazon S3.

Lorsque vous développez un service de AWS calcul, tel qu'Amazon EC2 ou Lambda, AWS vous fournissez les informations d'identification temporaires d'un rôle IAM à cette ressource de calcul. Les applications écrites à l'aide d'un AWS SDK découvriront et utiliseront ces informations d'identification temporaires pour accéder aux AWS ressources, et il n'est pas nécessaire de distribuer les informations d'identification à long terme d'un utilisateur IAM à vos charges de travail en cours d'exécution. AWS

Les charges de travail qui s'exécutent à l'extérieur 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. Vous pouvez fournir des informations d'identification temporaires à vos charges de travail de différentes manières :

  • Vous pouvez utiliser IAM Roles Anywhere pour demander des AWS informations d'identification temporaires pour votre charge de travail à l'aide d'un certificat X.509 provenant de votre infrastructure à clé publique (PKI).

  • Vous pouvez appeler l' AWS AWS STSAssumeRoleWithSAMLAPI pour demander des AWS informations d'identification temporaires pour votre charge de travail à l'aide d'une assertion SAML provenant d'un fournisseur d'identité (IdP) externe configuré au sein de votre. Compte AWS

  • Vous pouvez appeler l' AWS AWS STS AssumeRoleWithWebIdentityAPI pour demander des AWS informations d'identification 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 AWS d'identification temporaires à votre appareil IoT à l'aide de l'authentification MTLS (Mutual Transport Layer Security) à l'aide AWS IoT Core de.

Certains prennent Services AWS également en charge les intégrations pour fournir des informations d'identification temporaires à vos charges de travail exécutées en dehors de : AWS

  • Amazon Elastic Container Service (Amazon ECS) Anywherevous permet d'exécuter des tâches Amazon ECS sur vos propres ressources informatiques et fournit des AWS informations d'identification temporaires à vos tâches Amazon ECS exécutées sur ces ressources de calcul.

  • Amazon Elastic Kubernetes Service Hybrid Nodesvous permet de joindre vos ressources de calcul exécutées en dehors AWS des nœuds à un cluster Amazon EKS. Amazon EKS peut fournir des informations d'identification temporaires aux modules Amazon EKS exécutés sur vos ressources informatiques.

  • AWS Systems ManagerHybrid Activationsvous permet de gérer vos ressources informatiques exécutées en dehors de l' AWS utilisation de SSM et fournit des AWS informations d'identification 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, veuillez consulter AWS Authentification multifactorielle 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, 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. 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, consultezInformations d’identification IAM pour CodeCommit : informations d’identification Git, clés SSH et clés d’accès AWS. 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 AWS Identity and Access Management.

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 de plus amples informations, veuillez consulter 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 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 rédiger une condition de politique pour spécifier que toutes les demandes doivent être envoyées via le protocole TLS. 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 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 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 la section Prévisualisation de l'accès avec IAM Access Analyzer. APIs

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 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 principaux (rôles et utilisateurs IAM) à vos comptes. Nous vous recommandons d'utiliser les politiques de contrôle des ressources des Organisations (RCPs) pour établir des barrières d'autorisation afin de contrôler l'accès aux AWS ressources au sein de votre organisation. SCPs et RCPs sont des types de politiques d'organisation que vous pouvez utiliser pour gérer les autorisations au sein de votre organisation au niveau de l' AWS organisation, de l'unité organisationnelle (UO) ou du compte.

Toutefois, SCPs elles ne suffisent pas à elles RCPs seules à accorder des autorisations aux directeurs et aux ressources de votre organisation. Aucune autorisation n'est accordée par SCPs et RCPs. 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 la section Blocs de base de la SRA : AWS Organizations comptes et barrières de sécurité.

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.