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

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.

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.