Éléments des politiques EIM

Cette page liste les différents éléments que vous pouvez utiliser dans les documents de politiques EIM.

Les politiques EIM sont sensibles à la casse. Tous les éléments doivent commencer par une lettre majuscule.

Éléments

Statement

Description Exemples

L’élément principal, requis dans tout attribut policy-document.

Il y a un élément Statement par document de politique qui contient une collection d’une ou plusieurs déclarations individuelles, correspondant à des blocs JSON encadrés par des accolades et qui contiennent au moins les éléments suivants :

  • Action ou NotAction

  • Effect

  • Resource

L’ordre de ces éléments au sein de la déclaration individuelle n’est pas important.

{
  "Statement": [
    {
      "Action": ["..."],
      "Effect": "...",
      "Resource": ["*"]
    },
    {
      "Sid": "...",
      "Action": ["..."],
      "Effect": "...",
      "Resource": ["*"]
    }
  ]
}

Sid

Description Exemples

Le statement ID (Sid) est un ID optionnel que vous pouvez ajouter à des déclarations individuelles. Il vous permet de leur donner un nom suivant vos besoins, mais n’est pas utilisé par EIM pour les identifier.

"Sid": "Admin1"

Action

Description Exemples

Spécifie une ou plusieurs actions autorisées ou interdites. Chaque déclaration individuelle requiert soit l’élément Action, soit l’élément NotAction.

Pour spécifier une action, vous devez spécifier le service suivi de deux-points, et utiliser le nom de la méthode API (par exemple DescribeInstances). Pour en savoir plus, voir À propos des API.

Vous devez utiliser un des codes suivants :

  • Pour l’API OUTSCALE : api

  • Pour Flexible Compute Unit (FCU) : ec2

  • Pour Load Balancing Unit (LBU) : elasticloadbalancing

  • Pour Elastic Identity Management (EIM) : iam

  • Pour DirectLink : directconnect

  • Pour tous les services ci-dessus : *

EIM n’est pas compatible avec les services Internal Call Unit (ICU) et OUTSCALE Object Storage (OOS).

Cet élément est une collection qui contient une ou plusieurs actions, encadrées par des guillemets et séparées par des virgules.

Vous pouvez utiliser un astérisque (*) pour remplacer une partie des noms d’actions et ainsi spécifier plusieurs actions en même temps. Vous pouvez par exemple spécifier toutes les actions dans tous les services ou toutes les actions dans un service spécifique. Vous pouvez également utiliser un astérisque pour spécifier toutes les actions en lien avec un même type d’objet.

Élément Action spécifiant deux actions :

"Action": ["ec2:DescribeInstances", "ec2:RunInstances"]

Élément Action spécifiant toutes les actions dans tous les services :

"Action": ["*"]

Élément Action spécifiant toutes les actions dans EIM :

"Action": ["iam:*"]

Élément Action spécifiant toutes les actions en lien avec les volumes, c’est-à-dire les actions contenant la chaine de caractères Volume (AttachVolume, CreateVolume, DeleteVolumes, DescribeVolumes, DeleteVolume) :

"Action": ["ec2:*Volume*"]

NotAction

Description Exemples

Spécifie une ou plusieurs exceptions à une liste d’actions. Chaque déclaration individuelle requiert soit l’élément Action, soit l’élément NotAction.

Le format de cet élément est le même que celui de l’élément Action.

Vous pouvez utiliser cet élément pour créer des déclarations plus courtes plutôt que de spécifier une longue liste d’actions dans l’élément Action. Vous pouvez par exemple autoriser toutes les actions à l’aide l’élément Action, à l’exception d’une ou plusieurs actions que vous spécifiez dans l’élément NotAction. Étant donné que vous devez explicitement autoriser des actions, spécifier uniquement des actions dans l’élément NotAction avec un élément Effect en allow n’autorise pas l’ensemble des autres actions.

Élément NotAction excluant l’action DescribeInstances des autorisations :

"NotAction": ["ec2:DescribeInstances"]
  • Si cet élément est associé à "Effect": "Deny" et "Action": ["*"], toutes les autres actions que DescribeInstances sont explicitement interdites.

  • Si cet élément est associé à "Effect": "Allow" et "Action": ["*"], toutes les actions sont autorisées sauf DescribeInstances.

Effect

Description Exemples

Spécifie si la déclaration autorise (Allow) ou interdit des actions (Deny).

Par défaut, l’accès aux ressources est interdit jusqu’à ce qu’il soit explicitement autorisé dans une déclaration d’une politique. Pour autoriser les utilisateurs à accéder à vos ressources, vous devez paramétrer l’élément Effect sur Allow. Paramétrer l’élément Effect sur Deny outrepasse toute autorisation qui peut être donnée dans une autre déclaration.

"Effect": "Allow"

Resource

Description Exemples

Spécifie les ressources concernées par la déclaration. Cet élément est requis dans chaque déclaration.

Seule la valeur * est supportée, ce qui signifie toutes les ressources.

"Resource": ["*"]

Différence entre interdiction par défaut et interdiction explicite

Lorsqu’un utilisateur envoie une requête, EIM évalue cette requête en fonction des politiques incluses ou gérées applicables.

Si vous n’avez pas explicitement autorisé l’action contenue dans la requête à cet utilisateur dans une déclaration de politique, l’action est interdite. Il s’agit de l’interdiction par défaut (default deny). Cependant, si vous avez explicitement interdit l’action à cet utilisateur dans une déclaration de politique, cette action est interdite même si une autre déclaration de politique l’autorise. Il s’agit de l’interdiction explicite (explicit deny).

En d’autres termes, une autorisation outrepasse une interdiction par défaut, alors qu’une interdiction explicite outrepasse toute autorisation et ne peut être outrepassée.

Le schéma suivant montre le processus pour déterminer si l’action contenue dans la requête est autorisée ou interdite :

Logique d’évaluation des politiques EIM

FR sch EIM PolicyEvaluation

Pages connexes