Fonctionnement de 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.

Fonctionnement de IAM

IAM fournit l'infrastructure nécessaire au contrôle de l'authentification et des autorisations de votre compte Compte AWS. L'infrastructure IAM est illustrée par le schéma suivant :


      IntroToIAM_Diagram

Tout d'abord, un utilisateur humain ou une application utilise ses informations de connexion pour s'authentifier auprès d'AWS. L'authentification fonctionne en faisant correspondre les informations de connexion à un principal (un utilisateur IAM, un utilisateur fédéré, un rôle IAM ou une application) approuvé par le Compte AWS.

Ensuite, une demande est effectuée pour accorder au principal l'accès aux ressources. L'accès est accordé en réponse à une demande d'autorisation. Par exemple, lorsque vous vous connectez à la console pour la première fois et que vous vous trouvez sur sa page d'accueil, vous n'accédez à aucun service spécifique. Lorsque vous sélectionnez un service, la demande d'autorisation est envoyée à ce service et celui-ci vérifie si votre identité figure sur la liste des utilisateurs autorisés, les stratégies appliquées pour contrôler le niveau d'accès accordé et toutes les autres stratégies susceptibles d'être en vigueur. Les demandes d'autorisation peuvent être effectuées par des principaux au sein de votre Compte AWS ou d'un autre Compte AWS approuvé.

Une fois autorisé, le principal peut prendre des mesures ou effectuer des opérations sur les ressources de votre Compte AWS. Par exemple, le principal peut lancer une nouvelle instance Amazon Elastic Compute Cloud, modifier l'appartenance à un groupe IAM ou supprimer des compartiments Amazon Simple Storage Service.

Conditions

Ces termes IAM sont couramment utilisés lors de l'utilisation d'AWS :

Ressource IAM

Les ressources IAM sont stockées dans IAM. Vous pouvez les ajouter, les modifier et les supprimer dans IAM.

  • utilisateur

  • groupe

  • rôle

  • stratégie

  • objet fournisseur d'identité

Entité IAM

Ressources IAM qu'AWS utilise pour l'authentification. Les entités peuvent être spécifiées en tant que principal dans une politique basée sur les ressources.

  • utilisateur

  • rôle

Identité IAM

Une ressource IAM qui peut être autorisée dans des politiques pour effectuer des actions et accéder aux ressources. Les identités incluent les utilisateurs, les groupes et les rôles.


              Ressource, identités et entités
Principaux

Personne ou application qui utilise la Utilisateur racine d'un compte AWS, un utilisateur IAM ou un rôle IAM pour se connecter et effectuer des demandes à AWS. Les principaux incluent des utilisateurs fédérés et des rôles endossés.

Utilisateurs humains

Aussi connus sous le nom identités humaines : les personnes, les administrateurs, les développeurs, les opérateurs et les consommateurs de vos applications.

Charge de travail

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. Peut inclure des applications, des outils opérationnels et des composants.

Principal

Un principal est un utilisateur humaine ou une charge de travail qui peut effectuer une demande pour une action ou une opération sur une ressource AWS. Après l'authentification, le principal peut se voir attribuer des informations d'identification permanentes ou temporaires pour effectuer des demandes à AWS, selon le type de principal. Les utilisateurs IAM et l'utilisateur root se voient attribuer des informations d'identification permanentes, tandis que les rôles des informations d'identification temporaires. En guise de bonne pratique, nous vous recommandons de demander aux utilisateurs humains et aux charges de travail d'accéder aux ressources AWS à l'aide d'informations d'identification temporaires.

Requête

Lorsqu'un principal essaie d'utiliser AWS Management Console, l'API AWS ou l'AWS CLI, il envoie une requête à AWS. La demande inclut les informations suivants :

  • Actions ou opérations : les actions ou opérations que le principal souhaite exécuter. Il peut s'agir d'une action dans AWS Management Console, ou d'une opération dans l'AWS CLI ou l'API AWS.

  • Ressources : l'objet de ressource AWS sur lequel les actions ou opérations sont exécutées.

  • Principal : personne ou application qui utilise une entité (utilisateur ou rôle) pour envoyer la demande. Les informations sur le principal incluent les politiques associées à l'entité utilisée par le principal pour se connecter.

  • Données d'environnement : informations sur l'adresse IP, l'agent utilisateur, le statut SSL ou le moment de la journée.

  • Données de ressources : données liées à la ressource qui est demandée. Par exemple, ces informations peuvent inclure le nom d'une table DynamoDB ou une balise sur une instance Amazon EC2.

AWS recueille les informations de requête dans un contexte de requête utilisé pour évaluer et autoriser la requête.

Authentification

Un principal doit être authentifié (enregistré AWS) à l'aide de ses informations d'identification pour envoyer une demande à AWS. Certains services, tels que Amazon S3 et AWS STS, autorisent quelques demandes provenant d'utilisateurs anonymes. Cependant, ils sont l'exception à la règle.

Pour vous authentifier à partir de la console en tant que utilisateur racine, vous devez vous connecter avec votre adresse e-mail et votre mot de passe. En tant qu'utilisateur fédéré, vous êtes authentifié par votre fournisseur d'identité et vous pouvez accéder aux ressources AWS en assumant des rôles IAM. En tant qu'utilisateur IAM, indiquez votre ID de compte ou alias, puis votre nom d'utilisateur et votre mot de passe. Pour authentifier les charges de travail à partir de l'API ou de la AWS CLI, vous pouvez utiliser des informations d'identification temporaires en vous voyant attribuer un rôle ou vous pouvez utiliser des informations d'identification à long terme en fournissant votre clé d'accès et votre clé secrète. Vous devrez peut-être également fournir des informations de sécurité supplémentaires. En guise de bonne pratique, AWS vous recommande d'utiliser l'authentification multifactorielle (MFA) et des informations d'identification temporaires pour améliorer la sécurité de votre compte. Pour en savoir plus sur les entités IAM qu'AWS peut authentifier, veuillez consulter Utilisateurs IAM et Rôles IAM.

Autorisation

Vous devez également être autorisé à terminer votre demande. Lors de l'autorisation, AWS utilise les valeurs du contexte de la demande pour rechercher les politiques qui s'appliquent à la demande. Ensuite, il utilise les politiques pour déterminer s'il autorise ou refuse la demande. La plupart des politiques sont stockées dans AWS sous forme de documents JSON et spécifient les autorisations pour les entités principaux. Il existe plusieurs types de politiques pouvant affecter l'autorisation d'une demande. Pour fournir à vos utilisateurs l'autorisation d'accéder aux ressources AWS de leur propre compte, vous avez uniquement besoin des politiques basées sur l'identité. Les politiques basées sur les ressources sont couramment utilisées pour accorder un accès entre comptes. Les autres types de politique consistent en des fonctionnalités avancées et doivent être utilisés avec précaution.

AWS recherche chaque politique qui s'applique au contexte de votre demande. Si une seule politique d'autorisation inclut une action refusée, AWS refuse l'ensemble de la demande et arrête l'évaluation. Ceci est appelé un refus explicite. Étant donnée que les demandes sont refusées par défaut, AWS autorise votre demande uniquement si chacune de ses parties est autorisée par les politiques d'autorisation applicables. La logique d'évaluation pour une demande au sein d'un même compte utilise les règles suivantes :

  • Par défaut, toutes les demandes sont refusées. (En général, les demandes effectuées à l'aide des informations d'identification du Utilisateur racine d'un compte AWS pour les ressources de ce compte sont toujours autorisées.)

  • Une autorisation explicite dans une politique d'autorisations (basée sur l'identité ou les ressources) remplace cette valeur par défaut.

  • L'existence d'une politique de contrôle de service Organisations, de limites d'autorisations IAM ou d'une politique de session remplace l'autorisation. S'il existe une ou plusieurs de ces sortes de politiques, elles doivent toutes autoriser la demande. Sinon, elle est refusée implicitement.

  • Un refus explicite dans n'importe quelle politique remplace toutes les autorisations.

Pour en savoir plus sur la façon dont tous les types de politiques sont évalués, veuillez consulter Logique d'évaluation de politiques. Si vous avez besoin d'effectuer une demande dans un autre compte, une politique dans l'autre compte doit vous autoriser à accéder à la ressource et l'entité IAM que vous utilisez pour effectuer la demande doit avoir une politique basée sur une identité qui autorise la demande.

Actions ou opérations

Une fois votre demande authentifiée et autorisée, AWS en approuve les actions ou opérations. Les opérations sont définies par un service et incluent les actions que vous pouvez exécuter sur une ressource, comme son affichage, sa création, sa modification et sa suppression. Par exemple, IAM prend en charge environ 40 actions pour une ressource utilisateur, y compris les suivantes :

  • CreateUser

  • DeleteUser

  • GetUser

  • UpdateUser

Pour autoriser un principal à exécuter une opération, vous devez inclure les actions nécessaires dans une politique qui s'applique au principal ou à la ressource affectée. Pour afficher la liste des actions, types de ressources et clés de condition pris en charge par chaque service, veuillez consulter Actions, ressources et clés de condition pour les services AWS.

Ressources

Une fois qu'AWS a approuvé les opérations dans votre demande, ces dernières peuvent être exécutées sur les ressources connexes au sein de votre compte. Une ressource est une objet existant au sein d'un service. Il peut s'agir, par exemple, d'une instance Amazon EC2, d'un utilisateur IAM et d'un compartiment Amazon S3. Le service définit un ensemble d'actions pouvant être effectuées sur chaque ressource. Si vous créez une requête pour effectuer une action non connexe sur une ressource, cette requête est rejetée. Par exemple, si vous demandez la suppression d'un rôle IAM mais fournissez une ressource de groupe IAM, la requête échoue. Pour voir les tables de services AWS qui identifient les ressources affectées par une action, veuillez consulter Actions, ressources et clés de condition pour les services AWS.