Passer au contenu principal
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.

OpenID Connect (OIDC)

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 de votre instance Cloud dédié ou Autogéré. Pour vous aider à configurer des fournisseurs d’identité pour des installations W&B Cloud dédié ou Autogéré, suivez les recommandations ci-dessous pour différents IdP. Si vous utilisez la version SaaS de W&B, contactez support@wandb.com pour obtenir de l’assistance dans la configuration d’un tenant Auth0 pour votre organisation.

Configurez votre IdP

Cette section explique comment configurer votre fournisseur d’identité (IdP) pour OIDC. Sélectionnez l’onglet correspondant à votre IdP pour plus de détails.
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.
    Configuration d’AWS Cognito
  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.
    Configuration de l’hôte
    Par défaut, wandb/local utilise l’grant implicit avec le type de réponse form_post. Vous pouvez également configurer wandb/local pour utiliser un grant authorization_code avec le flux PKCE Code Exchange.
  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 :
    Champs requis
    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 :
    URL de l’émetteur AWS Cognito
    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.

Configurer le SSO dans W&B

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 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.
    values:
    global:
        extraEnv:
        GORILLA_OIDC_SECRET="<your_secret>"
    
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.
System Console remplace la page System Settings. Elle est disponible dans les déploiements basés sur l’opérateur Kubernetes W&B.
  1. Reportez-vous à Accéder à la console de gestion W&B.
  2. Accédez à Settings, puis à Authentication. Sélectionnez OIDC dans la liste déroulante Type.
    Configuration OIDC dans System Console
  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é.
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.

Security Assertion Markup Language (SAML)

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