Hub documentation

Jeux de données à accès restreint

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Jeux de données à accès restreint

Pour offrir un meilleur contrôle sur l’utilisation des jeux de données, le Hub permet aux auteurs de jeux de données d’activer les requêtes d’accès pour leurs jeux de données. Une fois activé, les utilisateurs doivent soumettre une requête pour accéder aux fichiers du jeu de données, ce qui partage leurs informations Hugging Face (nom d’utilisateur et adresse e-mail) avec les auteurs du jeu de données, sauf si les auteurs ont choisi de ne pas les collecter. Les auteurs de jeux de données peuvent également ajouter des champs personnalisés. Un jeu de données avec des requêtes d’accès activées est appelé jeu de données à accès restreint. Les requêtes d’accès sont toujours accordées à des utilisateurs individuels plutôt qu’à des organisations entières. Un cas d’usage courant des jeux de données à accès restreint est de fournir un accès à des jeux de données de recherche préliminaires avant leur diffusion plus large.

Gérer les jeux de données à accès restreint en tant qu’auteur

Pour activer les demandes d’accès, accédez à la page des paramètres du jeu de données. Par défaut, le jeu de données n’est pas soumis à une demande d’accès. Cliquez sur Enable Access request dans le coin supérieur droit.

Par défaut, l’accès au jeu de données est automatiquement accordé à l’utilisateur lors de sa demande. On parle d’approbation automatique. Dans ce mode, tout utilisateur peut accéder à votre jeu de données une fois qu’il a partagé ses informations personnelles avec vous.

Si vous souhaitez approuver manuellement les utilisateurs pouvant accéder à votre jeu de données, vous devez le définir sur manual approval. Dans ce cas, vous remarquerez l’apparition d’options supplémentaires :

  • Ajouter un accès vous permet de rechercher un utilisateur et de lui accorder un accès, même s'il n'en a pas fait la demande.
  • Fréquence des notifications permet de configurer le moment où vous recevez une notification lorsque de nouveaux utilisateurs demandent un accès. Elle peut être définie sur une fois par jour ou en temps réel. Par défaut, un e-mail est envoyé à votre adresse e-mail principale. Pour les jeux de données hébergés sous une organisation, les e-mails sont envoyés par défaut aux 5 premiers administrateurs de l’organisation. Dans les deux cas (utilisateur ou organisation), vous pouvez définir une adresse e-mail différente dans le champ E-mail de notification.

Examiner les demandes d'accès

Une fois les demandes d’accès activées, vous avez un contrôle total sur qui peut accéder à votre jeu de données ou non, que le mode d’approbation soit manuel ou automatique. Vous pouvez examiner et gérer les demandes depuis l’interface utilisateur ou via l’API.

Depuis l'interface utilisateur

Vous pouvez consulter qui a accès à votre jeu de données à accès restreint depuis sa page de paramètres en cliquant sur le bouton Examiner les demandes d’accès. Une fenêtre modale s’ouvrira avec trois listes d’utilisateurs :

  • pending : la liste des utilisateurs en attente d’approbation pour accéder à votre jeu de données. Cette liste est vide sauf si vous avez sélectionné manual approval. Vous pouvez soit Accept soit Reject la demande. Si la demande est rejetée, l’utilisateur ne peut pas accéder à votre jeu de données et ne peut pas demander à nouveau l’accès.
  • accepted : la liste complète des utilisateurs ayant accès à votre jeu de données. Vous pouvez choisir de Reject l’accès à tout moment pour n’importe quel utilisateur, que le mode d’approbation soit manuel ou automatique. Vous pouvez également Cancel l’approbation, ce qui déplacera l’utilisateur vers la liste pending.
  • rejected : la liste des utilisateurs que vous avez manuellement rejetés. Ces utilisateurs ne peuvent pas accéder à vos jeux de données. S’ils accèdent au dépôt de votre jeu de données, ils verront le message Your request to access this repo has been rejected by the repo’s authors.

Via l'API

Vous pouvez automatiser l’approbation des demandes d’accès en utilisant l’API. Vous devez transmettre un token avec un accès write au dépôt gated. Pour générer un token, accédez à vos paramètres utilisateur.

MéthodeURIDescriptionEn-têtesPayload
GET/api/datasets/{repo_id}/user-access-request/{status}Liste les requêtes avec le status donné : pending, accepted, rejected ou reset. Chaque requête possède un requestId, et un user si le nom d'utilisateur a été collecté.{"authorization": "Bearer $token"}
POST/api/datasets/{repo_id}/user-access-request/handleModifiez l'état d'une demande d'accès donnée en status.{"authorization": "Bearer $token"}{"status": "accepted"/"rejected"/"pending"/"reset", "user": "username" (or "requestId": "request id"), "rejectionReason": "Optional rejection reason that will be visible to the user (max 200 characters).", "resetReason": "Optional reset reason that will be included in the email sent to the user (max 200 characters)."}
POST/api/datasets/{repo_id}/user-access-request/grantAutoriser un utilisateur spécifique à accéder à votre dépôt.{"authorization": "Bearer $token"}{"user": "username"}

L'URL de base des points de terminaison HTTP ci-dessus est https://huggingface.co.

Définir une requête sur reset révoque la décision précédente et demande à l’utilisateur de recommencer : il perd l’accès au jeu de données, reçoit un e-mail l’informant que sa requête a été réinitialisée (y compris le resetReason facultatif) et est invité à accepter les conditions d’accès et à soumettre une nouvelle requête lors de sa prochaine visite de la page du jeu de données. Cela diffère de pending, qui conserve la requête existante en l’état et la remet simplement dans la file d’attente de révision, et de rejected, qui empêche l’utilisateur de demander à nouveau l’accès.

NOUVEAU ! Ces points de terminaison sont désormais officiellement pris en charge dans notre client Python huggingface_hub. Listez les demandes d'accès à votre jeu de données avec list_pending_access_requests, list_accepted_access_requests et list_rejected_access_requests. Vous pouvez également accepter, annuler et refuser les demandes d'accès avec accept_access_request, cancel_access_request, reject_access_request. Enfin, vous pouvez accorder l'accès à un utilisateur avec grant_access.

Télécharger le rapport d'accès

Vous pouvez télécharger un rapport de toutes les demandes d'accès pour un jeu de données restreint à l'aide du bouton télécharger le rapport d'accès des utilisateurs. Cliquez dessus pour télécharger un fichier json contenant une liste d'utilisateurs. Pour chaque entrée, vous avez :

  • requestId : l’identifiant de la requête.
  • user : l'identifiant de l'utilisateur. Exemple : julien-c.
  • fullname : nom de l'utilisateur sur le Hub. Exemple : Julien Chaumond.
  • status : statut de la requête. Soit "pending", "accepted", "rejected" ou "reset".
  • email : adresse e-mail de l'utilisateur.
  • time : date et heure à laquelle l'utilisateur a initialement effectué la demande.
  • reviewedAt : date et heure à laquelle la demande a été acceptée ou rejetée. Non défini pour les demandes en attente.

user, fullname et email ne sont présents que si vous avez choisi de les collecter lors de la demande. Les requêtes peuvent toujours être identifiées par leur requestId.

Choisissez les données de profil que Hugging Face partage avec vous

Par défaut, Hugging Face partage le nom d'utilisateur et l'adresse e-mail principale du demandeur avec vous. Vous êtes responsable du traitement de toute information personnelle (PII) et de la divulgation de la manière dont vous la traitez conformément aux lois applicables (par exemple en liant votre propre politique de confidentialité). Vous pouvez modifier cela dans les options de contrôle d'accès sur la page des paramètres du jeu de données :

  • Récupérer le nom d'utilisateur : si cette option est décochée, vous ne recevrez pas le nom d'utilisateur Hugging Face, le nom complet et l'avatar de la personne qui a émis la demande. Les demandes sont listées avec un identifiant de demande et peuvent être acceptées ou rejetées comme toute autre demande.
  • Récupérer l’adresse e-mail : récupérer l’adresse e-mail du profil Hugging Face de la personne qui fait la demande. Nécessite Récupérer le nom d’utilisateur.

Vous recevez toujours les réponses à vos champs de formulaire personnalisés, vous permettant ainsi de demander tous les détails de contact dont vous avez besoin. Ces paramètres ne s’appliquent qu’aux nouvelles demandes : les demandes existantes conservent les paramètres en vigueur au moment de leur création.

Pour les jeux de données dans une Gating Group Collection, ces options sont configurées sur la collection.

Personnaliser les informations demandées

Par défaut, les utilisateurs accédant à votre jeu de données protégé sont invités à partager leurs informations Hugging Face (adresse e-mail et nom d'utilisateur, sauf si vous avez désactivé leur collecte) en cliquant sur le bouton Agree and send request to access repo.

Si vous souhaitez demander plus d'informations sur l'utilisateur pour accorder l'accès, vous pouvez configurer des champs supplémentaires. Ces informations seront accessibles depuis l'onglet Paramètres. Pour ce faire, ajoutez une propriété extra_gated_fields à votre métadonnées de la carte du jeu de données contenant une liste de paires clé/valeur. La clé est le nom du champ et la valeur son type ou un objet avec un champ type. La liste des types de champs est la suivante :

  • text : un champ de texte sur une seule ligne.
  • checkbox : un champ de type case à cocher.
  • date_picker : un champ de sélection de date.
  • country : un menu déroulant de pays. La liste des pays est basée sur la norme ISO 3166-1 alpha-2.
  • select : une liste déroulante avec une liste d'options. La liste d'options est définie dans le champ options. Exemple : options: ["option 1", "option 2", {label: "option3", value: "opt3"}].

Enfin, vous pouvez également personnaliser le message affiché à l'utilisateur avec le champ supplémentaire extra_gated_prompt.

Voici un exemple de formulaire de demande personnalisé dans lequel l'utilisateur est invité à fournir le nom de son entreprise et son pays, et à reconnaître que le jeu de données est destiné à un usage non commercial uniquement.

---
extra_gated_prompt: "You agree to not use the dataset to conduct experiments that cause harm to human subjects."
extra_gated_fields:
  Company: text
  Country: country
  Specific date: date_picker
  I want to use this dataset for:
    type: select
    options: 
      - Research
      - Education
      - label: Other
        value: other
  I agree to use this dataset for non-commercial use ONLY: checkbox
---

Dans certains cas, vous souhaiterez peut-être également modifier le texte par défaut du titre, de la description et du bouton de la porte. Pour ces cas d'utilisation, vous pouvez modifier extra_gated_heading, extra_gated_description et extra_gated_button_content comme suit :

---
extra_gated_heading: "Acknowledge license to accept the repository"
extra_gated_description: "Our team may take 2-3 days to process your request"
extra_gated_button_content: "Acknowledge license"
---

Contrôle d'accès pour les membres de l'organisation

Pour les jeux de données à accès restreint hébergés sous une organisation, vous pouvez également exiger que les membres de l’organisation soumettent une demande d’accès. Sur la page des paramètres du jeu de données, sous les options de restriction d’accès, activez Restreindre également l’accès aux membres de {org}.

Lorsque cette option est activée, les membres de l’organisation doivent demander l’accès au jeu de données comme tout autre utilisateur. Les rôles suivants contournent la demande et conservent un accès direct :

  • Administrateurs d'organisation
  • L'utilisateur ayant créé le dépôt
  • les administrateurs du groupe de ressources, lorsque le jeu de données appartient à un groupe de ressources

Tous les autres membres doivent passer par le processus de demande d'accès. Cela inclut les membres disposant du rôle d'organisation read, contributor ou write, ainsi que les membres des groupes de ressources ne disposant pas du rôle admin.

Gérer les jeux de données à accès restreint en tant qu'organisation (Team & Enterprise)

Les abonnés Team & Enterprise peuvent créer une collection de groupes de contrôle d'accès pour accorder (ou refuser) l'accès à tous les modèles et jeux de données d'une collection en une seule fois.

Plus d'informations sur les Gating Group Collections sont disponibles dans notre documentation dédiée.

Accéder aux jeux de données restreints en tant qu'utilisateur

En tant qu’utilisateur, si vous souhaitez utiliser un jeu de données à accès restreint, vous devez demander l’accès. Cela implique d’être connecté à un compte utilisateur Hugging Face.

La demande d’accès ne peut être effectuée que depuis votre navigateur. Accédez au jeu de données sur le Hub et vous serez invité à partager vos informations :

En cliquant sur Accepter, vous acceptez de partager les informations que vous saisissez dans le formulaire de demande (le cas échéant) avec les auteurs du jeu de données, ainsi que votre nom d'utilisateur et votre adresse e-mail Hugging Face si les auteurs ont choisi de les collecter. Pour aider les auteurs du jeu de données à décider s'ils vous accordent l'accès, essayez de remplir les champs du formulaire aussi complètement que possible.

Une fois la demande d’accès envoyée, deux possibilités s’offrent à vous. Si le mécanisme d’approbation est automatique, vous obtenez immédiatement l’accès aux fichiers du jeu de données. Sinon, les demandes doivent être approuvées manuellement par les auteurs, ce qui peut prendre plus de temps.

Les auteurs du jeu de données ont un contrôle total sur l'accès au jeu de données. En particulier, ils peuvent décider à tout moment de bloquer votre accès au jeu de données sans préavis, indépendamment du mécanisme d'approbation ou du fait que votre demande ait déjà été approuvée.

Télécharger les fichiers

Pour télécharger des fichiers depuis un jeu de données à accès restreint, vous devez être authentifié. Dans le navigateur, c'est automatique tant que vous êtes connecté à votre compte. Si vous utilisez un script, vous devez fournir un jeton utilisateur. Dans l'écosystème Python de Hugging Face (transformers, diffusers, datasets, etc.), vous pouvez connecter votre machine à l'aide de la bibliothèque huggingface_hub en exécutant dans votre terminal :

hf auth login

Sinon, vous pouvez vous connecter de manière programmatique en utilisant login() dans un notebook ou un script :

>>> from huggingface_hub import login
>>> login()

Vous pouvez également fournir le paramètre token à la plupart des méthodes de chargement des bibliothèques (from_pretrained, hf_hub_download, load_dataset, etc.), directement depuis vos scripts.

Pour plus de détails sur la procédure de connexion, consultez le guide de connexion.

Restriction d'accès pour les utilisateurs de l'UE

Pour les jeux de données à accès restreint, vous pouvez ajouter un niveau supplémentaire de contrôle d’accès afin de restreindre spécifiquement l’accès des utilisateurs des pays de l’Union européenne. Cela est utile si la licence ou les conditions d’utilisation de votre jeu de données interdisent sa distribution dans l’UE.

Pour activer cette fonctionnalité, ajoutez la propriété extra_gated_eu_disallowed: true aux métadonnées de la carte de votre jeu de données.

Important : Cette fonctionnalité ne s’activera que si votre jeu de données est déjà sous contrôle d’accès. Si gated: false ou si la propriété n’est pas définie, cette restriction ne s’appliquera pas.

---
license: mit
gated: true
extra_gated_eu_disallowed: true
---

Le système identifie l'emplacement d'un utilisateur sur la base de son adresse IP.

Update on GitHub