doc-locale/fr-fr/administration/dedicated/configure_instance/authentication/openid_connect.md
{{< details >}}
{{< /details >}}
Configurez l'authentification unique (SSO) OpenID Connect (OIDC) pour votre instance GitLab Dedicated afin d'authentifier les utilisateurs auprès de votre fournisseur d'identité.
Utilisez le SSO OIDC lorsque vous souhaitez :
[!note] Cette configuration concerne l'OIDC pour les utilisateurs finaux de votre instance GitLab Dedicated. Pour configurer le SSO pour les administrateurs Switchboard, consultez configurer le SSO Switchboard.
Prérequis :
Pour configurer l'OIDC pour votre instance GitLab Dedicated :
Dans votre ticket d'assistance, fournissez la configuration suivante :
{
"label": "Login with OIDC",
"issuer": "https://accounts.example.com",
"discovery": true
}
Fournissez votre identifiant client et votre secret client de manière sécurisée en utilisant un lien temporaire vers un gestionnaire de secrets auquel l'équipe d'assistance peut accéder.
Si votre fournisseur d'identité ne prend pas en charge la découverte automatique, incluez les options du point de terminaison client. Par exemple :
{
"label": "Login with OIDC",
"issuer": "https://example.com/accounts",
"discovery": false,
"client_options": {
"end_session_endpoint": "https://example.com/logout",
"authorization_endpoint": "https://example.com/authorize",
"token_endpoint": "https://example.com/token",
"userinfo_endpoint": "https://example.com/userinfo",
"jwks_uri": "https://example.com/jwks"
}
}
Une fois que GitLab a configuré l'OIDC pour votre instance :
Vous pouvez configurer GitLab pour attribuer des rôles et des accès aux utilisateurs en fonction de leur appartenance aux groupes OIDC.
Prérequis :
ID token ou userinfo.Pour configurer les utilisateurs en fonction de l'appartenance aux groupes OIDC :
Ajoutez le paramètre groups_attribute pour spécifier où GitLab doit rechercher les informations de groupe.
Configurez les tableaux de groupes appropriés selon vos besoins.
Dans votre ticket d'assistance, incluez la configuration de groupe dans votre bloc OIDC. Par exemple :
{
"label": "Login with OIDC",
"issuer": "https://accounts.example.com",
"discovery": true,
"groups_attribute": "groups",
"required_groups": [
"gitlab-users"
],
"external_groups": [
"external-contractors"
],
"auditor_groups": [
"auditors"
],
"admin_groups": [
"gitlab-admins"
]
}
Les paramètres suivants sont disponibles pour configurer l'OIDC pour les instances GitLab Dedicated. Pour plus d'informations, consultez utiliser OpenID Connect comme fournisseur d'authentification.
| Paramètre | Description |
|---|---|
issuer | L'URL de l'émetteur OpenID Connect de votre fournisseur d'identité. |
label | Nom d'affichage du bouton de connexion. |
discovery | Indique si la découverte OpenID Connect doit être utilisée (recommandé : true). |
| Paramètre | Description | Valeur par défaut |
|---|---|---|
admin_groups | Groupes disposant d'un accès administrateur. | [] |
auditor_groups | Groupes disposant d'un accès auditeur. | [] |
client_auth_method | Méthode d'authentification du client. | "basic" |
external_groups | Groupes marqués comme utilisateurs externes. | [] |
groups_attribute | Où rechercher les groupes dans la réponse OIDC. | Aucune |
pkce | Activer PKCE (Proof Key for Code Exchange). | false |
required_groups | Groupes requis pour l'accès. | [] |
response_mode | Comment la réponse d'autorisation est transmise. | Aucune |
response_type | Type de réponse OAuth 2.0. | "code" |
scope | Portées OpenID Connect à demander. | ["openid"] |
send_scope_to_token_endpoint | Inclure le paramètre de portée dans les requêtes adressées au point de terminaison du jeton. | true |
uid_field | Champ à utiliser comme identifiant unique. | "sub" |
{
"label": "Google",
"scope": ["openid", "profile", "email"],
"response_type": "code",
"issuer": "https://accounts.google.com",
"client_auth_method": "query",
"discovery": true,
"uid_field": "preferred_username",
"pkce": true
}
{
"label": "Azure AD",
"scope": ["openid", "profile", "email"],
"response_type": "code",
"issuer": "https://login.microsoftonline.com/your-tenant-id/v2.0",
"client_auth_method": "query",
"discovery": true,
"uid_field": "preferred_username",
"pkce": true
}
{
"label": "Okta",
"scope": ["openid", "profile", "email", "groups"],
"response_type": "code",
"issuer": "https://your-domain.okta.com/oauth2/default",
"client_auth_method": "query",
"discovery": true,
"uid_field": "preferred_username",
"pkce": true
}
Si vous rencontrez des problèmes avec votre configuration OpenID Connect :