IAM API v2 policy wildcard * sur les identités et ambiguïté sur la documentation
... / IAM API v2 policy wildcar...
BMPCreated with Sketch.BMPZIPCreated with Sketch.ZIPXLSCreated with Sketch.XLSTXTCreated with Sketch.TXTPPTCreated with Sketch.PPTPNGCreated with Sketch.PNGPDFCreated with Sketch.PDFJPGCreated with Sketch.JPGGIFCreated with Sketch.GIFDOCCreated with Sketch.DOC Error Created with Sketch.
Question

IAM API v2 policy wildcard * sur les identités et ambiguïté sur la documentation

by
cbouvier
Created on 2025-09-26 06:32:01 in Gestion des identités et des accès (IAM)

Bonjour,

j'ai créé un service account en utilisant l'API en respectant la documentation trouvé:
https://help.ovhcloud.com/csm/en-manage-service-account?id=kb_article_view&sysparm_article=KB0059343

Pour l'exemple, disons que ce service account a une URN de ce type sur le compte XXXXXXXXX-ovh:
urn:v1:eu:identity:credential:XXXXXXXXX-ovh/oauth2-EU.XXXX

J'ai crée une politique IAM de ce type pensant inclure tous les services accounts:

{
  "name": "ServiceAccountBase",
  "description": "Elementary introspection for service account",
  "identities": [
    "urn:v1:eu:identity:credential:XXXXXXXXX-ovh/oauth2-*"
  ],
  "permissions" : {
    "allow": [{"action": "account:apiovh:me/get"}]
  },
  "resources": [
    {"urn": "urn:v1:eu:resource:account:XXXXXXXXX-ovh"}
  ]
}


Si j'utilise le service account dans un basique script terraform

terraform {
  required_version = "~> 1.9.0"

  required_providers {
    ovh = {
      source  = "ovh/ovh"
      version = "~> 2.8.0"
    }
  }
}

data "ovh_me" "ovh_account" {}


J'obtiens une erreur d'autorisation sur account:apiovh:me/get.

 Error: Unable to retrieve /me information:
│ 	 "OVHcloud API error (status code 403): Client::Forbidden: \"User not granted for this request (missing IAM permissions: account:apiovh:me/get)\" (X-OVH-Query-Id: EU.ext-[...])"

L'erreur signifie que la politique ne s'applique pas.

Cependant la documentation mentionne dans https://help.ovhcloud.com/csm/en-gb-customer-iam-policies-api?id=kb_article_view&sysparm_article=KB0056801:
"The URNs and actions can end with a * wildcard character. This allows referring to multiple resources, identities or actions in a single line."

Si je change le champ identities de la politique IAM pour inclure complètement l'urn du service account, ça fonctionne.

Il y a quelques documentations mentionnant l'emploi du wilcard * dans les urns mais il semble que ça ne fonctionne pas dans le cas des identitées.

Est-ce sensé fonctionner avec le champ identities dans une politique IAM?

Merci d'avance.


1 Reply ( Latest reply on 2025-10-15 09:25:49 by
cbouvier
)

Bonjour @cbouvier 

Vous avez raison, il existe effectivement une ambiguïté dans la documentation : les wildcards ne sont pas prises en charge pour les identités.
Pour ce type de cas d’usage, nous recommandons plutôt de recourir à des groupes d’utilisateurs.

La documentation sera prochainement mise à jour afin de clarifier ce point.

Toutes nos excuses pour la gêne occasionnée.

^FabL

Bonjour @^FabL ,

Pas de souci et merci de la réponse.

J'ai effectivement changé d'approche (je rajoute explicitement tous mes services accounts).

> Pour ce type de cas d’usage, nous recommandons plutôt de recourir à des groupes d’utilisateurs.

Est-ce possible de rajouter des service accounts dans des groupes ?
Quand je regarde l'API, il semble seulement possible de le faire avec des utilisateurs.