Associer un groupe externe à un rôle
POST /v1/connections/{connection_id}/role-mappings · autorisation connections:write
Associe une valeur de groupe envoyée par le fournisseur d'identité (external_group_key, comparée exactement) à un rôle ; à la connexion, l'adhésion reçoit le rôle avec la source idp_mapping. Pour une connexion d'organisation, le rôle doit être un rôle d'environnement ou un rôle de cette organisation. Une association à un rôle privilégié exige en plus roles:write, et la correspondance est créée approuvée. Au plus 500 correspondances par connexion. L'écriture est auditée sous role_mapping.created ; la valeur de groupe n'est pas écrite dans le journal d'audit.
Requête
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
connection_id |
path | oui | Identifiant de la connexion d'entreprise (conn_…). |
external_group_key |
string | oui | Valeur de groupe du fournisseur d'identité, jusqu'à 1024 caractères, sans caractères de contrôle. |
role_id |
string | oui | Identifiant du rôle (rol_…). |
Réponse
201 Created avec la correspondance.
{
"id": "rmp_01j9xw0x4y5z9a1b3c5d7e9f1h",
"connection_id": "conn_01j9xp6q0r1s5t7v9w1x3y5z7b",
"organization_id": "org_01j9xk3m7q8r2s4t6v8w0y2z4a",
"external_group_key": "cn=engineering,ou=groups,dc=example,dc=com",
"role_id": "rol_01j9xr7s1t2w6x8y0z2a4b6c8e",
"role_privileged": false,
"approved_at": null,
"created_at": "2026-10-12T09:31:00.123456Z"
}
Erreurs
| HTTP | code | Quand |
|---|---|---|
| 404 | not_found |
La connexion n'existe pas dans cet environnement ou n'est pas une connexion d'entreprise. |
| 403 | privileged_role_mapping_forbidden |
Le rôle est privilégié et le justificatif ne dispose pas de roles:write. |
| 409 | conflict |
La valeur de groupe est déjà associée sur cette connexion. |
| 409 | role_mapping_limit_reached |
La connexion compte déjà 500 correspondances. |
| 422 | validation_failed |
external_group_key ou role_id est absent ou invalide, ou le rôle est hors du périmètre de la connexion. |
| 401 | unauthenticated |
Le justificatif est absent, invalide ou révoqué. |
| 403 | insufficient_permissions |
Le justificatif ne dispose pas de l'autorisation requise. |
| 429 | rate_limited |
La limite de débit a été dépassée ; réessayez après la durée indiquée par Retry-After. |
| 503 | service_unavailable |
Une dépendance est temporairement indisponible ; réessayez après la durée indiquée par Retry-After. |
Exemple
curl -i -X POST "https://api.eu.keenauth.com/v1/connections/conn_01j9xp6q0r1s5t7v9w1x3y5z7b/role-mappings" \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"external_group_key":"cn=engineering,ou=groups,dc=example,dc=com","role_id":"rol_01j9xr7s1t2w6x8y0z2a4b6c8e"}'