Regardez une vidéo de démonstration de SCIM en action (12 min)
Aperçu
Cette page décrit comment les administrateurs d’instance et de l’organisation utilisent l’API System for Cross-domain Identity Management (SCIM) pour automatiser la gestion des identités dans W&B. Avec l’API SCIM, vous pouvez provisionner et déprovisionner des utilisateurs, gérer l’appartenance des utilisateurs aux équipes et définir des rôles personnalisés par programmation via un fournisseur d’identité ou un pipeline CI/CD, plutôt que de passer par la W&B App. Les groupes SCIM correspondent aux équipes W&B. L’API SCIM de W&B est compatible avec des fournisseurs d’identité tels qu’Okta et Microsoft Entra. Pour la configuration du SSO avec Okta, Microsoft Entra et d’autres fournisseurs d’identité, voir la documentation SSO. Pour des exemples pratiques en Python montrant comment interagir avec l’API SCIM, consultez le dépôtwandb-scim.
Fonctionnalités prises en charge
L’API SCIM prend en charge les fonctionnalités suivantes :- Filtrage : l’API prend en charge le filtrage pour les points de terminaison
/Userset/Groups. - Opérations PATCH : prise en charge de
PATCHpour les mises à jour partielles des ressources. - Prise en charge des ETags : mises à jour conditionnelles à l’aide d’ETags pour détecter les conflits.
- Authentification par compte de service : les comptes de service d’organisation peuvent accéder à l’API.
- Cycle de vie des comptes de service : provisionnez et déprovisionnez les comptes de service à portée d’équipe et à l’organisation. Pris en charge sur Cloud mutualisé, ainsi que sur Cloud dédié et Autogéré v0.81.0+.
Si vous êtes administrateur de plusieurs organisations Enterprise Cloud mutualisé, configurez l’organisation qui reçoit les requêtes de l’API SCIM afin que les requêtes effectuées avec votre clé API s’appliquent à la bonne organisation. Cliquez sur votre image de profil, puis sur Paramètres utilisateur, puis vérifiez le paramètre Organisation API par défaut.L’option d’hébergement choisie détermine la valeur de l’espace réservé
[HOST-URL] utilisé dans les exemples de cette page.Les exemples utilisent des ID utilisateur comme abc et def. Dans les requêtes et réponses réelles, les ID utilisateur ont des valeurs hachées.Authentification
Chaque requête SCIM doit être authentifiée en tant que principal administrateur. Les Administrateurs de l’organisation peuvent s’authentifier avec un jeton Bearer ou des identifiants HTTP Basic. Les deux méthodes utilisent la même clé API lorsqu’une clé est utilisée. Choisissez une identité utilisateur ou un compte de service limité à l’organisation après avoir pris connaissance des principales différences dans la section suivante.Principales différences
La liste suivante compare les identifiants utilisateur et les identifiants de compte de service pour l’authentification SCIM :- Qui devrait l’utiliser : les utilisateurs conviennent mieux aux actions d’administration interactives et ponctuelles. Les comptes de service conviennent mieux à l’automatisation et aux intégrations (CI/CD, outils de provisionnement).
- Identifiants : les utilisateurs envoient un nom d’utilisateur et une clé API pour l’authentification Basic. Les comptes de service envoient uniquement une clé API (sans nom d’utilisateur) pour l’authentification Basic. Pour l’authentification Bearer, envoyez uniquement la clé API dans l’en-tête (sans nom d’utilisateur).
- Bearer versus Basic : Bearer utilise
Authorization: Bearer [API-KEY]avec la clé telle quelle. Basic utiliseAuthorization: Basic <base64(...)>(les utilisateurs encodentusername:API-KEY, et les comptes de service encodent:API-KEYavec un deux-points au début et un nom d’utilisateur vide). - Portée et autorisations : utilisez une clé API d’un utilisateur administrateur de l’instance ou de l’organisation, ou d’un compte de service limité à l’organisation. Les clés des comptes de service à portée d’équipe ne peuvent pas s’authentifier auprès de l’API SCIM. Les comptes de service qui utilisent SCIM sont limités à l’organisation et non interactifs, ce qui offre des pistes d’audit plus claires pour l’automatisation.
- Où obtenir les identifiants : les utilisateurs copient leur clé API depuis les Paramètres utilisateur. Les clés des comptes de service limités à l’organisation se trouvent dans le tableau de bord de l’organisation, sous l’onglet Compte de service.
- Cloud mutualisé : si vous avez accès à plus d’une organisation dans le Cloud mutualisé, vous devez définir l’organisation API par défaut afin de garantir que les appels à l’API SCIM sont acheminés vers l’organisation prévue.
Bearer token
Envoyez la clé API sous forme de Bearer token :[API-KEY] correspond à la même chaîne que vous utiliseriez comme mot de passe dans l’authentification HTTP Basic pour ce principal. N’encodez pas la clé en Base64 pour les requêtes Bearer.
L’authentification Bearer pour l’API SCIM est disponible dans W&B Cloud mutualisé, ainsi que dans Cloud dédié et Autogéré v0.79.0 et versions ultérieures.
[API-KEY] comme espace réservé. Remplacez-le par une clé réelle issue d’un utilisateur administrateur ou d’un compte de service limité à l’organisation.
Lister les utilisateurs
Utilisateurs
Utilisez vos identifiants personnels d’administrateur lorsque vous effectuez des tâches d’administration interactives. Construisez l’en-tête HTTPAuthorization de la manière suivante : Basic <base64(username:API-KEY)>.
Par exemple, authentifiez-vous avec demo:p@55w0rd :
Comptes de service
Utilisez un compte de service limité à l’organisation pour l’automatisation ou les intégrations. Formatez l’en-tête HTTPAuthorization comme suit : Basic <base64(:API-KEY)> (notez les deux-points initiaux et le nom d’utilisateur vide). Vous trouverez les clés API des comptes de service dans le tableau de bord de l’organisation, sous l’onglet Compte de service. Consultez Comptes de service limités à l’organisation.
Par exemple, authentifiez-vous avec la clé API sa-p@55w0rd :
Configuration de Microsoft Entra ID
Utilisez cette section pour configurer le provisionnement automatique des utilisateurs et des groupes de Microsoft Entra ID vers W&B via l’API SCIM. Pour configurer l’authentification unique avec Entra, voir Configurer l’authentification unique avec Entra.Tenant URL
Dans les paramètres de provisionnement de votre application d’entreprise Entra, définissez Tenant URL sur l’URL de base SCIM de W&B, en y ajoutant le paramètre de requête d’indicateur de fonctionnalité EntraaadOptscim062020 :
https://wandb.example.com, définissez l’URL du locataire sur https://wandb.example.com/scim?aadOptscim062020.
Le paramètre aadOptscim062020 active une gestion spécifique à Entra dans l’API SCIM de W&B. Sans ce paramètre, Entra peut envoyer des requêtes de désactivation d’utilisateur avec des valeurs booléennes sous forme de chaînes ("False" ou "True") au lieu de booléens JSON (false ou true), ce qui peut entraîner l’échec de la désactivation.
Définissez Secret Token sur la clé API d’un administrateur de l’organisation ou d’un compte de service limité à l’organisation. Voir Authentification.
Lorsque vous ajoutez
aadOptscim062020 à l’URL du locataire, la désactivation d’utilisateur depuis l’interface utilisateur Provision on demand d’Entra dans le centre d’administration Microsoft Entra risque de ne pas fonctionner, car cette interface utilisateur envoie toujours des valeurs booléennes sous forme de chaînes. Pour tester la désactivation manuellement, envoyez une requête SCIM PATCH au format PatchOp Operations qui remplace active par false (voir Deactivate user).Noms des équipes
Nommez les groupes Entra qui correspondent à des équipes W&B en utilisant des lettres minuscules et des traits d’union, par exempleml-platform ou data-science. Évitez les espaces, les caractères de soulignement et les autres caractères spéciaux dans les noms d’affichage des groupes que vous synchronisez avec W&B.
Mappages des attributs utilisateur
Configurez les mappages d’attributs suivants dans Entra pour le provisionnement SCIM des utilisateurs :Dans Cloud mutualisé, le compte d’un utilisateur n’est pas géré par l’organisation. W&B ne prend pas en charge la mise à jour de
displayName via SCIM dans le Cloud mutualisé. Voir Mettre à jour le nom d’affichage de l’utilisateur.Mappages des attributs de groupe
Configurez les mappages d’attributs suivants dans Entra pour le provisionnement SCIM des groupes (équipes) :Gestion des utilisateurs
La ressource utilisateur SCIM correspond aux utilisateurs W&B et aux comptes de service. Utilisez les points de terminaison de cette section pour provisionner, mettre à jour et supprimer les utilisateurs et les comptes de service dans votre organisation, par exemple lorsque vous intégrez de nouveaux employés, renouvelez des identifiants de service ou retirez l’accès aux utilisateurs quittant l’organisation. Pour les concepts liés aux comptes de service et aux flux de travail de l’interface utilisateur, voir Utiliser des comptes de service pour automatiser les flux de travail.Modification incompatible pour les intégrations qui analysent le JSON de l’objet User SCIM
- Dans Cloud dédié et Autogéré v0.80.1+, ainsi que dans les déploiements Cloud mutualisé après le 30 avril 2026, les réponses de
/scim/Users(y comprisGETuser,GETusers et les réponsesPATCHqui renvoient un User) sérialisentemailssous forme de tableau JSON d’objets avec des noms de champs en minuscules (value,primary, ettypeoudisplayfacultatifs), conformément à SCIM 2.0. - Les déploiements sur des versions antérieures renvoient
emailssous la forme d’un unique objet JSON avec des clés en PascalCase (Value,Primaryet similaires).
emails dans les réponses SCIM, traitez emails comme un tableau et lisez l’entrée principale (ou le premier élément).Les corps de requête utilisés pour créer ou mettre à jour des utilisateurs sont déjà au format tableau et ne changent pas. Le filtre list-users emails.value eq "..." reste lui aussi inchangé.Obtenir un utilisateur
Récupère les informations d’un utilisateur spécifique ou d’un compte de service de votre organisation à partir de l’ID utilisateur, ou celles d’un utilisateur à partir de son adresse e-mail. Les réponses des comptes de service incluentaccountType (SERVICE pour les comptes de service à portée d’équipe, ORG_SERVICE pour les comptes de service limités à l’organisation). Les comptes de service n’incluent pas emails.
Endpoint
- URL:
[HOST-URL]/scim/Users/{id} - Méthode:
GET
Paramètres
Exemple
- Requête Obtenir un utilisateur
- Réponse Obtenir un utilisateur
Lister les utilisateurs
Récupère la liste de tous les utilisateurs et comptes de service de votre organisation. Chaque ressource comprendaccountType (USER, SERVICE ou ORG_SERVICE).
Filtrer les Users
Le point de terminaison/Users permet de filtrer les Users par nom d’utilisateur ou adresse e-mail :
userName eq "value": Filtrer par nom d’utilisateur.emails.value eq "value": Filtrer par adresse e-mail.
Endpoint
- URL:
[HOST-URL]/scim/Users - Méthode:
GET
Exemple
- Requête de liste des Users
- Réponse de liste des Users
Créer un utilisateur
Crée un nouvel utilisateur au sein de votre organisation.Endpoint
- URL:
[HOST-URL]/scim/Users - Méthode:
POST
Paramètres
Exemple
- Requête de création d’utilisateur (Dedicated/Autogéré)
- Requête de création d’utilisateur (multilocataire)
Réponse
- Réponse de création d’utilisateur (Dedicated/Autogéré)
- Réponse de création d’utilisateur (multilocataire)
Créer un compte de service
Crée un compte de service limité à une équipe ou à l’organisation dans votre organisation. Utilisez ce point de terminaison pour créer des identités non interactives pour l’automatisation, le CI/CD ou des intégrations qui ne doivent pas être liées à un utilisateur humain. OmettezaccountType pour créer à la place un utilisateur standard. Voir Create user.
Disponible dans Cloud dédié, Autogéré v0.81.0+ et Cloud mutualisé.
- Définissez
userNamesur le nom du compte de service. L’API utiliseuserNamecomme nom d’affichage du compte. Le champdisplayNamedans le corps de la requête est ignoré. emailsn’est pas requis pour les comptes de service.modelsSeatetweaveRolene sont pas pris en charge à la création et renvoient400 Bad Requests’ils sont présents.- Les comptes de service ne peuvent pas être mis à jour avec
PATCHouPUT, ne peuvent pas être désactivés et ne peuvent pas se voir attribuer de rôles d’organisation, d’équipe ou de registre via SCIM. Créez des clés API dans la W&B App après le provisionnement.
Endpoint
- URL:
[HOST-URL]/scim/Users - Méthode:
POST
Paramètres
Exemple
- Requête de création d’un compte de service d’équipe
- Requête de création d’un compte de service d’organisation
Réponse
- Réponse de provisionnement du compte de service d’équipe
- Réponse de provisionnement du compte de service d’organisation
accountType est ORG_SERVICE.
Dans les déploiements Autogérés, organizationRole vaut service ou org_service au lieu de member, selon le type de compte.
Si la réponse renvoie l’une des erreurs suivantes, vérifiez la requête pour repérer ces problèmes courants :
409 Conflict: la requête inclut des clésuserNameen double pour le même compte de service.400 Bad Request: la requête ne contient pasdefaultTeamou lui attribue une valeur non valide.
Déprovisionner un compte de service
Supprime définitivement un compte de service ainsi que son appartenance à l’organisation. Utilisez ce point de terminaison lorsqu’un compte de service n’est plus nécessaire (par exemple, après la mise hors service d’un pipeline d’automatisation). Il s’agit d’une suppression définitive ; le compte ne peut pas être réactivé via SCIM.Disponible dans Cloud dédié et Autogéré v0.81.0+, ainsi que dans Cloud mutualisé. Utilisez l’
id utilisateur SCIM du compte de service figurant dans la réponse de provisionnement ou dans Obtenir un utilisateur. Le déprovisionnement ne supprime pas les clés API déjà émises ; révoquez-les séparément dans la W&B App si nécessaire.Endpoint
- URL:
[HOST-URL]/scim/Users/{id} - Méthode:
DELETE
Paramètres
Exemple
- Requête de déprovisionnement du compte de service
- Réponse de déprovisionnement du compte de service
Supprimer un utilisateur
Supprime définitivement un utilisateur de votre organisation. Pour supprimer un compte de service, voir Déprovisionner un compte de service.Endpoint
- URL:
[HOST-URL]/scim/Users/{id} - Méthode:
DELETE
Paramètres
Exemple
- Requête de suppression de l’utilisateur
- Réponse de suppression de l’utilisateur
Pour désactiver temporairement l’utilisateur, référez-vous à l’API Désactiver l’utilisateur, qui utilise l’endpoint
PATCH.Mettre à jour l’adresse e-mail d’un utilisateur
Met à jour l’adresse e-mail principale d’un utilisateur. Non pris en charge dans le Cloud mutualisé, où le compte d’un utilisateur n’est pas géré par l’organisation.Point de terminaison
- URL:
[HOST-URL]/scim/Users/{id} - Méthode:
PATCH
Paramètres
Exemple
- Requête de mise à jour de l’adresse e-mail
- Réponse de mise à jour de l’adresse e-mail
Mettre à jour le nom d’affichage de l’utilisateur
Met à jour le nom d’affichage d’un utilisateur. Non pris en charge dans le Cloud mutualisé, où le compte d’un utilisateur n’est pas géré par l’organisation.Point de terminaison
- URL:
[HOST-URL]/scim/Users/{id} - Méthode:
PATCH
Paramètres
Exemple
- Requête de mise à jour du nom d’affichage
- Réponse de mise à jour du nom d’affichage
Désactiver un utilisateur
Désactive un utilisateur dans votre organisation. Le résultat varie selon le type de déploiement :- Cloud dédié / Autogéré : définit le champ
activede l’utilisateur surfalse. Pour rétablir l’accès d’un utilisateur désactivé à votre organisation, voir Réactiver un utilisateur. - Cloud mutualisé : supprime l’utilisateur de l’organisation. Pour rétablir l’accès de l’utilisateur, ajoutez-le de nouveau à votre organisation. Voir Créer un utilisateur. Dans le Cloud mutualisé, le compte d’un utilisateur n’est pas géré par l’organisation.
Cette opération fonctionne uniquement pour les utilisateurs, pas pour les comptes de service. La désactivation d’un compte de service n’est pas prise en charge. Gérez les comptes de service d’équipe dans les Settings de l’équipe W&B.
Point de terminaison
- URL:
[HOST-URL]/scim/Users/{id} - Méthode:
PATCH
Paramètres
Exemple
- Requête de désactivation d’un utilisateur (Dedicated/Autogéré)
- Requête de désactivation d’un utilisateur (Multi-tenant)
Réponse
- Réponse de désactivation d’un utilisateur (Dedicated/Autogéré)
- Réponse de désactivation d’un utilisateur (Multi-tenant)
Réactiver un utilisateur
Réactive un utilisateur précédemment désactivé dans votre organisation.- La réactivation ne fonctionne que pour les utilisateurs, pas pour les comptes de service. Elle n’est pas prise en charge pour les comptes de service. Gérez les comptes de service dans les paramètres de l’équipe W&B.
-
La réactivation des utilisateurs n’est pas prise en charge dans le Cloud mutualisé. Pour restaurer l’accès de l’utilisateur, ajoutez-le à nouveau à votre organisation. Voir Créer un utilisateur. Dans le Cloud mutualisé, le compte d’un utilisateur n’est pas géré par l’organisation. Toute tentative de réactivation d’un utilisateur entraîne une erreur HTTP
400. Le champdetaildans le corps de la réponse est renvoyé tel quel par l’API et peut encore utiliser l’ancienne terminologie du produit :
Point de terminaison
- URL:
[HOST-URL]/scim/Users/{id} - Méthode:
PATCH
Paramètres
Exemple
- Requête de réactivation de l’utilisateur
- Réponse de réactivation de l’utilisateur
Attribuer un rôle au niveau de l’organisation
Attribue à un utilisateur un rôle au niveau de l’organisation.Cette opération fonctionne uniquement pour les utilisateurs, pas pour les comptes de service. Les rôles personnalisés ne sont pas pris en charge pour les comptes de service.
Point de terminaison
- URL:
[HOST-URL]/scim/Users/{id} - Méthode:
PATCH
Paramètres
Le rôle
viewer au niveau de l’organisation est obsolète et ne peut plus être attribué dans l’interface utilisateur. Si vous utilisez SCIM pour attribuer le rôle viewer à un utilisateur :- Le rôle
memberlui est attribué dans l’organisation. - Son
modelsSeatest défini surviewerau lieu defull. Cela permet un accès en lecture seule à Models et un accès complet au registre. Si aucune licence Models n’est disponible, une erreurSeat limit reachedest renvoyée. Cela pourra être mis à jour plus tard si une licence devient disponible. - Son
weaveRoleest défini surviewerau lieu defull. Cela permet un accès en lecture seule à Weave. - Tous ses rôles d’équipe et de projet existants sont définis sur
viewer. - Le rôle
viewerdu registre lui est attribué dans les registres visibles au niveau de l’organisation.
member ou admin ne modifie pas le modelsSeat ni le weaveRole de l’utilisateur.Exemple
- Requête d’attribution d’un rôle d’organisation
- Réponse d’attribution d’un rôle d’organisation
Mettre à jour la licence Models
Met à jour la licence Models attribuée à un utilisateur.Sur Cloud mutualisé et sur Cloud dédié et Autogéré v0.83.0+, l’accès à Registry est dissocié des licences Models. Définir
modelsSeat sur none ne révoque plus l’accès à Registry lorsque l’utilisateur a un weaveRole différent de none. Pour révoquer l’accès à Registry sur ces déploiements, utilisez Mettre à jour l’accès à Registry et définissez registryAccess sur none.Sur Cloud dédié et Autogéré v0.82.0 et antérieures, l’accès à Registry reste lié à modelsSeat. Définissez modelsSeat sur none pour révoquer l’accès à Registry dans ces versions.Point de terminaison
- URL:
[HOST-URL]/scim/Users/{id} - Méthode:
PATCH
Paramètres
Exemple
- Requête de mise à jour de la licence Models
- Réponse de mise à jour de la licence Models
Mettre à jour le rôle Weave
Met à jour le rôle d’un utilisateur dans Weave.Point de terminaison
- URL:
[HOST-URL]/scim/Users/{id} - Méthode:
PATCH
Paramètres
Exemple
- Requête de mise à jour du rôle Weave
- Réponse de mise à jour du rôle Weave
Mettre à jour l’accès au registre
Accorde ou révoque l’accès au registre au niveau de l’organisation pour un utilisateur. Ce droit est distinct des rôles du registre (registryRoles), qui contrôlent les autorisations pour chaque registre une fois l’utilisateur autorisé.
Sur Cloud mutualisé et sur Cloud dédié et Autogéré v0.83.0+, les utilisateurs ayant un modelsSeat ou un weaveRole différent de none ont accès au registre par défaut. Définissez registryAccess sur none pour révoquer l’accès au registre sans modifier leur licence Models ni leur rôle Weave.
Sur Cloud dédié et Autogéré, v0.82.0 et versions antérieures, utilisez Mettre à jour la licence Models et définissez modelsSeat sur none pour révoquer l’accès au registre. L’attribut registryAccess n’est pas disponible dans ces versions.
Si vous omettez registryAccess lors de la création, l’API détermine l’accès effectif à partir du modelsSeat et du weaveRole de l’utilisateur lorsque vous récupérez cet utilisateur. Une valeur registryAccess explicite prime sur ce calcul. Les utilisateurs ayant un rôle d’organisation limité à la facturation ne reçoivent pas l’accès au registre via ce mécanisme.
Point de terminaison
- URL:
[HOST-URL]/scim/Users/{id} - Méthode:
PATCH
Paramètres
Exemple
- Requête de révocation de l’accès au registre
- Réponse de révocation de l’accès au registre
Attribuer un rôle d’équipe
Attribue à un utilisateur un rôle d’équipe.Cette opération s’applique uniquement aux utilisateurs, et non aux comptes de service. Les rôles personnalisés ne sont pas pris en charge pour les comptes de service.
Point de terminaison
- URL:
[HOST-URL]/scim/Users/{id} - Méthode:
PATCH
Paramètres
Exemple
- Requête d’attribution d’un rôle d’équipe
- Réponse d’attribution d’un rôle d’équipe
Ajouter au registre
Ajoute un utilisateur à un registre en lui attribuant un rôle au niveau du registre.Cette opération fonctionne uniquement pour les utilisateurs, et non pour les comptes de service. Les rôles personnalisés ne sont pas pris en charge pour les comptes de service.
Point de terminaison
- URL:
[HOST-URL]/scim/Users/{id} - Méthode:
PATCH
Paramètres
Exemple
- Requête d’ajout au registre
- Réponse d’ajout au registre
Retirer du registre
Retire un utilisateur d’un registre.Cette opération retire un utilisateur d’un registre spécifique. Elle ne révoque pas l’accès au registre au niveau de l’organisation. Pour révoquer entièrement l’accès au registre, utilisez Mettre à jour l’accès au registre.
- Les opérations de suppression suivent les spécifications du protocole SCIM RFC 7644. Utilisez la syntaxe de filtre
"registryRoles[registryName eq \"{registry_name}\"]"pour retirer un utilisateur d’un registre spécifique, ou"registryRoles"pour retirer l’utilisateur de tous les registres. - Cette opération fonctionne uniquement pour les utilisateurs, pas pour les comptes de service. Retirez les comptes de service d’un registre dans les paramètres de l’équipe W&B.
Point de terminaison
- URL:
[HOST-URL]/scim/Users/{id} - Méthode:
PATCH
Paramètres
Exemple
- Requête de suppression d’un registre
- Réponse de suppression d’un registre
- Requête de suppression de tous les registres
- Réponse de suppression de tous les registres
Ressource de groupe
La ressource de groupe SCIM correspond à une équipe W&B. Utilisez les points de terminaison de cette section pour créer des équipes, gérer les membres de l’équipe et, éventuellement, configurer le stockage au niveau de l’équipe depuis votre fournisseur d’identité ou votre automatisation. Lorsque vous créez un groupe SCIM dans votre IAM, cela crée un mappage vers une équipe W&B, et les autres opérations sur les groupes SCIM s’appliquent à cette équipe. Pour configurer un stockage personnalisé lors de la création de l’équipe, incluezstorageBucket dans la requête.
Comptes de service
Lorsque vous créez une équipe W&B à l’aide de SCIM, tous les comptes de service au niveau de l’organisation y sont automatiquement ajoutés afin de préserver leur accès aux ressources de l’équipe.Filtrer les groupes
Le point de terminaison/Groups permet de filtrer les résultats pour rechercher des Teams spécifiques.
Filtres pris en charge
Le point de terminaison/Groups prend en charge le filtre suivant :
displayName eq "value": Filtrer par le nom d’affichage de l’équipe.
Exemple
Obtenir l’équipe
Récupérez les informations d’une équipe à l’aide de son ID unique.Point de terminaison
- URL:
[HOST-URL]/scim/Groups/{id} - Méthode:
GET
Exemple
- Requête
- Réponse
Liste des équipes
Récupérez la liste des équipes.Point de terminaison
- URL:
[HOST-URL]/scim/Groups - Méthode:
GET
Exemple
- Requête
- Réponse
Créer une équipe
Crée une nouvelle ressource d’équipe.Point de terminaison
- URL:
[HOST-URL]/scim/Groups - Méthode:
POST
Champs pris en charge
Vous pouvez configurer Bring your own bucket (BYOB) au niveau de l’équipe lors de sa création en incluant un objet
storageBucket. S’il est omis, l’équipe utilise le stockage par défaut ou le stockage au niveau de l’instance. Provisionnez le bucket (stratégie, CORS, identifiants) et déterminez, à l’aide du guide BYOB, le format d’adresse de stockage selon le fournisseur. L’objet storageBucket comporte les sous-champs suivants :
- Requis:
name(nom du bucket),provider(l’une des valeurs suivantes :COREWEAVE,AWS,AZURE,GCPouMINIO). La valeur est sensible à la casse. Utilisez les majuscules comme indiqué. - Facultatif:
path(préfixe de chemin dans le bucket),kmsKeyId(clé KMS pour le chiffrement, par exemple pour AWS),awsExternalId(accès AWS inter-comptes),azureTenantId(ID du locataire Azure),azureClientId(ID client de l’identité managée Azure).
provider invalide renvoie 400 Bad Request avec une erreur SCIM qui répertorie les valeurs autorisées.
Exemples
Ces exemples montrent comment créer une équipe sans stockage personnalisé et avec un stockage BYOB chez un fournisseur donné. Sélectionnez un onglet correspondant à la configuration de stockage souhaitée pour voir un exemple de requête, puis sélectionnez l’onglet Réponse pour voir un exemple de réponse.- Requête (sans BYOB)
- CoreWeave
- AWS S3
- Azure
- GCP
- Réponse
Mettre à jour l’équipe
Met à jour la liste des membres d’une équipe existante.Point de terminaison
- URL:
[HOST-URL]/scim/Groups/{id} - Méthode:
PATCH - Opérations prises en charge:
addun membre,removeun membre,replaceles membres.
-
Les opérations de suppression suivent les spécifications du protocole SCIM RFC 7644. Utilisez la syntaxe de filtre
members[value eq "{user_id}"]pour supprimer un utilisateur spécifique, oumemberspour supprimer tous les utilisateurs de l’équipe. Identification de l’utilisateur : le{user_id}dans les opérations sur les membres peut être l’un des éléments suivants :- Un ID utilisateur W&B.
- Une adresse e-mail (par exemple, “user@example.com”).
- Ces opérations fonctionnent uniquement pour les utilisateurs, pas pour les comptes de service. Mettez à jour les comptes de service d’une équipe dans les Settings de l’équipe W&B.
Remplacez
{team_id} par l’ID réel de l’équipe et {user_id} par l’ID utilisateur réel ou l’adresse e-mail réelle dans vos requêtes.Remplacer les membres de l’équipe
Remplace tous les membres d’une équipe par une nouvelle liste.Cette opération s’applique uniquement aux utilisateurs, pas aux comptes de service. Gérez les comptes de service dans les Settings de l’équipe W&B.
Point de terminaison
- URL:
[HOST-URL]/scim/Groups/{id} - Méthode:
PUT
- Requête
- Réponse
Ajouter un utilisateur à une équipe
Ajout dedev-user2 à acme-devs :
Cette opération s’applique uniquement aux utilisateurs, pas aux comptes de service. Gérez les comptes de service dans les Settings de l’équipe W&B.
- Requête
- Réponse
Supprimer un User spécifique d’une équipe
Suppression dedev-user2 de acme-devs :
Cette opération fonctionne uniquement pour les Users, pas pour les comptes de service. Gérez les comptes de service dans les Settings de l’équipe W&B.
- Requête
- Réponse
Suppression de tous les Users d’une équipe
Suppression de tous les Users deacme-devs :
Cette opération fonctionne uniquement pour les Users, pas pour les comptes de service. Gérez les comptes de service dans les Settings de l’équipe W&B.
- Requête
- Réponse
Supprimer une équipe
L’API SCIM ne prend pas en charge la suppression des équipes, car des données supplémentaires leur sont liées. Supprimez les équipes depuis la W&B App pour confirmer que vous souhaitez tout supprimer.Ressource de rôle
La ressource de rôle SCIM correspond aux rôles personnalisés de W&B. Utilisez les endpoints de cette section pour créer et gérer des rôles personnalisés par programmation (par exemple, pour maintenir les définitions de rôles synchronisées avec vos politiques d’accès). Les endpoints/Roles ne font pas partie du schéma SCIM officiel. W&B ajoute ces endpoints /Roles pour permettre la gestion automatisée des rôles personnalisés dans les organisations W&B.
Obtenir un rôle personnalisé
Récupérez les informations d’un rôle personnalisé en indiquant son ID unique.point de terminaison
- URL :
[HOST-URL]/scim/Roles/{id} - Méthode :
GET
Exemple
- Requête
- Réponse
Lister les rôles personnalisés
Récupérez les informations sur tous les rôles personnalisés de l’organisation W&B.point de terminaison
- URL:
[HOST-URL]/scim/Roles - Méthode:
GET
Exemple
- Requête
- Réponse
Créer un rôle personnalisé
Crée un nouveau rôle personnalisé dans l’organisation W&B.point de terminaison
- URL:
[HOST-URL]/scim/Roles - Méthode:
POST
Champs pris en charge
Exemple
- Requête
- Réponse
Mettre à jour un rôle personnalisé
Les sections suivantes décrivent comment ajouter ou supprimer des autorisations dans un rôle personnalisé existant.Ajouter des autorisations à un rôle
Ajouter des autorisations à un rôle personnalisé existant.- URL:
[HOST-URL]/scim/Roles/{id} - Méthode:
PATCH
- Requête
- Réponse
Supprimer une autorisation d’un rôle
Supprime des autorisations d’un rôle personnalisé existant.- URL:
[HOST-URL]/scim/Roles/{id} - Méthode:
PATCH
- Requête
- Réponse
Remplacer le rôle personnalisé
Remplace intégralement la définition d’un rôle personnalisé.Point de terminaison
- URL:
[HOST-URL]/scim/Roles/{id} - Méthode:
PUT
- Requête
- Réponse
Supprimer un rôle personnalisé
Supprimez un rôle personnalisé dans l’organisation W&B. Utilisez cette opération avec prudence. Le rôle prédéfini dont héritait le rôle personnalisé est réattribué à tous les utilisateurs auxquels ce rôle personnalisé était attribué avant la suppression.point de terminaison
- URL:
[HOST-URL]/scim/Roles/{id} - Méthode:
DELETE
Exemple
- Requête
- Réponse
Fonctionnalités avancées
Les sections suivantes décrivent des fonctionnalités facultatives (contrôle de la concurrence basé sur les ETag et réponses d’erreur standard) qui permettent aux intégrations SCIM de fonctionner de manière sûre en production.Prise en charge des ETags
L’API SCIM prend en charge les ETags pour les mises à jour conditionnelles afin d’éviter les conflits liés aux modifications simultanées. Cela est important lorsque plusieurs administrateurs ou systèmes automatisés mettent à jour la même ressource, car cela garantit qu’une mise à jour n’en écrase pas une autre sans avertissement. Les ETags sont renvoyés dans l’en-tête de réponseETag et dans le champ meta.version.
ETags
Pour utiliser les ETags, suivez ces étapes :- Obtenir l’ETag actuel : lorsque vous envoyez une requête GET sur une ressource, relevez l’en-tête ETag dans la réponse.
- Mise à jour conditionnelle : incluez l’ETag dans l’en-tête
If-Matchlors de la mise à jour.
Exemple
412 Precondition Failed indique que la ressource a été modifiée depuis que vous l’avez récupérée.
Gestion des erreurs
L’API SCIM renvoie des réponses d’erreur SCIM standard :Différences d’implémentation selon le type de déploiement
W&B propose deux implémentations distinctes de l’API SCIM, dont les fonctionnalités diffèrent : consultez le tableau suivant avant d’intégrer SCIM afin de vérifier que les opérations sur lesquelles vous vous appuyez sont disponibles pour votre type de déploiement.Limitations
Gardez à l’esprit les contraintes suivantes lorsque vous concevez des intégrations SCIM :- Nombre maximal de résultats : 9 999 éléments par requête.
- Cloud dédié et Autogéré : ne prennent en charge qu’une seule adresse e-mail par utilisateur.
- Suppression d’équipe : non prise en charge via SCIM (utilisez l’interface web W&B).
- Réactivation des utilisateurs : non prise en charge dans les environnements de Cloud mutualisé.
- Limites de licences : les opérations peuvent échouer si les limites de licences de l’organisation sont atteintes.