IAM FAQ

Q : Qu'est-ce qu'AWS Identity and Access Management (IAM) ? AWS IAM vous permet de contrôler de façon sécurisée l'accès aux ressources AWS pour vos utilisateurs et groupes d'utilisateurs. Vous pouvez créer et gérer des identités d'utilisateurs (« utilisateurs IAM ») et leur accorder des autorisations d'accès à vos ressources. Vous pouvez également octroyer des autorisations à des utilisateurs en dehors d'AWS (utilisateurs fédérés).

IAM roles vs IAM policies

Stratégies et autorisations

policies = stratégies

  • Une stratégie est un objet dans AWS qui, lorsqu'il est associé à une identité ou à une ressource, définit les autorisations de ces dernières.
  • Chez AWS, les stratégies sont stockées comme document JSON attachés à une identité IAM (user, group of users, or role).

AWS prend en charge six types de stratégies :

  • Stratégies basées sur l'identité Attachez des stratégies gérées et en ligne à des identités IAM (utilisateurs, groupes auxquels appartiennent des utilisateurs ou rôles). Les stratégies basées sur l'identité accordent des autorisations à une identité.
  • Stratégies basées sur les ressources Attachez des stratégies en ligne aux ressources. Les exemples les plus courants de stratégies basées sur les ressources sont les stratégies de compartiment Amazon S3 et les stratégies d'approbation de rôle IAM. Les stratégies basées sur des ressources accordent des autorisations au mandataire qui est spécifié dans la stratégie. Les mandataires peuvent être dans le même compte que la ressource ou dans d'autres comptes.
  • les limites d'autorisations Utilisez une stratégie gérée en tant que limite d'autorisations pour une entité IAM (utilisateur ou rôle). Cette stratégie définit les autorisations maximales que les stratégies basées sur une identité peuvent accorder à une entité, mais n'accorde pas d'autorisations. Les limites d'autorisations ne définissent pas les autorisations maximales qu'une stratégie basée sur les ressources peut accorder à une entité.
  • les stratégies de contrôle de service Organisations,
  • les ACL
  • et les stratégies de session

Différence entre les rôles IAM et les stratégies basées sur les ressources

Contrairement à une stratégie basée sur l'identité, une stratégie basée sur une ressource spécifie qui (quel mandataire) peut accéder à cette ressource.

Rôles IAM

Un rôle IAM est à la fois une identité et une ressource qui prend en charge les stratégies basées sur les ressources. C'est pour cette raison que vous devez associer une stratégie d'approbation et une stratégie basée sur une identité à un rôle IAM.

Un rôle IAM est une identité IAM que vous pouvez créer dans votre compte et qui dispose d'autorisations spécifiques. Un rôle IAM est similaire à un utilisateur IAM, car il s'agit d'une identité AWS avec des stratégies d'autorisation qui déterminent ce que l'identité peut et ne peut pas faire dans AWS. En revanche, au lieu d’être associé de manière unique à une personne, un rôle est conçu pour être assumé par tout utilisateur qui en a besoin. En outre, un rôle ne dispose pas d'informations d'identification standard à long-terme comme un mot de passe ou des clés d'accès associées. Au lieu de cela, lorsque vous adoptez un rôle, il vous fournit des informations d'identification de sécurité temporaires pour votre session de rôle.

Vous pouvez utiliser des rôles pour déléguer l'accès à des utilisateurs, des applications ou des services qui n'ont normalement pas accès à vos ressources AWS. Par exemple, vous pouvez accorder aux utilisateurs de votre compte AWS l'accès à des ressources dont ils ne disposent généralement pas, ou accorder aux utilisateurs d'un compte AWS l'accès aux ressources d'un autre compte. Il est également possible d'autoriser une application mobile à utiliser des ressources AWS, mais sans pour autant intégrer de clés AWS dans l'application (où leur rotation peut être difficile et d'où les utilisateurs peuvent éventuellement les extraire). Dans certains cas, vous pouvez vouloir accorder l'accès à AWS à des utilisateurs qui ont déjà des identités définies en dehors d'AWS, par exemple dans votre annuaire d'entreprise. Ou, vous pouvez accorder l'accès à votre compte à des tiers afin de leur permettre de réaliser un audit de vos ressources.

Q : Qu'est-ce qu'un rôle IAM ? Un rôle est une entité IAM qui définit un ensemble d'autorisations permettant de demander des services AWS. Les rôles IAM ne sont associés à aucun groupe ou utilisateur spécifique. Ces rôles sont endossés par des entités de confiance, telles que des utilisateurs IAM, des applications ou des services AWS tels qu'EC2.

Q : Comment endosser un rôle IAM ? Pour endosser un rôle IAM, vous devez appeler les API AssumeRole d'AWS Security Token Service (STS) (c'est-à-dire, AssumeRole, AssumeRoleWithWebIdentity et AssumeRoleWithSAML). Ces API retournent un ensemble d'informations d'identification de sécurité temporaires que vous pouvez utiliser pour signer des demandes aux API du service AWS.

Q : Qu'est-ce qu'un rôle lié à un service ? Un rôle lié à un service est un type de rôle qui est lié à un service AWS (appelé service lié), de telle sorte que seul le service lié peut endosser ce rôle. Avec ces rôles, vous pouvez déléguer des autorisations à des services AWS afin qu'ils créent et gèrent des ressources AWS pour vous.

creation of policy

Création de stratégies dans l'onglet JSON

IAM user vs IAM role

IAM user or IAM role = principal

IAM user

Qu'est-ce qu'un utilisateur ? Un utilisateur est une identité unique reconnue par les services et les applications AWS. Semblable à un identifiant de connexion dans un système d'exploitation comme Windows ou UNIX, un utilisateur possède un nom unique et peut s'identifier à l'aide d'informations d'identification de sécurité courantes, comme le mot de passe ou une clé d'accès. Un utilisateur peut être un individu, un système ou une application ayant besoin d'accéder aux services AWS. IAM prend en charge les utilisateurs gérés dans le système de gestion des identités d'AWS (appelés « utilisateurs IAM »), et vous permet aussi d'accorder l'accès aux ressources AWS aux utilisateurs gérés en dehors d'AWS dans votre répertoire général (appelés « utilisateurs fédérés »).

Comment sont gérés les utilisateurs IAM ? IAM prend en charge plusieurs méthodes pour :

  • créer et gérer des utilisateurs IAM ;
  • créer et gérer des groupes IAM ;
  • gérer des informations d'identification de sécurité des utilisateurs ;
  • créer et gérer des stratégies pour accorder l'accès à des services et ressources AWS.

Différences

Quelle est la différence entre un rôle IAM et un utilisateur IAM ? Un utilisateur IAM dispose d'informations d'identification à long terme et peut interagir directement avec les services AWS. Un rôle IAM ne dispose pas d'informations d'identification et ne peut pas envoyer directement de requêtes aux services AWS. Les rôles IAM sont normalement "endossés" par des entités autorisées, telles que des utilisateurs IAM, des applications ou un service AWS tel qu'EC2.

Quand faire appel à un utilisateur IAM, un groupe IAM ou un rôle IAM ? Un utilisateur IAM dispose d'informations d'identification à long terme et peut interagir directement avec les services AWS. Un groupe IAM est principalement un outil pratique permettant de gérer le même jeu d'autorisations pour un ensemble d'utilisateurs IAM. Un rôle IAM est une entité AWS Identity and Access Management (IAM) disposant d'autorisations permettant d'envoyer des requêtes aux services AWS. Les rôles IAM ne peuvent pas envoyer directement des requêtes aux services AWS. Ils sont normalement "endossés" par des entités autorisées telles que les utilisateurs IAM, les applications ou les services AWS tels qu'EC2. Utilisez les rôles IAM pour déléguer l'accès au sein ou entre les comptes AWS.

KMS policy

KMS (ressource propre) != IAM

Attributes :

  • arn = identifiant global pour AWS

    • structure = arn:nomservice:nomcompte:region:id_key
  • id_key = identifiant local pour notre structure cloud

Ressources

Création de stratégies de rôle IAM (console)

Console AWS

Vous pouvez créer une stratégie gérée par le client dans AWS Management Console à l'aide de l'une des méthodes suivantes :

  • JSON Coller et personnaliser un exemple de stratégie basée sur l'identité publié.
  • Éditeur visuel Construire intégralement une nouvelle stratégie dans l'éditeur visuel. Si vous utilisez l'éditeur visuel, vous n'avez pas besoin de comprendre la syntaxe JSON.
  • Importation Importer et personnaliser une stratégie gérée depuis votre compte. Vous pouvez importer une stratégie gérée par AWS ou une stratégie gérée par le client que vous avez créée précédemment.

Dans la partie "IAM" > "Policies" : simulation de la création d'une nouvelle policy car AWS fournit une interface :

  • où tu peux spécifier pour quel service tu es en train de définir une policy
  • et qui te propose la liste des différentes actions ainsi que des liens directement vers la documentation;
  • tu peux ensuite visualiser la représentation JSON de ladite policy.

Présentation des stratégies de clé

Un document de stratégie de clé ne doit pas comporter plus de 32 Ko (32 768 octets). Les documents de stratégie de clé partagent une syntaxe JSON commune avec les autres stratégies d'autorisation dans AWS ; ils ont la structure de base suivante :

{
  "Version": "2012-10-17",
  "Statement": [{
    "Sid": "statement identifier",
    "Effect": "effect",
    "Principal": "principal",
    "Action": "action",
    "Resource": "resource",
    "Condition": {"condition operator": {"condition context key": "context key value"}}
  }]
}

Un document de stratégie de clé doit avoir un élément Version. Nous vous recommandons de définir la version sur 2012-10-17 (la dernière version). En outre, un document de stratégie de clé doit avoir une ou plusieurs instructions, et chaque instruction peut comprendre jusqu'à six éléments :

  • SID – (facultatif) Le SID est un identifiant de déclaration, une chaîne arbitraire que vous pouvez utiliser pour identifier la déclaration.
  • Effet – (requis) L'effet spécifie s'il convient d'accorder ou de refuser les autorisations figurant dans la déclaration de stratégie. L'effet doit être Allow ou Deny. Si vous n'autorisez pas explicitement l'accès à une clé CMK, l'accès est implicitement refusé. Vous pouvez explicitement refuser l'accès à une clé CMK. Vous pouvez le faire afin de vous assurer qu'un utilisateur n'y a pas accès, même si une stratégie autorise l'accès.
  • Mandataire – (obligatoire) Le mandataire est l'identité qui obtient les autorisations figurant dans la déclaration de stratégie. Vous pouvez spécifier des comptes AWS (racine), des utilisateurs IAM, des rôles IAM et certains services AWS en tant que mandataires dans une stratégie de clé. Les groupes IAM ne sont pas des mandataires valides.

    • Note : Ne définissez pas le mandataire sur un astérisque (*) dans une déclaration de stratégie de clé accordant des autorisations.
  • Action – (requis) Les actions spécifient les opérations d'API à autoriser ou refuser. Par exemple, l'action kms:Encrypt correspond à l'opération AWS KMS Chiffrer. Vous pouvez répertorier plusieurs actions dans une instruction de stratégie. Pour plus d'informations, consultez Référence des autorisations d'API AWS KMS.
  • Ressource – (obligatoire) Dans une stratégie de clé, vous utilisez "*" pour la ressource, ce qui signifie « cette clé CMK ». Une stratégie de clé s'applique uniquement à la clé CMK à laquelle elle est attachée.
  • Condition – (facultatif) Les conditions spécifient les exigences qui doivent être satisfaites pour qu'une stratégie de clé prenne effet. Les conditions permettent à AWS d'évaluer le contexte d'une demande d'API afin de déterminer si la déclaration de stratégie s'applique ou non. Pour plus d'informations, consultez Utilisation des conditions de stratégie.

Informations d'identification Utilisateur racine d'un compte AWS par rapport aux informations d'identification utilisateur IAM

Logique d'évaluation des stratégies


Ce site est propulsé par:

  • unofficial javascript logo
  • react atom logo
  • gatsbyjs logo
  • markdown logo

©2020 - SDLDonfred Digital