Passer au contenu principal

Documentation Index

Fetch the complete documentation index at: https://wb-21fd5541-docs-2632.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Utilisez la fédération d’identités pour vous connecter au SDK et à la CLI W&B avec les identifiants de votre organisation, plutôt qu’avec une clé API de longue durée. Si l’administrateur de l’organisation W&B a configuré le SSO pour votre organisation, vous utilisez déjà ces identifiants pour vous connecter à l’interface de l’application W&B. La fédération d’identités s’apparente au SSO pour le SDK W&B, mais utilise directement des JSON Web Tokens (JWT). Utilisez la fédération d’identités comme alternative aux clés API. Cette page s’adresse aux Administrateurs de l’organisation qui configurent l’émetteur JWT pour une organisation W&B. Elle s’adresse également aux utilisateurs ou aux comptes de service qui s’authentifient auprès de W&B à l’aide de JWT. La RFC 7523 constitue la base de la fédération d’identités avec le SDK.
La fédération d’identités est disponible en préversion pour Cloud mutualisé, Cloud dédié et Autogéré. Une licence Enterprise est requise. Pour plus de détails ou pour obtenir de l’assistance, contactez votre AISE ou l’assistance.
Ce document utilise les termes “fournisseur d’identité” et “émetteur JWT” de manière interchangeable. Ils désignent tous deux la même chose dans le contexte de cette fonctionnalité.

Configurer l’émetteur JWT

Avant que les utilisateurs puissent s’authentifier avec des JWT, un administrateur de l’organisation doit configurer une fédération entre votre organisation W&B et un émetteur JWT accessible publiquement.
  1. Accédez à l’onglet Settings dans le tableau de bord de votre organisation.
  2. Dans l’option Authentication, cliquez sur Set up JWT Issuer.
  3. Ajoutez l’URL de l’émetteur JWT dans la zone de texte, puis cliquez sur Create.
W&B recherche automatiquement un document de découverte OIDC à l’emplacement ${ISSUER_URL}/.well-known/openid-configuration. À partir de ce document, W&B localise le JSON Web Key Set (JWKS) à l’URL correspondante. W&B utilise le JWKS pour valider les JWT en temps réel et s’assurer qu’ils ont bien été émis par le fournisseur d’identité concerné. Après cette étape, votre organisation W&B est fédérée avec l’émetteur JWT. Les Users de votre organisation peuvent alors s’authentifier auprès de W&B à l’aide de JWT émis par ce fournisseur.

Utiliser le JWT pour accéder à W&B

Une fois qu’un administrateur de l’organisation a configuré un émetteur JWT, les utilisateurs peuvent commencer à accéder aux projets W&B à l’aide de JWT émis par ce fournisseur d’identité. Le mécanisme d’utilisation des JWT est le suivant :
  1. Vous devez vous connecter au fournisseur d’identité à l’aide de l’un des mécanismes disponibles dans votre organisation. Vous pouvez accéder à certains fournisseurs de manière automatisée à l’aide d’une API ou d’un SDK, tandis que d’autres ne sont accessibles que via l’interface utilisateur correspondante. Contactez l’administrateur de votre organisation W&B ou le propriétaire de l’émetteur JWT pour plus d’informations.
  2. Après avoir récupéré le JWT en vous connectant à votre fournisseur d’identité, stockez-le dans un fichier à un emplacement sécurisé. Configurez le chemin absolu de ce fichier dans la variable d’environnement WANDB_IDENTITY_TOKEN_FILE.
  3. Accédez à votre projet W&B à l’aide du SDK ou de la CLI W&B. Le SDK ou la CLI détecte automatiquement le JWT et l’échange contre un jeton d’accès W&B après l’avoir validé. Le jeton d’accès W&B donne accès aux API pertinentes pour prendre en charge vos flux de travail d’IA, par exemple pour journaliser les runs, les métriques et les artefacts. Par défaut, le jeton d’accès est stocké au chemin ~/.config/wandb/credentials.json. Vous pouvez modifier ce chemin en définissant la variable d’environnement WANDB_CREDENTIALS_FILE.
Les JWT sont des identifiants à courte durée de vie qui corrigent les limites des identifiants à longue durée de vie, comme les clés API et les mots de passe. La durée de validité du JWT dépend de la configuration de votre fournisseur d’identité. Actualisez le JWT avant son expiration et assurez-vous qu’il est stocké dans le fichier référencé par la variable d’environnement WANDB_IDENTITY_TOKEN_FILE.Le jeton d’accès W&B a également une durée de validité par défaut, au-delà de laquelle le SDK ou la CLI tente de le renouveler à l’aide de votre JWT. Si le JWT de l’utilisateur a lui aussi expiré à ce moment-là et n’a pas été actualisé, l’authentification échoue. Si possible, implémentez le mécanisme de récupération du JWT et de renouvellement après expiration dans la charge de travail d’IA qui utilise le SDK ou la CLI W&B.

Validation du JWT

Pour garantir que seuls des jetons valides accordent l’accès, le JWT fait l’objet des validations suivantes. Ces validations sont exécutées lorsque le SDK ou la CLI échange le JWT contre un jeton d’accès W&B, puis accède à un projet :
  • W&B vérifie la signature du JWT à l’aide du JWKS au niveau de l’organisation W&B. Il s’agit de la première ligne de défense et, si cette vérification échoue, cela signifie qu’il y a un problème avec votre JWKS ou avec la façon dont votre JWT est signé.
  • Le claim iss du JWT doit être égal à l’URL de l’émetteur configurée au niveau de l’organisation.
  • Le claim sub du JWT doit être égal à l’adresse e-mail de l’utilisateur telle qu’elle est configurée dans l’organisation W&B.
  • Le claim aud du JWT doit être égal au nom de l’organisation W&B qui héberge le projet auquel vous accédez dans le cadre de votre flux de travail d’IA. Sur les instances Cloud dédié ou Autogéré :
    • Pour ignorer la validation de l’audience, vous pouvez définir la variable d’environnement FEDERATED_AUTH_AUDIENCES sur wandb.
    • Certaines organisations ont des exigences spécifiques pour l’audience. Pour personnaliser la valeur de aud, définissez la variable d’environnement FEDERATED_AUTH_AUDIENCES sur une chaîne contenant une liste de valeurs d’audience séparées par des virgules.
  • W&B vérifie le claim exp du JWT pour déterminer si le jeton est valide ou s’il a expiré et doit être renouvelé.

Comptes de service externes

W&B prend en charge depuis longtemps les comptes de service intégrés avec des clés API à longue durée de vie. Avec la fédération d’identités pour le SDK et la CLI, vous pouvez également utiliser des comptes de service externes qui s’authentifient à l’aide de JWT. L’émetteur configuré de l’organisation doit émettre ces JWT. Un administrateur de l’équipe peut configurer des comptes de service externes à l’échelle d’une équipe, comme les comptes de service intégrés. Pour configurer un compte de service externe, un administrateur de l’équipe doit :
  1. Accédez à l’onglet Service Accounts de votre équipe.
  2. Cliquez sur New service account.
  3. Fournissez un nom au compte de service, sélectionnez Federated Identity comme Authentication Method, indiquez un Subject, puis cliquez sur Create.
Après cette étape, le compte de service externe est enregistré pour l’équipe et peut utiliser des JWT émis par le fournisseur d’identité configuré pour accéder à W&B. Le claim sub dans le JWT du compte de service externe doit être égal au sujet configuré par l’administrateur de l’équipe dans l’onglet Service Accounts au niveau de l’équipe. W&B vérifie ce claim dans le cadre de la validation du JWT. L’exigence relative au claim aud est similaire à celle des JWT d’utilisateurs humains. Lors de l’utilisation du JWT d’un compte de service externe pour accéder à W&B, il est souvent plus simple d’automatiser le flux de travail. L’automatisation génère le JWT initial et le renouvelle si nécessaire. Pour attribuer les runs enregistrés à l’aide d’un compte de service externe à un utilisateur humain, configurez les variables d’environnement WANDB_USERNAME ou WANDB_USER_EMAIL pour votre flux de travail d’IA, comme pour les comptes de service intégrés.
W&B recommande d’utiliser un mélange de comptes de service intégrés et externes pour vos charges de travail d’IA présentant différents niveaux de sensibilité des données. Cette approche offre un bon équilibre entre flexibilité et simplicité.