doc-locale/fr-fr/api/saml.md
{{< details >}}
{{< /details >}}
{{< history >}}
{{< /history >}}
Utilisez cette API pour interagir avec les fonctionnalités SAML.
GET /groups/:id/saml/identities
Liste toutes les identités SAML d'un groupe.
Attributs pris en charge :
| Attribut | Type | Obligatoire | Description |
|---|---|---|---|
id | entier ou chaîne | oui | L'ID ou le chemin encodé URL du groupe |
En cas de succès, renvoie 200 et les attributs de réponse suivants :
| Attribut | Type | Description |
|---|---|---|
extern_uid | string | UID externe de l'utilisateur |
user_id | string | Identifiant de l'utilisateur |
Exemple de requête :
curl --location --request GET \
--header "PRIVATE-TOKEN: <PRIVATE-TOKEN>" \
--url "https://gitlab.com/api/v4/groups/33/saml/identities"
Exemple de réponse :
[
{
"extern_uid": "yrnZW46BrtBFqM7xDzE7dddd",
"user_id": 48
}
]
{{< history >}}
{{< /history >}}
Récupère une identité SAML unique.
GET /groups/:id/saml/:uid
Attributs pris en charge :
| Attribut | Type | Obligatoire | Description |
|---|---|---|---|
id | entier ou chaîne | oui | L'ID ou le chemin encodé URL du groupe |
uid | string | oui | UID externe de l'utilisateur. |
Exemple de requête :
curl --location --request GET \
--header "PRIVATE-TOKEN: <PRIVATE TOKEN>" \
--url "https://gitlab.com/api/v4/groups/33/saml/yrnZW46BrtBFqM7xDzE7dddd"
Exemple de réponse :
{
"extern_uid": "yrnZW46BrtBFqM7xDzE7dddd",
"user_id": 48
}
extern_uid pour une identité SAML {#update-extern_uid-field-for-a-saml-identity}Met à jour le champ extern_uid pour une identité SAML :
| Attribut du fournisseur d'identité SAML | Champ GitLab |
|---|---|
id/externalId | extern_uid |
PATCH /groups/:id/saml/:uid
Attributs pris en charge :
| Attribut | Type | Obligatoire | Description |
|---|---|---|---|
id | entier ou chaîne | oui | L'ID ou le chemin encodé URL du groupe |
uid | string | oui | UID externe de l'utilisateur. |
Exemple de requête :
curl --request PATCH \
--location \
--header "PRIVATE-TOKEN: <PRIVATE TOKEN>" \
--url "https://gitlab.com/api/v4/groups/33/saml/yrnZW46BrtBFqM7xDzE7dddd" \
--form "extern_uid=be20d8dcc028677c931e04f387"
{{< history >}}
{{< /history >}}
DELETE /groups/:id/saml/:uid
Attributs pris en charge :
| Attribut | Type | Obligatoire | Description |
|---|---|---|---|
id | entier | oui | L'identifiant ou le chemin encodé en URL du groupe. |
uid | string | oui | UID externe de l'utilisateur. |
Exemple de requête :
curl --request DELETE \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.com/api/v4/groups/33/saml/be20d8dcc028677c931e04f387"
Exemple de réponse :
{
"message" : "204 No Content"
}
Utilise l'API Users pour obtenir une identité SAML unique.
extern_uid pour une identité SAML {#update-extern_uid-field-for-a-saml-identity-1}Utilise l'API Users pour mettre à jour le champ extern_uid d'un utilisateur.
Utilise l'API Users pour supprimer une identité unique d'un utilisateur.
{{< history >}}
access_level a été modifié de string à integer dans GitLab 15.3.3.member_role_id a été introduit dans GitLab 16.7 avec un indicateur nommé custom_roles_for_saml_group_links. Désactivé par défaut.member_role_id est généralement disponible dans GitLab 16.8. L'indicateur de fonctionnalité custom_roles_for_saml_group_links a été supprimé.provider a été introduit dans GitLab 18.2.{{< /history >}}
Listez, récupérez, ajoutez et supprimez des liens de groupe SAML en utilisant l'API REST.
Liste tous les liens de groupe SAML pour un groupe.
GET /groups/:id/saml_group_links
Attributs pris en charge :
| Attribut | Type | Obligatoire | Description |
|---|---|---|---|
id | entier ou chaîne | oui | ID ou chemin encodé en URL du groupe. |
En cas de succès, renvoie 200 et les attributs de réponse suivants :
| Attribut | Type | Description |
|---|---|---|
[].name | string | Nom du groupe SAML. |
[].access_level | entier | Le niveau d'accès par défaut pour les membres du groupe SAML. Valeurs possibles : 0 (Aucun accès), 5 (Accès minimum), 10 (Invité), 15 (Planificateur), 20 (Rapporteur), 25 (Responsable sécurité), 30 (Développeur), 40 (Mainteneur), ou 50 (Propriétaire). |
[].member_role_id | entier | ID de rôle membre (member_role_id) pour les membres du groupe SAML. |
[].provider | string | Nom du fournisseur unique qui doit correspondre pour que ce lien de groupe soit appliqué. |
Exemple de requête :
curl \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/1/saml_group_links"
Exemple de réponse :
[
{
"name": "saml-group-1",
"access_level": 10,
"member_role_id": 12,
"provider": null
},
{
"name": "saml-group-2",
"access_level": 40,
"member_role_id": 99,
"provider": "saml_provider_1"
}
]
Récupère un lien de groupe SAML pour un groupe.
GET /groups/:id/saml_group_links/:saml_group_name
Attributs pris en charge :
| Attribut | Type | Obligatoire | Description |
|---|---|---|---|
id | entier ou chaîne | oui | ID ou chemin encodé en URL du groupe. |
saml_group_name | string | oui | Nom du groupe SAML. |
provider | string | non | Nom du fournisseur unique pour lever l'ambiguïté lorsque plusieurs liens existent avec le même nom. Requis lorsque plusieurs liens existent avec le même saml_group_name. |
En cas de succès, renvoie 200 et les attributs de réponse suivants :
| Attribut | Type | Description |
|---|---|---|
name | string | Nom du groupe SAML. |
access_level | entier | Le niveau d'accès par défaut pour les membres du groupe SAML. Valeurs possibles : 0 (Aucun accès), 5 (Accès minimum), 10 (Invité), 15 (Planificateur), 20 (Rapporteur), 25 (Responsable sécurité), 30 (Développeur), 40 (Mainteneur), ou 50 (Propriétaire). |
member_role_id | entier | ID de rôle membre (member_role_id) pour les membres du groupe SAML. |
provider | string | Nom du fournisseur unique qui doit correspondre pour que ce lien de groupe soit appliqué. |
Si plusieurs liens de groupe SAML existent avec le même nom mais des fournisseurs différents, et qu'aucun paramètre provider n'est spécifié, renvoie 422 avec un message d'erreur indiquant que le paramètre provider est requis pour lever l'ambiguïté.
Exemple de requête :
curl \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/1/saml_group_links/saml-group-1"
Exemple de requête avec le paramètre provider :
curl \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/1/saml_group_links/saml-group-1?provider=saml_provider_1"
Exemple de réponse :
{
"name": "saml-group-1",
"access_level": 10,
"member_role_id": 12,
"provider": "saml_provider_1"
}
Ajoute un lien de groupe SAML pour un groupe.
POST /groups/:id/saml_group_links
Attributs pris en charge :
| Attribut | Type | Obligatoire | Description |
|---|---|---|---|
id | entier ou chaîne | oui | ID ou chemin encodé en URL du groupe. |
saml_group_name | string | oui | Nom du groupe SAML. |
access_level | entier | oui | Le niveau d'accès par défaut pour les membres du groupe SAML. Valeurs possibles : 0 (Aucun accès), 5 (Accès minimum), 10 (Invité), 15 (Planificateur), 20 (Rapporteur), 25 (Responsable sécurité), 30 (Développeur), 40 (Mainteneur), ou 50 (Propriétaire). |
member_role_id | entier | non | ID de rôle membre (member_role_id) pour les membres du groupe SAML. |
provider | string | non | Nom du fournisseur unique qui doit correspondre pour que ce lien de groupe soit appliqué. |
En cas de succès, renvoie 201 et les attributs de réponse suivants :
| Attribut | Type | Description |
|---|---|---|
name | string | Nom du groupe SAML. |
access_level | entier | Le niveau d'accès par défaut pour les membres du groupe SAML. Valeurs possibles : 0 (Aucun accès), 5 (Accès minimum), 10 (Invité), 15 (Planificateur), 20 (Rapporteur), 25 (Responsable sécurité), 30 (Développeur), 40 (Mainteneur), ou 50 (Propriétaire). |
member_role_id | entier | ID de rôle membre (member_role_id) pour les membres du groupe SAML. |
provider | string | Nom du fournisseur unique qui doit correspondre pour que ce lien de groupe soit appliqué. |
Exemple de requête :
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" --data '{ "saml_group_name": "<your_saml_group_name`>", "access_level": <chosen_access_level>, "member_role_id": <chosen_member_role_id>, "provider": "<your_provider>" }' --url "https://gitlab.example.com/api/v4/groups/1/saml_group_links"
Exemple de réponse :
{
"name": "saml-group-1",
"access_level": 10,
"member_role_id": 12,
"provider": "saml_provider_1"
}
Supprime un lien de groupe SAML pour un groupe.
DELETE /groups/:id/saml_group_links/:saml_group_name
Attributs pris en charge :
| Attribut | Type | Obligatoire | Description |
|---|---|---|---|
id | entier ou chaîne | oui | ID ou chemin encodé en URL du groupe. |
saml_group_name | string | oui | Nom du groupe SAML. |
provider | string | non | Nom du fournisseur unique pour lever l'ambiguïté lorsque plusieurs liens existent avec le même nom. Requis lorsque plusieurs liens existent avec le même saml_group_name. |
Exemple de requête :
curl --request DELETE \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/1/saml_group_links/saml-group-1"
Exemple de requête avec le paramètre provider :
curl --request DELETE \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/1/saml_group_links/saml-group-1?provider=saml_provider_1"
En cas de succès, renvoie le code de statut 204 sans corps de réponse.
Si plusieurs liens de groupe SAML existent avec le même nom mais des fournisseurs différents, et qu'aucun paramètre provider n'est spécifié, renvoie 422 avec un message d'erreur indiquant que le paramètre provider est requis pour lever l'ambiguïté.