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.Documentation Index
Fetch the complete documentation index at: https://wb-21fd5541-docs-2661.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
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
- Accédez à l’onglet Settings dans le tableau de bord de votre organisation.
- Dans l’option Authentication, cliquez sur Set up JWT Issuer.
- Ajoutez l’URL de l’émetteur JWT dans la zone de texte, puis cliquez sur Create.
${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
- 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.
- 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. - 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’environnementWANDB_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
- 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
issdu JWT doit être égal à l’URL de l’émetteur configurée au niveau de l’organisation. -
Le claim
subdu JWT doit être égal à l’adresse e-mail de l’utilisateur telle qu’elle est configurée dans l’organisation W&B. -
Le claim
auddu 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_AUDIENCESsurwandb. - Certaines organisations ont des exigences spécifiques pour l’audience. Pour personnaliser la valeur de
aud, définissez la variable d’environnementFEDERATED_AUTH_AUDIENCESsur une chaîne contenant une liste de valeurs d’audience séparées par des virgules.
- Pour ignorer la validation de l’audience, vous pouvez définir la variable d’environnement
-
W&B vérifie le claim
expdu JWT pour déterminer si le jeton est valide ou s’il a expiré et doit être renouvelé.
Comptes de service externes
- Accédez à l’onglet Service Accounts de votre équipe.
- Cliquez sur New service account.
- Fournissez un nom au compte de service, sélectionnez Federated Identity comme Authentication Method, indiquez un Subject, puis cliquez sur Create.
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é.