> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-wbdocs-1882.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Configurer le SSO avec OIDC

> Configurez le SSO à l’aide d’OpenID Connect avec des fournisseurs d’identité comme Okta, Azure AD et AWS Cognito pour les instances W&B.

La prise en charge par W\&B des fournisseurs d’identité compatibles avec OpenID Connect (OIDC) permet de gérer les identités des utilisateurs et leur appartenance à des groupes via des fournisseurs d’identité externes comme Okta, Keycloak, Auth0, Google et Entra.

<div id="openid-connect-oidc">
  ## OpenID Connect (OIDC)
</div>

W\&B prend en charge les flux d’authentification OIDC suivants pour l’intégration avec des fournisseurs d’identité (IdP) externes.

1. Flux implicite avec Form Post
2. Flux de code d’autorisation avec Proof Key for Code Exchange (PKCE)

Ces flux authentifient les utilisateurs et fournissent à W\&B les informations d’identité nécessaires (sous forme de jetons ID) pour gérer le contrôle d’accès.

Le jeton ID est un JWT qui contient les informations d’identité de l’utilisateur, telles que son nom, son nom d’utilisateur, son adresse e-mail et son appartenance à des groupes. W\&B utilise ce jeton pour authentifier l’utilisateur et l’associer aux rôles ou groupes appropriés dans le système.

Dans le contexte de W\&B, les jetons d’accès autorisent les requêtes aux API au nom de l’utilisateur, mais comme W\&B s’intéresse avant tout à l’authentification et à l’identité de l’utilisateur, seul le jeton ID est nécessaire.

Vous pouvez utiliser des variables d’environnement pour [configurer les options IAM](/fr/platform/hosting/iam/advanced_env_vars) de votre instance [Cloud dédié](/fr/platform/hosting/hosting-options/dedicated-cloud) ou [Autogéré](/fr/platform/hosting/hosting-options/self-managed).

Pour vous aider à configurer des fournisseurs d’identité pour des installations W\&B [Cloud dédié](/fr/platform/hosting/hosting-options/dedicated-cloud) ou [Autogéré](/fr/platform/hosting/hosting-options/self-managed), suivez les recommandations ci-dessous pour différents IdP. Si vous utilisez la version SaaS de W\&B, contactez [support@wandb.com](mailto:support@wandb.com) pour obtenir de l’assistance dans la configuration d’un tenant Auth0 pour votre organisation.

<div id="configure-your-idp">
  ## Configurez votre IdP
</div>

Cette section explique comment configurer votre fournisseur d’identité (IdP) pour OIDC. Sélectionnez l’onglet correspondant à votre IdP pour plus de détails.

<Tabs>
  <Tab title="Cognito">
    Suivez la procédure ci-dessous pour configurer AWS Cognito pour l’autorisation :

    1. Commencez par vous connecter à votre compte AWS, puis accédez à l’application [AWS Cognito](https://aws.amazon.com/cognito/).

           <Frame>
             <img src="https://mintcdn.com/wb-21fd5541-wbdocs-1882/Sb3q6Nn7xrh8SB3Y/images/hosting/setup_aws_cognito.png?fit=max&auto=format&n=Sb3q6Nn7xrh8SB3Y&q=85&s=366777cf18e61e8864501c1feaa07381" alt="Configuration d’AWS Cognito" width="1672" height="946" data-path="images/hosting/setup_aws_cognito.png" />
           </Frame>

    2. Indiquez une URL de rappel autorisée pour configurer l’application dans votre IdP :
       * Ajoutez `http(s)://YOUR-W&B-HOST/oidc/callback` comme URL de rappel. Remplacez `YOUR-W&B-HOST` par le chemin d’hôte de votre instance W\&B.

    3. Si votre IdP prend en charge la déconnexion universelle, définissez l’URL de déconnexion sur `http(s)://YOUR-W&B-HOST`. Remplacez `YOUR-W&B-HOST` par le chemin d’hôte de votre instance W\&B.

       Par exemple, si votre application s’exécute à l’adresse `https://wandb.mycompany.com`, remplacez `YOUR-W&B-HOST` par `wandb.mycompany.com`.

       L’image ci-dessous montre comment renseigner les URL de rappel autorisées et de déconnexion dans AWS Cognito.

           <Frame>
             <img src="https://mintcdn.com/wb-21fd5541-wbdocs-1882/Sb3q6Nn7xrh8SB3Y/images/hosting/setup_aws_cognito_ui_settings.png?fit=max&auto=format&n=Sb3q6Nn7xrh8SB3Y&q=85&s=7071bbf97932c1b2e9260be363b3b130" alt="Configuration de l’hôte" width="1658" height="1056" data-path="images/hosting/setup_aws_cognito_ui_settings.png" />
           </Frame>

       Par défaut, *wandb/local* utilise l’grant [`implicit` avec le type de réponse `form_post`](https://auth0.com/docs/get-started/authentication-and-authorization-flow/implicit-flow-with-form-post).

       Vous pouvez également configurer *wandb/local* pour utiliser un grant `authorization_code` avec le flux [PKCE Code Exchange](https://www.oauth.com/oauth2-servers/pkce/).

    4. Sélectionnez un ou plusieurs types de grant OAuth pour configurer la manière dont AWS Cognito transmet les jetons à votre application.

    5. W\&B exige des scopes OpenID Connect (OIDC) spécifiques. Sélectionnez les éléments suivants dans l’application AWS Cognito :

       * "openid"
       * "profile"
       * "email"

       Par exemple, l’interface de votre application AWS Cognito devrait ressembler à l’image suivante :

           <Frame>
             <img src="https://mintcdn.com/wb-21fd5541-wbdocs-1882/Sb3q6Nn7xrh8SB3Y/images/hosting/setup_aws_required_fields.png?fit=max&auto=format&n=Sb3q6Nn7xrh8SB3Y&q=85&s=6316ae0dad7150591854a015716b3e13" alt="Champs requis" width="1656" height="670" data-path="images/hosting/setup_aws_required_fields.png" />
           </Frame>

       Sélectionnez la **méthode d’authentification** dans la page des paramètres ou définissez la variable d’environnement OIDC\_AUTH\_METHOD pour indiquer à *wandb/local* quel grant utiliser.

       Vous devez définir la méthode d’authentification sur `pkce`.

    6. Vous avez besoin d’un ID client et de l’URL de votre émetteur OIDC. Le document de découverte OpenID doit être disponible à l’adresse `$OIDC_ISSUER/.well-known/openid-configuration`

       Par exemple, vous pouvez générer l’URL de votre émetteur en ajoutant l’ID de votre pool d’utilisateurs à l’URL de l’IdP Cognito depuis l’onglet **App Integration** de la section **User Pools** :

           <Frame>
             <img src="https://mintcdn.com/wb-21fd5541-wbdocs-1882/Sb3q6Nn7xrh8SB3Y/images/hosting/setup_aws_cognito_issuer_url.png?fit=max&auto=format&n=Sb3q6Nn7xrh8SB3Y&q=85&s=6cc31f2d09237212f10c371ef52986b9" alt="URL de l’émetteur AWS Cognito" width="3166" height="1616" data-path="images/hosting/setup_aws_cognito_issuer_url.png" />
           </Frame>

       N’utilisez pas le "domaine Cognito" pour l’URL de l’IdP. Cognito fournit son document de découverte à l’adresse `https://cognito-idp.$REGION.amazonaws.com/$USER_POOL_ID`

    Ensuite, [Configurez le SSO dans W\&B](#set-up-sso-in-w%26b).
  </Tab>

  <Tab title="Okta">
    Suivez la procédure ci-dessous pour configurer Okta pour l’autorisation :

    1. Connectez-vous au [portail Okta](https://login.okta.com/).

    2. Dans le menu de gauche, sélectionnez **Applications**, puis de nouveau **Applications**.
           <Frame>
             <img src="https://mintcdn.com/wb-21fd5541-wbdocs-1882/Sb3q6Nn7xrh8SB3Y/images/hosting/okta_select_applications.png?fit=max&auto=format&n=Sb3q6Nn7xrh8SB3Y&q=85&s=85440d44d758566ca7e18c6f10c27ce9" alt="Menu Applications d’Okta" width="1978" height="1625" data-path="images/hosting/okta_select_applications.png" />
           </Frame>

    3. Cliquez sur "Create App integration."
           <Frame>
             <img src="https://mintcdn.com/wb-21fd5541-wbdocs-1882/Sb3q6Nn7xrh8SB3Y/images/hosting/okta_create_new_app_integration.png?fit=max&auto=format&n=Sb3q6Nn7xrh8SB3Y&q=85&s=4af1795aed08b4bed581e837d7a38ae6" alt="Bouton Create App integration" width="2330" height="1319" data-path="images/hosting/okta_create_new_app_integration.png" />
           </Frame>

    4. Sur l’écran intitulé "Create a new app integration," sélectionnez **OIDC - OpenID Connect** et **Single-Page Application**. Cliquez ensuite sur "Next."
           <Frame>
             <img src="https://mintcdn.com/wb-21fd5541-wbdocs-1882/Sb3q6Nn7xrh8SB3Y/images/hosting/okta_create_a_new_app_integration.png?fit=max&auto=format&n=Sb3q6Nn7xrh8SB3Y&q=85&s=db39fe2434b3776d13f74678732112b7" alt="Sélection de l’application OIDC Single-Page" width="1935" height="1690" data-path="images/hosting/okta_create_a_new_app_integration.png" />
           </Frame>

    5. Sur l’écran intitulé "New Single-Page App Integration," renseignez les champs comme suit, puis cliquez sur **Save** :
       * Nom de l’intégration d’application, par exemple "W\&B"
       * Type d’autorisation : sélectionnez **Authorization Code** et **Implicit (hybrid)**
       * URI de redirection de connexion : [https://YOUR\&#95;W\&#95;AND\&#95;B\&#95;URL/oidc/callback](https://YOUR\&#95;W\&#95;AND\&#95;B\&#95;URL/oidc/callback)
       * URI de redirection de déconnexion : [https://YOUR\&#95;W\&#95;AND\&#95;B\&#95;URL/logout](https://YOUR\&#95;W\&#95;AND\&#95;B\&#95;URL/logout)
       * Attributions : sélectionnez **Skip group assignment for now**
           <Frame>
             <img src="https://mintcdn.com/wb-21fd5541-wbdocs-1882/Sb3q6Nn7xrh8SB3Y/images/hosting/okta_new_single_page_app_integration.png?fit=max&auto=format&n=Sb3q6Nn7xrh8SB3Y&q=85&s=cbcaf3ba7f825ebe8e059d352bf0ddc9" alt="Configuration de l’application Single-Page" width="1692" height="2675" data-path="images/hosting/okta_new_single_page_app_integration.png" />
           </Frame>

    6. Sur l’écran d’aperçu de l’application Okta que vous venez de créer, notez le **Client ID** sous **Client Credentials**, dans l’onglet **General** :
           <Frame>
             <img src="https://mintcdn.com/wb-21fd5541-wbdocs-1882/Sb3q6Nn7xrh8SB3Y/images/hosting/okta_make_note_of_client_id.png?fit=max&auto=format&n=Sb3q6Nn7xrh8SB3Y&q=85&s=98cf6b5e05c9775ff3c9908898b9b252" alt="Emplacement du Client ID Okta" width="1434" height="1734" data-path="images/hosting/okta_make_note_of_client_id.png" />
           </Frame>

    7. Pour identifier l’URL de l’émetteur OIDC d’Okta, sélectionnez **Settings**, puis **Account** dans le menu de gauche.
       L’interface utilisateur d’Okta affiche le nom de l’entreprise sous **Organization Contact**.
           <Frame>
             <img src="https://mintcdn.com/wb-21fd5541-wbdocs-1882/Sb3q6Nn7xrh8SB3Y/images/hosting/okta_identify_oidc_issuer_url.png?fit=max&auto=format&n=Sb3q6Nn7xrh8SB3Y&q=85&s=93b3eaec18a6727678ec27fd22e26734" alt="Paramètres de l’organisation Okta" width="2166" height="1172" data-path="images/hosting/okta_identify_oidc_issuer_url.png" />
           </Frame>

    L’URL de l’émetteur OIDC a le format suivant : `https://COMPANY.okta.com`. Remplacez COMPANY par la valeur correspondante. Notez-la.

    Ensuite, [Configurez le SSO dans W\&B](#set-up-sso-in-w%26b).
  </Tab>

  <Tab title="Entra">
    Azure AD (Entra ID) prend en charge deux modes de configuration OIDC pour W\&B. Choisissez la configuration qui correspond à vos exigences de sécurité :

    * [Client public](#public-client) : Utilise PKCE sans secret du client. Plus simple à configurer, il convient à la plupart des déploiements.
    * [Client confidentiel](#confidential-client) : utilise PKCE avec un secret du client pour une sécurité renforcée. Requis si vous devez définir la variable d'environnement `GORILLA_OIDC_SECRET`.

    <Warning>
      Ne mélangez pas les configurations. Si vous sélectionnez "Single-page application" dans Azure AD, n’indiquez pas de secret client. Si vous avez besoin d’un secret client, vous devez sélectionner "Web" comme type de plateforme.
    </Warning>

    <AccordionGroup>
      <Accordion title="Client public" defaultOpen="true">
        Utilisez cette configuration si vous n’avez pas besoin d’indiquer de secret client. Cette configuration convient aux déploiements sans exigences de sécurité avancées.

        1. Connectez-vous au [portail Azure](https://portal.azure.com/).
        2. Accédez au service **Microsoft Entra ID** et sélectionnez **App registrations** dans la barre latérale gauche.
        3. Cliquez sur **New registration** en haut de la page.
        4. Sur l’écran "Register an application", configurez les éléments suivants :
           * **Nom** : saisissez un nom explicite.
           * **Types de comptes pris en charge** : conservez la valeur par défaut "Single tenant" ou modifiez-la selon vos besoins.
           * **URI de redirection** : sélectionnez le type de plateforme **Single-page application** et saisissez `https://YOUR_W_AND_B_URL/oidc/callback`.
           * Cliquez sur **Register**.
        5. Après l’enregistrement, notez les valeurs suivantes sur la page Aperçu :
           * **ID d’application (client)** : votre ID client OIDC.
           * **ID de répertoire (locataire)** : votre URL d’émetteur OIDC.
                   <Frame>
                     <img src="https://mintcdn.com/wb-21fd5541-wbdocs-1882/Sb3q6Nn7xrh8SB3Y/images/hosting/entra_app_overview_make_note.png?fit=max&auto=format&n=Sb3q6Nn7xrh8SB3Y&q=85&s=c70eb578539f8fe719c0d5814845ef74" alt="ID d’application et de répertoire" width="3022" height="1328" data-path="images/hosting/entra_app_overview_make_note.png" />
                   </Frame>
        6. Configurez les paramètres d’authentification :
           * Sélectionnez **Authentication** dans la barre latérale gauche.
           * Sous **Front-channel logout URL**, saisissez `https://YOUR_W_AND_B_URL/logout`.
           * Cliquez sur **Save**.

        Notez les informations suivantes :

        * **ID client OIDC** : l’ID d’application (client) de l’étape 5
        * **URL d’émetteur OIDC** : `https://login.microsoftonline.com/{TenantID}/v2.0` (remplacez {TenantID} par votre ID de répertoire de l’étape 5)

        Lors de la configuration de W\&B, utilisez :

        * **Méthode d’authentification** : `pkce`
        * **Secret client OIDC** : laissez vide (ne définissez pas `GORILLA_OIDC_SECRET`)

        Ensuite, [configurez le SSO dans W\&B](#set-up-sso-in-w%26b).
      </Accordion>

      <Accordion title="Client confidentiel">
        Utilisez cette configuration si vous devez vous authentifier à l’aide d’un secret client.

        1. Connectez-vous au [portail Azure](https://portal.azure.com/).
        2. Accédez au service **Microsoft Entra ID** et sélectionnez **App registrations** dans la barre latérale gauche.
        3. Cliquez sur **New registration** en haut de la page.
        4. Dans l’écran "Register an application", configurez les éléments suivants :
           * **Name** : saisissez un nom explicite.
           * **Supported account types** : conservez la valeur par défaut "Single tenant" ou modifiez-la selon vos besoins.
           * **Redirect URI** : sélectionnez le type de plateforme **Web** et saisissez `https://YOUR_W_AND_B_URL/oidc/callback`.
           * Cliquez sur **Register**.
        5. Après l’enregistrement, relevez les valeurs suivantes sur la page Aperçu :
           * **Application (client) ID** : votre ID client OIDC.
           * **Directory (tenant) ID** : votre URL d’émetteur OIDC.
                   <Frame>
                     <img src="https://mintcdn.com/wb-21fd5541-wbdocs-1882/Sb3q6Nn7xrh8SB3Y/images/hosting/entra_app_overview_make_note.png?fit=max&auto=format&n=Sb3q6Nn7xrh8SB3Y&q=85&s=c70eb578539f8fe719c0d5814845ef74" alt="ID d’application et ID de répertoire" width="3022" height="1328" data-path="images/hosting/entra_app_overview_make_note.png" />
                   </Frame>
        6. Configurez les paramètres d’authentification :
           * Sélectionnez **Authentication** dans la barre latérale gauche.
           * Sous **Front-channel logout URL**, saisissez `https://<YOUR_W_AND_B_URL>/logout`.
           * Cliquez sur **Save**
        7. Créez un secret client :
           * Sélectionnez **Certificates & secrets** dans la barre latérale gauche.
           * Cliquez sur **New client secret**.
           * Ajoutez une description pour le secret.
           * Choisissez une durée d’expiration.
           * Cliquez sur **Add**. <Warning>Copiez et enregistrez immédiatement la **Value** du secret (et non le Secret ID)</Warning>.
                   <Frame>
                     <img src="https://mintcdn.com/wb-21fd5541-wbdocs-1882/Sb3q6Nn7xrh8SB3Y/images/hosting/entra_make_note_of_secret_value.png?fit=max&auto=format&n=Sb3q6Nn7xrh8SB3Y&q=85&s=0441de9087ea2701bd47d4ef3dff1575" alt="Valeur du secret client" width="2156" height="646" data-path="images/hosting/entra_make_note_of_secret_value.png" />
                   </Frame>

        Notez les informations suivantes :

        * **OIDC Client ID** : l’Application (client) ID de l’étape 5.
        * **OIDC Client Secret** : la valeur du secret de l’étape 7.
        * **OIDC Issuer URL** : `https://login.microsoftonline.com/{TenantID}/v2.0` (remplacez {TenantID} par votre Directory ID de l’étape 5).

        Lors de la configuration de W\&B, utilisez :

        * **Auth Method** : `pkce`
        * **OIDC Client Secret** : définissez la variable d’environnement `GORILLA_OIDC_SECRET` sur la valeur du secret de l’étape 7

        <Note>
          Le point de terminaison v2.0 prend en charge à la fois les comptes Microsoft personnels et les comptes professionnels ou scolaires. Si votre organisation exige le point de terminaison v1.0, utilisez `https://login.microsoftonline.com/{TenantID}` à la place.
        </Note>

        Ensuite, [Configurez le SSO dans W\&B](#set-up-sso-in-w%26b).
      </Accordion>
    </AccordionGroup>
  </Tab>
</Tabs>

<div id="set-up-sso-in-wb">
  ## Configurer le SSO dans W\&B
</div>

Pour configurer le SSO, vous devez disposer de privilèges d’administrateur et des informations suivantes :

* ID client OIDC
* Méthode d’authentification OIDC (`implicit` ou `pkce`)
* URL de l’émetteur OIDC
* Secret client OIDC (facultatif ; dépend de la façon dont votre IdP est configuré)

Si votre IdP exige un secret client OIDC, indiquez-le en définissant la [variable d’environnement](/fr/platform/hosting/env-vars) `GORILLA_OIDC_SECRET`.

* Dans W\&B App, accédez à **System Console** > **Settings** > **Advanced** > **User Spec** et ajoutez `GORILLA_OIDC_SECRET` à la section `extraENV`, comme indiqué ci-dessous.
* Dans Helm, configurez `values.global.extraEnv` comme indiqué ci-dessous.
  ```yaml theme={null}
  values:
  global:
      extraEnv:
      GORILLA_OIDC_SECRET="<your_secret>"
  ```

<Note>
  Si vous ne parvenez pas à vous connecter à votre instance après avoir configuré le SSO, vous pouvez redémarrer l’instance avec la variable d’environnement `LOCAL_RESTORE=true` définie. Cela génère un mot de passe temporaire dans les logs des conteneurs et désactive le SSO. Une fois les problèmes de SSO résolus, vous devez supprimer cette variable d’environnement pour réactiver le SSO.
</Note>

<Tabs>
  <Tab title="System Console">
    System Console remplace la page System Settings. Elle est disponible dans les déploiements basés sur l’[opérateur Kubernetes W\&B](/fr/platform/hosting/self-managed/operator).

    1. Reportez-vous à [Accéder à la console de gestion W\&B](/fr/platform/hosting/self-managed/operator#access-the-wb-management-console).

    2. Accédez à **Settings**, puis à **Authentication**. Sélectionnez **OIDC** dans la liste déroulante **Type**.
           <Frame>
             <img src="https://mintcdn.com/wb-21fd5541-wbdocs-1882/Sb3q6Nn7xrh8SB3Y/images/hosting/sso_configure_via_console.png?fit=max&auto=format&n=Sb3q6Nn7xrh8SB3Y&q=85&s=6105c5df4789255ed03814060b190e14" alt="Configuration OIDC dans System Console" width="2763" height="888" data-path="images/hosting/sso_configure_via_console.png" />
           </Frame>

    3. Saisissez les valeurs.

    4. Cliquez sur **Save**.

    5. Déconnectez-vous, puis reconnectez-vous, cette fois via l’écran de connexion de l’IdP.

    ## Trouvez votre espace de noms client

    Avant de pouvoir configurer BYOB au niveau de l’équipe avec le stockage CoreWeave sur W\&B Cloud dédié ou Autogéré, vous devez obtenir le **Customer Namespace** de votre organisation. Vous pouvez l’afficher et le copier en bas de l’onglet **Authentication**.

    Pour obtenir des instructions détaillées sur la configuration du stockage CoreWeave avec votre Customer Namespace, voir [Exigences CoreWeave pour Cloud dédié / Autogéré](/fr/platform/hosting/data-security/secure-storage-connector#coreweave-customer-namespace).
  </Tab>

  <Tab title="System Settings">
    1. Connectez-vous à votre instance Weights & Biases.

    2. Accédez à W\&B App.

           <Frame>
             <img src="https://mintcdn.com/wb-21fd5541-wbdocs-1882/Sb3q6Nn7xrh8SB3Y/images/hosting/system_settings.png?fit=max&auto=format&n=Sb3q6Nn7xrh8SB3Y&q=85&s=a361681588940a6b4b419d275e1ee574" alt="Navigation dans W&B App" width="1041" height="1079" data-path="images/hosting/system_settings.png" />
           </Frame>

    3. Dans la liste déroulante, sélectionnez **System Settings** :

           <Frame>
             <img src="https://mintcdn.com/wb-21fd5541-wbdocs-1882/Sb3q6Nn7xrh8SB3Y/images/hosting/system_settings_select_settings.png?fit=max&auto=format&n=Sb3q6Nn7xrh8SB3Y&q=85&s=da006834b7b6714f3db843e5f8468173" alt="Liste déroulante System Settings" width="1049" height="396" data-path="images/hosting/system_settings_select_settings.png" />
           </Frame>

    4. Saisissez votre émetteur, votre ID client et votre méthode d’authentification.

    5. Sélectionnez **Update settings**.

    <Frame>
      <img src="https://mintcdn.com/wb-21fd5541-wbdocs-1882/Sb3q6Nn7xrh8SB3Y/images/hosting/system_settings_select_update.png?fit=max&auto=format&n=Sb3q6Nn7xrh8SB3Y&q=85&s=4538002e923cc1a6c026ae1f33e6a193" alt="Bouton Update settings" width="922" height="1338" data-path="images/hosting/system_settings_select_update.png" />
    </Frame>
  </Tab>
</Tabs>

<Note>
  Si vous ne parvenez pas à vous connecter à votre instance après avoir configuré le SSO, vous pouvez redémarrer l’instance avec la variable d’environnement `LOCAL_RESTORE=true` définie. Cela génère un mot de passe temporaire dans les logs des conteneurs et désactive le SSO. Une fois les problèmes de SSO résolus, vous devez supprimer cette variable d’environnement pour réactiver le SSO.
</Note>

<div id="security-assertion-markup-language-saml">
  ## Security Assertion Markup Language (SAML)
</div>

W\&B ne prend pas en charge le protocole SAML.
