Regardez une vidéo de démonstration de SCIM (12 min)
Aperçu
Cette page explique comment les administrateurs d’instance et les administrateurs de l’organisation utilisent l’API System for Cross-domain Identity Management (SCIM) pour automatiser la gestion des identités dans W&B. L’API SCIM vous permet de provisionner et de déprovisionner des utilisateurs, de gérer l’appartenance aux équipes et de définir des rôles personnalisés par programmation, via un fournisseur d’identité ou un pipeline CI/CD, sans avoir à passer par l’interface de 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 configurer le SSO avec Okta, Microsoft Entra ou d’autres fournisseurs d’identité, consultez la documentation SSO. Pour des exemples pratiques en Python illustrant l’utilisation de 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 sur les points de terminaison
/Userset/Groups. - Opérations PATCH : prise en charge de
PATCHpour la mise à jour partielle des ressources. - Prise en charge des ETags : mises à jour conditionnelles basées sur les ETags pour détecter les conflits.
- Authentification par compte de service : les comptes de service de l’organisation peuvent accéder à l’API.
- Cycle de vie des comptes de service : provisionnez et déprovisionnez des comptes de service à portée d’équipe ou limités à l’organisation. Pris en charge sur le Cloud mutualisé, ainsi que sur le Cloud dédié et les déploiements autogérés à partir de la version v0.81.0.
Si vous êtes administrateur de plusieurs organisations Enterprise en Cloud mutualisé, configurez l’organisation destinataire des requêtes 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, et vérifiez le paramètre Default API organization.La valeur de l’espace réservé
[HOST-URL] utilisé dans les exemples de cette page dépend de l’option d’hébergement choisie.Les exemples utilisent des ID d’utilisateur tels que abc et def. Dans les requêtes et réponses réelles, les ID d’utilisateur sont des valeurs hachées.Authentification
Chaque requête SCIM doit être authentifiée par un principal administrateur. Les administrateurs de l’organisation peuvent s’authentifier à l’aide d’un jeton Bearer ou d’identifiants d’authentification HTTP Basic. Dans les deux cas, c’est la même chaîne de clé API qui est utilisée lorsqu’une clé est requise. Consultez les principales différences présentées dans la section suivante, puis choisissez une identité d’utilisateur ou un compte de service limité à l’organisation.Principales différences
La liste suivante compare les identifiants d’authentification d’utilisateur et ceux de compte de service pour l’authentification SCIM :- Cas d’usage : les utilisateurs sont plus adaptés aux actions d’administration interactives et ponctuelles. Les comptes de service sont plus adaptés à l’automatisation et aux intégrations (CI/CD, outils de provisionnement).
- Identifiants d’authentification : 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 ou 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-KEY, précédé du caractère deux-points et avec un nom d’utilisateur vide). - Portée et autorisations : utilisez la clé API d’un utilisateur administrateur de l’instance ou administrateur de l’organisation, ou celle d’un compte de service limité à l’organisation. Les clés des comptes de service à portée d’équipe ne permettent pas de s’authentifier auprès de l’API SCIM. Les comptes de service qui utilisent SCIM sont limités à l’organisation et fonctionnent sans interface, ce qui permet d’obtenir des pistes d’audit plus claires pour l’automatisation.
- Où obtenir les identifiants d’authentification : 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 Service account.
- Cloud mutualisé : si vous avez accès à plusieurs organisations Cloud mutualisé, vous devez définir l’organisation API par défaut afin que les appels d’API SCIM soient acheminés vers la bonne organisation.
Jeton Bearer
Envoyez la clé API sous forme de jeton Bearer :[API-KEY] correspond à la même chaîne que celle que vous utiliseriez comme mot de passe pour ce principal dans l’authentification HTTP Basic. N’encodez pas la clé en Base64 pour les requêtes Bearer.
L’authentification Bearer pour l’API SCIM est disponible dans le Cloud mutualisé W&B, ainsi que dans le Cloud dédié et les déploiements autogérés à partir de la version v0.79.0.
[API-KEY] comme espace réservé. Remplacez-le par une clé réelle appartenant à un utilisateur administrateur ou à un compte de service limité à l’organisation.
Lister les utilisateurs
Users
Utilisez vos identifiants d’administration personnels pour effectuer des tâches d’administration interactives. Construisez l’en-tête HTTPAuthorization sous la forme Basic <base64(username:API-KEY)>.
Par exemple, pour vous authentifier en tant que demo:p@55w0rd :
Comptes de service
Utilisez un compte de service limité à l’organisation pour les automatisations ou les intégrations. Construisez l’en-tête HTTPAuthorization sous la forme Basic <base64(:API-KEY)> (notez le deux-points initial 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 Service account. Reportez-vous à Comptes de service limités à l’organisation.
Par exemple, pour vous authentifier 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 depuis Microsoft Entra ID vers W&B via l’API SCIM. Pour configurer le SSO avec Entra, voir Configurer le SSO avec Entra.URL du locataire
Dans les paramètres d’approvisionnement de votre application d’entreprise Entra, définissez Tenant URL sur votre URL de base SCIM W&B, en y ajoutant le paramètre de requêteaadOptscim062020, qui correspond à l’indicateur de fonctionnalité Entra :
https://wandb.example.com, définissez l’URL du locataire sur https://wandb.example.com/scim?aadOptscim062020.
Le paramètre aadOptscim062020 active une gestion propre à Entra dans l’API SCIM de W&B. Sans ce paramètre, Entra peut envoyer des requêtes de désactivation d’utilisateur contenant des valeurs booléennes sous forme de chaînes ("False" ou "True") au lieu de booléens JSON (false ou true), ce qui peut faire échouer la désactivation.
Dans le champ Secret Token, saisissez la clé API d’un utilisateur 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’utilisateurs depuis l’interface Provision on demand d’Entra, dans le centre d’administration Microsoft Entra, risque de ne pas fonctionner, car cette interface 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 la valeur de active par false (voir Désactiver un utilisateur).Noms des équipes
Nommez les groupes Entra associés aux é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 tout autre caractère spécial dans les noms d’affichage des groupes que vous synchronisez avec W&B.
Mappages d’attributs utilisateur
Configurez les mappages d’attributs suivants dans Entra pour le provisionnement SCIM des utilisateurs :Sur le 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 sur le Cloud mutualisé. Voir Mettre à jour le nom d’affichage d’un utilisateur.Mappages d’attributs de groupe
Configurez les mappages d’attributs suivants dans Entra pour le provisionnement des groupes SCIM (équipes) :Gestion des utilisateurs
La ressource utilisateur SCIM correspond aux utilisateurs et aux comptes de service W&B. Utilisez les points de terminaison de cette section pour provisionner, mettre à jour et supprimer des utilisateurs et des comptes de service dans votre organisation, par exemple lors de l’arrivée de nouveaux employés, pour faire pivoter les identifiants d’authentification des services ou pour révoquer l’accès des utilisateurs qui quittent l’organisation. Pour en savoir plus sur les concepts relatifs aux comptes de service et les flux de travail dans l’interface utilisateur, consultez Utiliser des comptes de service pour automatiser les flux de travail.Changement incompatible pour les intégrations qui analysent le JSON SCIM User
- Dans le Cloud dédié et les déploiements autogérés v0.80.1+, ainsi que dans les déploiements Cloud mutualisé après le 30 avril 2026, les réponses de
/scim/Users(y compris les réponsesGETd’un utilisateur,GETdes utilisateurs etPATCHqui renvoient un User) sérialisentemailssous forme de tableau JSON d’objets dont les noms de champs sont en minuscules (value,primaryet, de manière facultative,typeoudisplay), conformément à SCIM 2.0. - Les déploiements sur des versions antérieures renvoient
emailssous forme d’un objet JSON unique dont les clés sont en PascalCase (Value,Primary, etc.).
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 de création ou de mise à jour d’utilisateurs utilisaient déjà la forme tableau et restent inchangés. Le filtre list-users emails.value eq "..." reste également inchangé.Obtenir un utilisateur
Récupère les informations d’un utilisateur ou d’un compte de service spécifique de votre organisation à partir de son ID utilisateur, ou celles d’un utilisateur à partir de son adresse e-mail. Les réponses concernant les 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 ne comportent pas de champ emails.
Point de terminaison
- URL :
[HOST-URL]/scim/Users/{id} - Méthode :
GET
Paramètres
Exemple
- Requête Get User
- Réponse Get User
Lister les utilisateurs
Récupère la liste de tous les utilisateurs et comptes de service de votre organisation. Chaque ressource comporte un champaccountType (USER, SERVICE ou ORG_SERVICE).
Filtrer les utilisateurs
Le point de terminaison/Users permet de filtrer les utilisateurs par nom d’utilisateur ou par adresse e-mail :
userName eq "value": filtrer par nom d’utilisateur.emails.value eq "value": filtrer par adresse e-mail.
Point de terminaison
- URL :
[HOST-URL]/scim/Users - Méthode :
GET
Exemple
- Requête de liste des utilisateurs
- Réponse de liste des utilisateurs
Créer un utilisateur
Crée un nouvel utilisateur dans votre organisation.Point de terminaison
- URL :
[HOST-URL]/scim/Users - Méthode :
POST
Paramètres
Exemple
- Requête de création d’utilisateur (Cloud dédié/autogéré)
- Requête de création d’utilisateur (Cloud mutualisé)
Réponse
- Réponse de création d’utilisateur (Cloud dédié/autogéré)
- Réponse de création d’utilisateur (Cloud mutualisé)
Provisionner un compte de service
Crée un compte de service à portée d’équipe ou limité à l’organisation. Utilisez ce point de terminaison pour créer des identités sans interface destinées à l’automatisation, à la CI/CD ou aux intégrations qui ne doivent pas être liées à un utilisateur humain. Pour créer un utilisateur standard, omettezaccountType. Voir Créer un utilisateur.
Disponible dans le Cloud dédié et en mode autogéré v0.81.0+, ainsi que dans le Cloud mutualisé.
- Définissez
userNamesur le nom du compte de service. L’API utiliseuserNamecomme nom d’affichage du compte. Le champdisplayNamedu corps de requête est ignoré. - Les
emailsne sont pas requis pour les comptes de service. modelsSeatetweaveRolene sont pas pris en charge lors de la création et renvoient400 Bad Requests’ils sont présents.- Les comptes de service ne peuvent pas être mis à jour avec
PATCHouPUTni être désactivés, et aucun rôle d’organisation, d’équipe ou de registre ne peut leur être attribué via SCIM. Après le provisionnement, créez des clés API dans la W&B App.
Point de terminaison
- URL :
[HOST-URL]/scim/Users - Méthode :
POST
Paramètres
Exemple
- Requête de provisionnement d’un compte de service d’équipe
- Requête de provisionnement d’un compte de service d’organisation
Réponse
- Réponse du provisionnement d’un compte de service d’équipe
- Réponse du provisionnement d’un compte de service d’organisation
accountType vaut 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 l’une des erreurs suivantes est renvoyée, vérifiez que la requête ne présente pas l’un de ces problèmes courants :
409 Conflict: la requête contient 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). Cette suppression est définitive : le compte ne peut pas être réactivé via SCIM.Disponible dans le Cloud dédié et en autogéré à partir de la v0.81.0, ainsi que dans le Cloud mutualisé. Utilisez l’
id d’utilisateur SCIM du compte de service, obtenu dans la réponse de provisionnement ou via Get user. Le déprovisionnement ne supprime pas les clés API déjà émises. Si nécessaire, révoquez-les séparément dans la W&B App.Point de terminaison
- URL :
[HOST-URL]/scim/Users/{id} - Méthode :
DELETE
Paramètres
Exemple
- Requête de déprovisionnement d’un compte de service
- Réponse de déprovisionnement d’un compte de service
Supprimer un utilisateur
Supprime complètement un utilisateur de votre organisation. Pour supprimer un compte de service, voir Déprovisionner un compte de service.Point de terminaison
- URL :
[HOST-URL]/scim/Users/{id} - Méthode :
DELETE
Paramètres
Exemple
- Requête de suppression d’utilisateur
- Réponse de suppression d’utilisateur
Pour désactiver temporairement l’utilisateur, reportez-vous à l’API Désactiver un utilisateur, qui utilise le point de terminaison
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 multilocataire, où le compte de l’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 d’un utilisateur
Met à jour le nom d’affichage d’un utilisateur. Non pris en charge dans le Cloud multilocataire, où le compte des utilisateurs 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 à la mise à jour du nom d’affichage
Désactiver un utilisateur
Désactive un utilisateur de 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 multilocataire : retire l’utilisateur de l’organisation. Pour lui rendre l’accès, ajoutez-le de nouveau à votre organisation. Voir Créer un utilisateur. Dans le Cloud multilocataire, le compte de l’utilisateur n’est pas géré par l’organisation.
Cette opération s’applique uniquement aux utilisateurs, et non aux 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 paramètres de l’équipe W&B.
Point de terminaison
- URL :
[HOST-URL]/scim/Users/{id} - Méthode :
PATCH
Paramètres
Exemple
- Requête Deactivate User (Cloud dédié/autogéré)
- Requête Deactivate User (Cloud multilocataire)
Réponse
- Réponse de Deactivate User (Cloud dédié/autogéré)
- Réponse de Deactivate User (Cloud mutualisé)
Réactiver un utilisateur
Réactive un utilisateur précédemment désactivé dans votre organisation.- La réactivation s’applique uniquement aux utilisateurs, et non aux 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 multilocataire. Pour rétablir l’accès de l’utilisateur, ajoutez-le de nouveau à votre organisation. Voir Créer un utilisateur. Dans le Cloud multilocataire, le compte d’un utilisateur n’est pas géré par l’organisation. Toute tentative de réactivation d’un utilisateur renvoie une erreur HTTP
400. Le champdetaildu corps de la réponse est renvoyé tel quel par l’API et peut encore employer l’ancienne dénomination du produit :
Point de terminaison
- URL :
[HOST-URL]/scim/Users/{id} - Méthode :
PATCH
Paramètres
Exemple
- Requête de réactivation d'un utilisateur
- Réponse de réactivation d'un utilisateur
Attribuer un rôle d’organisation
Attribue un rôle au niveau de l’organisation à un utilisateur.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
Le rôle
viewer limité à 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 :- Il se voit attribuer le rôle
memberdans l’organisation. - Son
modelsSeatest défini surviewerau lieu defull, ce qui lui donne 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. Ce paramètre peut être mis à jour ultérieurement lorsqu’une licence se libère. - Son
weaveRoleest défini surviewerau lieu defull, ce qui lui donne un accès en lecture seule à Weave. - Tous ses rôles d’équipe et de projet existants sont définis sur
viewer. - Il se voit attribuer le rôle registre
viewerdans les registres visibles au niveau de l’organisation.
member ou admin ne modifie ni le modelsSeat ni le weaveRole de l’utilisateur.Exemple
- Requête d’attribution de rôle d’organisation
- Réponse d’attribution de rôle d’organisation
Mettre à jour la licence Models
Met à jour la licence Models d’un utilisateur.Sur Cloud multilocataire, ainsi que sur Cloud dédié et en autogéré à partir de la v0.83.0, l’accès au registre est dissocié des licences Models. Définir
modelsSeat sur none ne révoque plus l’accès au registre lorsque le weaveRole de l’utilisateur est différent de none. Pour révoquer l’accès au registre sur ces déploiements, utilisez Mettre à jour l’accès au registre et définissez registryAccess sur none.Sur Cloud dédié et en autogéré v0.82.0 et versions antérieures, l’accès au registre reste lié à modelsSeat. Sur ces versions, définissez modelsSeat sur none pour révoquer l’accès au registre.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 Weave d’un utilisateur.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 propres à chaque registre une fois que l’utilisateur dispose de ce droit.
Sur Cloud mutualisé, ainsi que sur Cloud dédié et autogéré v0.83.0 ou version ultérieure, les utilisateurs dont la valeur de modelsSeat ou de weaveRole est différente 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 ou version antérieure, 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éduit l’accès effectif à partir des valeurs modelsSeat et weaveRole de l’utilisateur lorsque vous lisez celui-ci. Une valeur registryAccess explicite prévaut sur cette déduction. Les utilisateurs disposant du rôle d’organisation limité à la facturation n’obtiennent pas d’accès au registre par cette déduction.
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 rôle d’équipe à un utilisateur.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 à l’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 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’ajout au registre
- Réponse d’ajout au registre
Retirer d’un 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 à l’échelle 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 retrait respectent les spécifications du protocole SCIM définies par la RFC 7644. Utilisez la syntaxe de filtre
"registryRoles[registryName eq \"{registry_name}\"]"pour retirer un utilisateur d’un registre spécifique, ou"registryRoles"pour le retirer de tous les registres. - Cette opération ne s’applique qu’aux utilisateurs, pas aux comptes de service. Pour retirer des comptes de service d’un registre, passez par 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 retrait du registre
- Réponse de retrait du registre
- Requête de retrait de TOUS les registres
- Réponse de retrait de TOUS les registres
Ressource Group
La ressource de groupe SCIM correspond à une équipe W&B. Les points de terminaison de cette section vous permettent de créer des équipes, de gérer leurs membres et, si vous le souhaitez, de configurer le stockage au niveau de l’équipe depuis votre fournisseur d’identité ou vos outils d’automatisation. Lorsque vous créez un groupe SCIM dans votre IAM, une équipe W&B est créée et associée à ce groupe. Les autres opérations sur le groupe SCIM s’appliquent ensuite à 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 sont automatiquement ajoutés à l’équipe, afin qu’ils conservent leur accès aux ressources de l’équipe.Filtrer les groupes
Le point de terminaison/Groups prend en charge le filtrage, ce qui permet de rechercher des équipes précises.
Filtres pris en charge
Le point de terminaison/Groups prend en charge le filtre suivant :
displayName eq "value": filtre par nom d’affichage de l’équipe.
Exemple
Obtenir une équipe
Récupérez les informations d’une équipe en fournissant son ID unique.Point de terminaison
- URL :
[HOST-URL]/scim/Groups/{id} - Méthode :
GET
Exemple
- Requête
- Réponse
Lister les équipes
Récupérer 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 un Bring your own bucket (BYOB) au niveau de l’équipe lors de sa création en incluant un objet
storageBucket. En l’absence de cet objet, l’équipe utilise le stockage par défaut ou celui de l’instance. Provisionnez le bucket (stratégie, CORS, identifiants d’authentification) et déterminez le format de l’adresse de stockage propre à chaque fournisseur à l’aide du guide BYOB. L’objet storageBucket comporte les sous-champs suivants :
- Requis :
name(nom du bucket),provider(l’une des valeursCOREWEAVE,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 utilisée pour le chiffrement, par exemple sur AWS),awsExternalId(accès intercomptes AWS),azureTenantId(ID de locataire Azure),azureClientId(ID client de l’identité managée Azure).
provider non valide renvoie 400 Bad Request avec une erreur SCIM qui indique les valeurs autorisées.
Exemples
Ces exemples montrent comment créer une équipe sans stockage personnalisé, puis avec un stockage BYOB chez un fournisseur donné. Sélectionnez l’onglet correspondant à la configuration de stockage souhaitée pour afficher un exemple de requête, puis sélectionnez l’onglet Réponse pour afficher un exemple de réponse.- Requête (sans BYOB)
- CoreWeave
- AWS S3
- Azure
- GCP
- Réponse
Mettre à jour une é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 :
add(ajout d’un membre),remove(suppression d’un membre),replace(remplacement des membres).
-
Les opérations de suppression respectent les spécifications du protocole SCIM définies dans la RFC 7644. Utilisez la syntaxe de filtre
members[value eq "{user_id}"]pour supprimer un utilisateur précis, oumemberspour supprimer tous les utilisateurs de l’équipe. Identification de l’utilisateur : dans les opérations sur les membres,{user_id}peut correspondre à l’un des éléments suivants :- Un ID d’utilisateur W&B.
- Une adresse e-mail (par exemple, « user@example.com »).
- Ces opérations s’appliquent uniquement aux utilisateurs, et non aux comptes de service. Pour modifier les comptes de service d’une équipe, accédez aux paramètres de l’équipe W&B.
Dans vos requêtes, remplacez
{team_id} par l’ID réel de l’équipe et {user_id} par l’ID réel de l’utilisateur ou par son adresse e-mail.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 paramètres 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
Ajoutedev-user2 à acme-devs :
Cette opération ne fonctionne que pour les utilisateurs, pas pour les comptes de service. Gérez les comptes de service dans les paramètres de l’équipe W&B.
- Requête
- Réponse
Retirer un utilisateur spécifique d’une équipe
Retiredev-user2 de acme-devs :
Cette opération s’applique uniquement aux utilisateurs, et non aux comptes de service. Gérez les comptes de service dans les paramètres de l’équipe W&B.
- Requête
- Réponse
Supprimer tous les utilisateurs d’une équipe
Supprime tous les utilisateurs deacme-devs :
Cette opération s’applique uniquement aux utilisateurs, et non aux comptes de service. Gérez les comptes de service dans les paramètres de l’équipe W&B.
- Requête
- Réponse
Supprimer une équipe
L’API SCIM ne permet pas de supprimer des équipes, car d’autres données leur sont liées. Supprimez les équipes depuis la W&B App, ce qui vous permet de confirmer que vous souhaitez bien tout supprimer.Ressource Role
La ressource Role de SCIM correspond aux rôles personnalisés de W&B. Utilisez les points de terminaison de cette section pour créer et gérer les rôles personnalisés par programmation (par exemple, pour que les définitions de rôles restent synchronisées avec vos politiques d’accès). Les points de terminaison/Roles ne font pas partie du schéma SCIM officiel. W&B les ajoute afin de 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é à partir de 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ère les informations de 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 expliquent comment ajouter des autorisations à un rôle personnalisé existant ou lui en retirer.Ajouter des autorisations à un rôle
Ajoute des autorisations à un rôle personnalisé existant.- URL :
[HOST-URL]/scim/Roles/{id} - Méthode :
PATCH
- Requête
- Réponse
Retirer une autorisation d’un rôle
Retire des autorisations d’un rôle personnalisé existant.- URL :
[HOST-URL]/scim/Roles/{id} - Méthode :
PATCH
- Requête
- Réponse
Remplacer un rôle personnalisé
Remplace l’intégralité de 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é de 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 qui disposaient de ce rôle personnalisé avant sa 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 concurrence basé sur les ETag et réponses d’erreur standard) qui permettent aux intégrations SCIM de fonctionner en toute sécurité 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. C’est essentiel lorsque plusieurs administrateurs ou systèmes automatisés modifient la même ressource, car cela garantit qu’une mise à jour n’en écrase pas silencieusement une autre. 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 effectuez 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-Matchlorsque vous mettez à jour la ressource.
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 maintient deux implémentations distinctes de l’API SCIM, dont les fonctionnalités diffèrent. Avant d’intégrer SCIM, consultez le tableau suivant pour vérifier que les opérations sur lesquelles vous vous appuyez sont disponibles pour votre type de déploiement.Limitations
Tenez compte des contraintes suivantes lorsque vous concevez des intégrations SCIM :- Nombre maximum de résultats : 9 999 éléments par requête.
- Cloud dédié et autogéré : une seule adresse e-mail par utilisateur est prise en charge.
- Suppression d’équipe : non prise en charge via SCIM (utilisez l’interface web de W&B).
- Réactivation d’utilisateur : non prise en charge dans les environnements Cloud mutualisé.
- Limites de licences : les opérations peuvent échouer si l’organisation a atteint sa limite de licences.