Back to Gitlabhq

SSO OpenID Connect pour GitLab Dedicated

doc-locale/fr-fr/administration/dedicated/configure_instance/authentication/openid_connect.md

19.1.07.0 KB
Original Source

{{< details >}}

  • Niveau : Ultimate
  • Offre : GitLab Dedicated

{{< /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 :

  • Centraliser l'authentification des utilisateurs via votre fournisseur d'identité existant.
  • Réduire la charge de gestion des mots de passe pour les utilisateurs.
  • Mettre en œuvre des contrôles d'accès cohérents dans les applications de votre organisation.
  • Utiliser un protocole d'authentification moderne bénéficiant d'un large soutien industriel.

[!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.

Configurer OpenID Connect {#configure-openid-connect}

Prérequis :

  • Configurez votre fournisseur d'identité. Vous pouvez utiliser une URL de rappel temporaire, car GitLab fournit l'URL de rappel après la configuration.
  • Assurez-vous que votre fournisseur d'identité prend en charge la spécification OpenID Connect.

Pour configurer l'OIDC pour votre instance GitLab Dedicated :

  1. Créez un ticket d'assistance.

  2. Dans votre ticket d'assistance, fournissez la configuration suivante :

    json
    {
      "label": "Login with OIDC",
      "issuer": "https://accounts.example.com",
      "discovery": true
    }
    
  3. 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.

  4. Si votre fournisseur d'identité ne prend pas en charge la découverte automatique, incluez les options du point de terminaison client. Par exemple :

    json
    {
      "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 :

  1. Vous recevez l'URL de rappel dans votre ticket d'assistance.
  2. Mettez à jour votre fournisseur d'identité avec cette URL de rappel.
  3. Vérifiez la configuration en recherchant le bouton de connexion SSO sur la page de connexion de votre instance.

Configurer les utilisateurs en fonction de l'appartenance aux groupes OIDC {#configure-users-based-on-oidc-group-membership}

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 :

  • Votre fournisseur d'identité doit inclure les informations de groupe dans le point de terminaison ID token ou userinfo.
  • Vous devez avoir déjà configuré l'authentification OIDC de base.

Pour configurer les utilisateurs en fonction de l'appartenance aux groupes OIDC :

  1. Ajoutez le paramètre groups_attribute pour spécifier où GitLab doit rechercher les informations de groupe.

  2. Configurez les tableaux de groupes appropriés selon vos besoins.

  3. Dans votre ticket d'assistance, incluez la configuration de groupe dans votre bloc OIDC. Par exemple :

    json
    {
      "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"
      ]
    }
    

Paramètres de configuration {#configuration-parameters}

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ètres requis {#required-parameters}

ParamètreDescription
issuerL'URL de l'émetteur OpenID Connect de votre fournisseur d'identité.
labelNom d'affichage du bouton de connexion.
discoveryIndique si la découverte OpenID Connect doit être utilisée (recommandé : true).

Paramètres optionnels {#optional-parameters}

ParamètreDescriptionValeur par défaut
admin_groupsGroupes disposant d'un accès administrateur.[]
auditor_groupsGroupes disposant d'un accès auditeur.[]
client_auth_methodMéthode d'authentification du client."basic"
external_groupsGroupes marqués comme utilisateurs externes.[]
groups_attributeOù rechercher les groupes dans la réponse OIDC.Aucune
pkceActiver PKCE (Proof Key for Code Exchange).false
required_groupsGroupes requis pour l'accès.[]
response_modeComment la réponse d'autorisation est transmise.Aucune
response_typeType de réponse OAuth 2.0."code"
scopePortées OpenID Connect à demander.["openid"]
send_scope_to_token_endpointInclure le paramètre de portée dans les requêtes adressées au point de terminaison du jeton.true
uid_fieldChamp à utiliser comme identifiant unique."sub"

Exemples spécifiques aux fournisseurs {#provider-specific-examples}

Google {#google}

json
{
  "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
}

Microsoft Azure AD {#microsoft-azure-ad}

json
{
  "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
}

Okta {#okta}

json
{
  "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
}

Dépannage {#troubleshooting}

Si vous rencontrez des problèmes avec votre configuration OpenID Connect :

  • Vérifiez que votre fournisseur d'identité est correctement configuré et accessible.
  • Vérifiez que l'identifiant client et le secret fournis à l'assistance sont corrects.
  • Assurez-vous que l'URI de redirection dans votre fournisseur d'identité correspond à celle fournie dans votre ticket d'assistance.
  • Vérifiez que l'URL de l'émetteur est correcte et accessible.