> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wandb.ai/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.

Ce guide s’adresse aux administrateurs d’instances Cloud dédié de W\&B ou autogérées qui souhaitent activer l’authentification unique (SSO) à l’aide d’un fournisseur d’identité compatible avec OpenID Connect (OIDC). À la fin, vous aurez configuré votre fournisseur d’identité, l’aurez connecté à W\&B afin que les utilisateurs puissent se connecter via le système d’identité existant de votre organisation, et vous pourrez gérer les identités des utilisateurs et leur appartenance à des groupes via des fournisseurs comme Okta, Keycloak, Auth0, Google et Entra.

<div id="openid-connect">
  ## OpenID Connect
</div>

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

* Flux implicite avec form post.
* 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 déploiements [Cloud dédié](/fr/platform/hosting/hosting-options/dedicated-cloud) ou [Autogéré](/fr/platform/hosting/hosting-options/self-managed), suivez ces recommandations. Si vous utilisez le Cloud mutualisé de W\&B, contactez [support@wandb.com](mailto:support@wandb.com) pour obtenir de l’assistance.

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

Les sections suivantes expliquent comment configurer votre fournisseur d’identité (IdP) pour OIDC. Commencez par effectuer les étapes de configuration de votre IdP. Vous utiliserez ensuite le **Client ID**, l’**Issuer URL** et, éventuellement, le **Client Secret** pour configurer le SSO dans W\&B dans la section suivante. Sélectionnez l’onglet de votre IdP pour plus de détails.

<Tabs>
  <Tab title="Cognito">
    Suivez cette procédure pour configurer AWS Cognito comme IdP. À la fin, vous disposerez d’un **Client ID** et d’une **URL d’émetteur OIDC** à utiliser lorsque vous configurerez W\&B.

    1. Connectez-vous à votre compte AWS et accédez à l’application [AWS Cognito](https://aws.amazon.com/cognito/).

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

    2. Fournissez une URL de rappel autorisée pour configurer l’application dans votre IdP. Ajoutez `http(s)://[YOUR-W-AND-B-HOST]/oidc/callback` comme URL de rappel. Remplacez `[YOUR-W-AND-B-HOST]` par le nom 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-AND-B-HOST]`. Remplacez `[YOUR-W-AND-B-HOST]` par le nom 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-AND-B-HOST]` par `wandb.mycompany.com`.

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

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

       `wandb/local` utilise par défaut l’[octroi `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 octroi `authorization_code` avec le flux [PKCE Code Exchange](https://www.oauth.com/oauth2-servers/pkce/).

    4. Sélectionnez un ou plusieurs types d’octroi 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 l’application AWS Cognito doit ressembler à l’image suivante :

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

       Sélectionnez **Auth Method** dans la page des paramètres ou définissez la variable d’environnement `OIDC_AUTH_METHOD` pour préciser quel octroi `wandb/local` utilise.

       Vous devez définir **Auth Method** sur `pkce`.

    6. Vous avez besoin d’un **Client ID** 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 votre ID de pool d’utilisateurs à l’URL IdP de Cognito depuis l’onglet **App Integration** de la section **User Pools** :

           <Frame>
             <img src="https://mintcdn.com/wb-21fd5541/7mSicW8MfO9qZmb2/images/hosting/setup_aws_cognito_issuer_url.png?fit=max&auto=format&n=7mSicW8MfO9qZmb2&q=85&s=425e21b41d60903cb3da110ad2873277" alt="URL d’é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 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 cette procédure pour configurer Okta comme IdP. À la fin, vous disposerez d’un **Client ID** et d’une **URL de l’émetteur OIDC** à utiliser lorsque vous configurerez W\&B.

    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/7mSicW8MfO9qZmb2/images/hosting/okta_select_applications.png?fit=max&auto=format&n=7mSicW8MfO9qZmb2&q=85&s=926c484f006c3c4e17d4b836a31973b7" 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/7mSicW8MfO9qZmb2/images/hosting/okta_create_new_app_integration.png?fit=max&auto=format&n=7mSicW8MfO9qZmb2&q=85&s=d7d0d37787dbf752d12742bd7128bb79" alt="Bouton Create App integration" width="2330" height="1319" data-path="images/hosting/okta_create_new_app_integration.png" />
           </Frame>

    4. Dans l’écran **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/7mSicW8MfO9qZmb2/images/hosting/okta_create_a_new_app_integration.png?fit=max&auto=format&n=7mSicW8MfO9qZmb2&q=85&s=9b79968cfb3cd7436b2111e19fde1a1f" alt="Sélection de l’application monopage OIDC" width="1935" height="1690" data-path="images/hosting/okta_create_a_new_app_integration.png" />
           </Frame>

    5. Dans l’écran **New Single-Page App Integration**, renseignez les valeurs comme suit, puis cliquez sur **Save** :
       * **App integration name**, par exemple `W&B`.
       * **Grant type** : sélectionnez **Authorization Code** et **Implicit (hybrid)**.
       * **Sign-in redirect URIs** : `https://[YOUR-W-AND-B-URL]/oidc/callback`.
       * **Sign-out redirect URIs** : `https://[YOUR-W-AND-B-URL]/logout`.
       * **Assignments** : sélectionnez **Skip group assignment for now**.
           <Frame>
             <img src="https://mintcdn.com/wb-21fd5541/7mSicW8MfO9qZmb2/images/hosting/okta_new_single_page_app_integration.png?fit=max&auto=format&n=7mSicW8MfO9qZmb2&q=85&s=8fc3cc15c16aa4dbc9ec9c7106bb3a29" alt="Configuration de l’application monopage" width="1692" height="2675" data-path="images/hosting/okta_new_single_page_app_integration.png" />
           </Frame>

    6. Dans l’écran d’aperçu de l’application Okta que vous avez créée, notez le **Client ID** sous **Client Credentials**, dans l’onglet **General** :
           <Frame>
             <img src="https://mintcdn.com/wb-21fd5541/7mSicW8MfO9qZmb2/images/hosting/okta_make_note_of_client_id.png?fit=max&auto=format&n=7mSicW8MfO9qZmb2&q=85&s=0249dcbd9b516dffcafe216b3e8c4973" 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 Okta affiche le nom de l’entreprise sous **Organization Contact**.
           <Frame>
             <img src="https://mintcdn.com/wb-21fd5541/7mSicW8MfO9qZmb2/images/hosting/okta_identify_oidc_issuer_url.png?fit=max&auto=format&n=7mSicW8MfO9qZmb2&q=85&s=39ae5e5daafd9477c7f47aada0080a54" alt="Paramètres d’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 client. Plus simple à configurer, il convient à la plupart des déploiements.
    * [Client confidentiel](#confidential-client) : utilise PKCE avec un secret de client. 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, ne fournissez 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 de spécifier un secret client. Elle convient aux déploiements ne nécessitant pas d’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 :
           * **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 **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 **Overview** :
           * **Application (client) ID** : votre ID client OIDC.
           * **Directory (tenant) ID** : votre URL d’émetteur OIDC.
                   <Frame>
                     <img src="https://mintcdn.com/wb-21fd5541/7mSicW8MfO9qZmb2/images/hosting/entra_app_overview_make_note.png?fit=max&auto=format&n=7mSicW8MfO9qZmb2&q=85&s=e68ed7db543a4e87778e4d62eb8b507c" 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 :

        * **OIDC Client ID** : l’**Application (client) ID** de l’étape 5.
        * **OIDC Issuer URL** : `https://login.microsoftonline.com/[TENANT-ID]/v2.0` (remplacez `[TENANT-ID]` par votre **Directory (tenant) ID** de l’étape 5).

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

        * **Auth Method** : `pkce`.
        * **OIDC Client Secret** : 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 l’option 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, notez les valeurs suivantes sur la page **Overview** :
           * **Application (client) ID** : votre ID client OIDC.
           * **Directory (tenant) ID** : votre URL d’émetteur OIDC.
                   <Frame>
                     <img src="https://mintcdn.com/wb-21fd5541/7mSicW8MfO9qZmb2/images/hosting/entra_app_overview_make_note.png?fit=max&auto=format&n=7mSicW8MfO9qZmb2&q=85&s=e68ed7db543a4e87778e4d62eb8b507c" 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**.
        7. Créez un secret client :
           * Sélectionnez **Certificates & secrets** dans la barre latérale gauche.
           * Cliquez sur **New client secret**.
           * Ajoutez une description au 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/7mSicW8MfO9qZmb2/images/hosting/entra_make_note_of_secret_value.png?fit=max&auto=format&n=7mSicW8MfO9qZmb2&q=85&s=b7992bdb1f347eb66e9ab9d3187d591f" 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/[TENANT-ID]/v2.0` (remplacez `[TENANT-ID]` 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 plutôt `https://login.microsoftonline.com/[TENANT-ID]`.
        </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>

Après avoir terminé la configuration de votre IdP, effectuez les étapes suivantes dans W\&B pour connecter l’IdP et activer le SSO pour votre instance.

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

* **OIDC Client ID**.
* **OIDC Auth method** (`implicit` ou `pkce`).
* **OIDC Issuer URL**.
* **OIDC Client Secret** (facultatif, selon la manière dont vous avez configuré votre IdP).

Si votre IdP nécessite un OIDC Client Secret, indiquez-le en définissant la [variable d’environnement](/fr/platform/hosting/env-vars) `GORILLA_OIDC_SECRET` :

* Dans la W\&B App, accédez à **System Console** > **Settings** > **Advanced** > **User Spec** et ajoutez `GORILLA_OIDC_SECRET` à la section `extraENV`, comme dans l’exemple suivant.
* Dans Helm, configurez `values.global.extraEnv` comme dans l’exemple suivant.
  ```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`. Cela consigne un mot de passe temporaire dans les journaux 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">
    Utilisez cet onglet si vous déployez W\&B avec l’opérateur Kubernetes W\&B. System Console remplace la page System Settings. Elle est disponible avec les déploiements basés sur l’[opérateur Kubernetes W\&B](/fr/platform/hosting/self-managed/operator).

    1. Consultez [Access the W\&B Management Console](/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/7mSicW8MfO9qZmb2/images/hosting/sso_configure_via_console.png?fit=max&auto=format&n=7mSicW8MfO9qZmb2&q=85&s=42923327cbf90d9a0a3e42ec9d0a6b9f" 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 en utilisant l’écran de connexion de l’IdP.

    ## Trouver votre Customer Namespace

    Avant de pouvoir configurer BYOB au niveau de l’équipe avec le stockage CoreWeave sur le Cloud dédié de W\&B ou en mode 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 [CoreWeave requirements for Dedicated Cloud or Autogéré](/fr/platform/hosting/data-security/secure-storage-connector#coreweave-customer-namespace).
  </Tab>

  <Tab title="System settings">
    1. Connectez-vous à votre instance W\&B.

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

           <Frame>
             <img src="https://mintcdn.com/wb-21fd5541/7mSicW8MfO9qZmb2/images/hosting/system_settings.png?fit=max&auto=format&n=7mSicW8MfO9qZmb2&q=85&s=3fe7f51b022ab4f29742f7d5688286d8" alt="Navigation dans la 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/7mSicW8MfO9qZmb2/images/hosting/system_settings_select_settings.png?fit=max&auto=format&n=7mSicW8MfO9qZmb2&q=85&s=a233c35326e9135811c6767188288e2a" alt="Liste déroulante System Settings" width="1049" height="396" data-path="images/hosting/system_settings_select_settings.png" />
           </Frame>

    4. Saisissez les valeurs **Issuer**, **Client ID** et **Authentication Method**.

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

    <Frame>
      <img src="https://mintcdn.com/wb-21fd5541/7mSicW8MfO9qZmb2/images/hosting/system_settings_select_update.png?fit=max&auto=format&n=7mSicW8MfO9qZmb2&q=85&s=1430cb0949f9cde7bd90d30fa6459d1b" 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`. Cela consigne un mot de passe temporaire dans les journaux 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.
