| Type de déploiement de la plateforme W&B | Mécanisme d’accès aux journaux d’audit |
|---|---|
| Cloud dédié |
|
| Cloud mutualisé | Disponible uniquement pour les plans Enterprise. Disponible uniquement via l’API. |
| Autogéré | Synchronisés vers le bucket au niveau de l’instance toutes les 10 minutes. Également disponibles via l’API. |
Conservation des journaux d’audit
- Si vous devez conserver les journaux d’audit pendant une durée déterminée, W&B recommande de les transférer régulièrement vers un stockage à long terme, soit à l’aide de buckets de stockage, soit via l’API Audit Logging.
- Si vous êtes soumis au Health Insurance Portability and Accountability Act of 1996 (HIPAA), les journaux d’audit doivent être conservés pendant au moins 6 ans dans un environnement où ils ne peuvent être ni supprimés ni modifiés par un acteur interne ou externe avant la fin de la période de conservation obligatoire. Pour les instances Cloud dédié conformes à HIPAA avec BYOB, vous devez configurer des garde-fous pour votre stockage géré, y compris tout stockage de conservation à long terme.
Audit log schema
| Clé | Définition |
|---|---|
action | L’action de l’événement. |
actor_email | L’adresse e-mail de l’utilisateur à l’origine de l’action, le cas échéant. |
actor_ip | L’adresse IP de l’utilisateur à l’origine de l’action. |
actor_user_id | L’ID de l’utilisateur connecté ayant effectué l’action, le cas échéant. |
artifact_asset | L’ID de l’artifact associé à l’action, le cas échéant. |
artifact_digest | Le digest de l’artifact associé à l’action, le cas échéant. |
artifact_qualified_name | Le nom complet de l’artifact associé à l’action, le cas échéant. |
artifact_sequence_asset | L’ID de la séquence d’artifact associée à l’action, le cas échéant. |
cli_version | La version du SDK Python à l’origine de l’action, le cas échéant. |
entity_asset | L’ID de l’entité ou de l’équipe associée à l’action, le cas échéant. |
entity_name | Le nom de l’entité ou de l’équipe associée à l’action, le cas échéant. |
project_asset | Le projet associé à l’action, le cas échéant. |
project_name | Le nom du projet associé à l’action, le cas échéant. |
report_asset | L’ID du rapport associé à l’action, le cas échéant. |
report_name | Le nom du rapport associé à l’action, le cas échéant. |
response_code | Le code de réponse HTTP de l’action, le cas échéant. |
timestamp | L’heure de l’événement au format RFC3339. Par exemple, 2023-01-23T12:34:56Z représente le 23 janvier 2023 à 12:34:56 UTC. |
user_asset | La ressource utilisateur concernée par l’action (et non l’utilisateur qui effectue l’action), le cas échéant. |
user_email | L’adresse e-mail de l’utilisateur concerné par l’action (et non celle de l’utilisateur qui effectue l’action), le cas échéant. |
Informations personnelles identifiables (PII)
- Pour Autogéré et Cloud dédié, un administrateur d’organisation peut exclure les PII lors de la récupération des journaux d’audit.
- Pour Cloud mutualisé, l’API endpoint renvoie toujours les champs pertinents pour les journaux d’audit, y compris les PII. Cela n’est pas configurable.
Avant de commencer
-
Les administrateurs de l’organisation peuvent récupérer les journaux d’audit. Si vous recevez une erreur
403, assurez-vous que vous ou votre compte de service disposez des autorisations nécessaires. -
Cloud mutualisé : Si vous êtes membre de plusieurs organisations en Cloud mutualisé, vous devez configurer l’organisation API par défaut, qui détermine vers quelle organisation sont acheminés les appels à l’API des journaux d’audit. Sinon, vous recevrez l’erreur suivante :
Pour définir votre organisation API par défaut :
- Cliquez sur votre image de profil, puis sur Paramètres utilisateur.
- Pour l’organisation API par défaut, sélectionnez une organisation.
Récupérer les journaux d’audit
-
Déterminez l’API endpoint approprié pour votre instance :
- Autogéré:
<wandb-platform-url>/admin/audit_logs - Cloud dédié:
<instance-name>.wandb.io/admin/audit_logs - Cloud mutualisé (Enterprise requis):
https://api.wandb.ai/audit_logs
<API-endpoint>par votre API endpoint. - Autogéré:
-
(Facultatif) Construisez les paramètres de requête à ajouter à l’endpoint. Dans les étapes suivantes, remplacez
<parameters>par la chaîne obtenue.anonymize: si l’URL inclut le paramètreanonymize=true, supprimez toute PII. Sinon, la PII est incluse. Référez-vous à Exclure la PII lors de la récupération des journaux d’audit. Non pris en charge pour le Cloud mutualisé, où tous les champs sont inclus, y compris la PII.- Configurez la plage de dates des journaux à récupérer à l’aide d’une combinaison de
numdaysetstartDate. Chaque paramètre est facultatif, et ils interagissent entre eux.- Si aucun des deux paramètres n’est inclus, seuls les journaux du jour sont récupérés.
numDays: entier indiquant le nombre de jours à remonter à partir destartDatepour récupérer les journaux. S’il est omis ou défini sur0, les journaux ne sont récupérés que pourstartDate. Sur Multi-tenant Cloud, vous pouvez récupérer au maximum 7 jours de journaux d’audit, même si vous définisseznumDayssur une valeur supérieure.startDate: pris en charge sur Multi-tenant Cloud uniquement. Contrôle les journaux les plus récents à récupérer, au formatstartDate=YYYY-MM-DD. S’il est omis ou explicitement défini sur la date du jour, les journaux sont récupérés à partir d’aujourd’hui surnumDaysjours.
-
Construisez l’URL complète de l’endpoint au format
<API-endpoint>?<parameters>. -
Exécutez une requête HTTP
GETsur l’API endpoint complète à l’aide d’un navigateur web ou d’un outil comme Postman, HTTPie, ou cURL.
/wandb-audit-logs de votre bucket.
Utiliser l’authentification de base
Authorization de la requête HTTP sur la chaîne Basic, suivie d’un espace, puis de la chaîne encodée en base 64 au format username:API-KEY. En d’autres termes, remplacez le nom d’utilisateur et la clé API par vos valeurs, séparées par le caractère :, puis encodez le résultat en base 64. Par exemple, pour vous authentifier en tant que demo:p@55w0rd, l’en-tête doit être Authorization: Basic ZGVtbzpwQDU1dzByZA==.
Exclure les PII lors de la récupération des journaux d’audit
Pour Autogéré et Cloud dédié, un administrateur d’organisation ou d’instance W&B peut exclure les PII lors de la récupération des journaux d’audit. Pour Cloud mutualisé, l’API endpoint renvoie toujours les champs pertinents des journaux d’audit, y compris les PII. Ce comportement n’est pas configurable. Pour exclure les PII, passez le paramètre d’URLanonymize=true. Par exemple, si l’URL de votre instance W&B est https://mycompany.wandb.io et que vous souhaitez obtenir les journaux d’audit de l’activité des utilisateurs sur la dernière semaine tout en excluant les PII, utilisez un API endpoint comme :
Actions
| Action | Définition |
|---|---|
artifact:create | Artifact est créé. |
artifact:delete | Artifact est supprimé. |
artifact:read | Artifact est lu. |
project:delete | Le projet est supprimé. |
project:read | Le projet est lu. |
report:read | Le rapport est lu. 1 |
run:delete_many | Un lot de runs est supprimé. |
run:delete | Le run est supprimé. |
run:stop | Le run est arrêté. |
run:undelete_many | Un lot de runs est restauré depuis la corbeille. |
run:update_many | Un lot de runs est mis à jour. |
run:update | Le run est mis à jour. |
sweep:create_agent | L’agent de balayage est créé. |
team:create_service_account | Un compte de service est créé pour l’équipe. |
team:create | L’équipe est créée. |
team:delete | L’équipe est supprimée. |
team:invite_user | L’utilisateur est invité à rejoindre l’équipe. |
team:uninvite | L’utilisateur ou le compte de service est retiré de l’équipe. |
user:create_api_key | Une clé API est créée pour l’utilisateur ou le compte de service. 1 |
user:create | L’utilisateur est créé. 1 |
user:deactivate | L’utilisateur est désactivé. 1 |
user:delete_api_key | La clé API de l’utilisateur ou du compte de service est supprimée. 1 |
user:initiate_login | L’utilisateur lance la connexion. 1 |
user:login | L’utilisateur se connecte. 1 |
user:logout | L’utilisateur se déconnecte. 1 |
user:permanently_delete | L’utilisateur est supprimé définitivement. 1 |
user:reactivate | L’utilisateur est réactivé. 1 |
user:read | Le profil de l’utilisateur est lu. 1 |
user:update | L’utilisateur est mis à jour. 1 |
- Les projets Open ou Public.
- L’action
report:read. - Les actions
Usersqui ne sont pas liées à une organisation spécifique.