Hub documentation
Conjuntos de datos con control de acceso
Conjuntos de datos con control de acceso
Para ofrecer un mayor control sobre el uso de los conjuntos de datos, el Hub permite a los autores habilitar solicitudes de acceso para sus datasets. Cuando está habilitado, los usuarios deben enviar una solicitud para acceder a los archivos del dataset, lo que comparte su información de Hugging Face (nombre de usuario y dirección de correo electrónico) con los autores del dataset, a menos que estos hayan optado por no recopilarla. Los autores de datasets también pueden agregar campos personalizados. Un dataset con solicitudes de acceso habilitadas se denomina dataset con acceso restringido. Las solicitudes de acceso siempre se conceden a usuarios individuales y no a organizaciones enteras. Un caso de uso común de los datasets con acceso restringido es proporcionar acceso a datasets de investigación temprana antes de su lanzamiento general.
Gestionar conjuntos de datos con acceso restringido como autor de un conjunto de datos
Para habilitar las solicitudes de acceso, vaya a la página de configuración del conjunto de datos. De forma predeterminada, el conjunto de datos no está restringido. Haga clic en Enable Access request en la esquina superior derecha.

Por defecto, el acceso al conjunto de datos se concede automáticamente al usuario cuando lo solicita. Esto se conoce como aprobación automática. En este modo, cualquier usuario puede acceder a su conjunto de datos una vez que haya compartido su información personal con usted.

Si deseas aprobar manualmente a qué usuarios se les permite acceder a tu conjunto de datos, debes configurarlo en aprobación manual. En este caso, verás más opciones:
- Agregar acceso le permite buscar a un usuario y otorgarle acceso, incluso si este no lo ha solicitado.
- Frecuencia de notificación permite configurar cuándo recibir una notificación si nuevos usuarios solicitan acceso. Puede configurarse para que se envíe una vez al día o en tiempo real. De forma predeterminada, se envía un correo electrónico a su dirección de correo principal. En el caso de conjuntos de datos alojados bajo una organización, los correos electrónicos se envían de forma predeterminada a los 5 primeros administradores de la organización. En ambos casos (usuario u organización), puede configurar una dirección de correo diferente en el campo Correo de notificaciones.

Revisar las solicitudes de acceso
Una vez que las solicitudes de acceso están habilitadas, tienes el control total sobre quién puede acceder a tu conjunto de datos, independientemente de si el modo de aprobación es manual o automático. Puedes revisar y gestionar las solicitudes desde la interfaz de usuario o a través de la API.
Desde la interfaz de usuario
Puedes revisar quién tiene acceso a tu conjunto de datos con control de acceso desde su página de configuración haciendo clic en el botón Review access requests. Esto abrirá un modal con 3 listas de usuarios:
- pendiente: la lista de usuarios que esperan la aprobación para acceder a tu conjunto de datos. Esta lista está vacía a menos que hayas seleccionado aprobación manual. Puedes Aceptar o Rechazar la solicitud. Si la solicitud se rechaza, el usuario no puede acceder a tu conjunto de datos y no puede solicitar acceso de nuevo.
- accepted: la lista completa de usuarios con acceso a tu conjunto de datos. Puedes Reject el acceso en cualquier momento para cualquier usuario, ya sea que el modo de aprobación sea manual o automático. También puedes Cancel la aprobación, lo que moverá al usuario a la lista pending.
- rejected: la lista de usuarios que has rechazado manualmente. Esos usuarios no pueden acceder a tus conjuntos de datos. Si van al repositorio de tu conjunto de datos, verán un mensaje Your request to access this repo has been rejected by the repo’s authors.

A través de la API
Puede automatizar la aprobación de solicitudes de acceso mediante la API. Debe pasar un token con acceso write al repositorio con control de acceso. Para generar un token, vaya a su configuración de usuario.
| Método | URI | Descripción | Encabezados | Payload |
|---|---|---|---|---|
GET | /api/datasets/{repo_id}/user-access-request/{status} | Muestra las solicitudes con el status indicado: pending, accepted, rejected o reset. Cada solicitud tiene un requestId y un user si se recopiló el nombre de usuario. | {"authorization": "Bearer $token"} | |
POST | /api/datasets/{repo_id}/user-access-request/handle | Cambia el estado de una solicitud de acceso dada a 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/grant | Permitir que un usuario específico acceda a tu repositorio. | {"authorization": "Bearer $token"} | {"user": "username"} |
La URL base para los puntos finales HTTP anteriores es https://huggingface.co.
Establecer una solicitud en reset revoca la decisión anterior y pide al usuario que empiece de nuevo: pierde el acceso al conjunto de datos, recibe un correo electrónico que le notifica que su solicitud se ha restablecido (incluyendo el resetReason opcional) y se le pide que acepte los términos de acceso y envíe una nueva solicitud la próxima vez que visite la página del conjunto de datos. Esto difiere de pending, que mantiene la solicitud existente tal como está y simplemente la devuelve a la cola de revisión, y de rejected, que impide al usuario solicitar acceso de nuevo.
¡NUEVO! Esos puntos de acceso ahora son oficialmente compatibles con nuestro cliente de Python huggingface_hub. Lista las solicitudes de acceso a tu conjunto de datos con list_pending_access_requests, list_accepted_access_requests y list_rejected_access_requests. También puedes aceptar, cancelar y rechazar solicitudes de acceso con accept_access_request, cancel_access_request, reject_access_request. Por último, puedes otorgar acceso a un usuario con grant_access.
Descargar informe de acceso
Puedes descargar un informe de todas las solicitudes de acceso a un conjunto de datos restringido con el botón download user access report. Haz clic en él para descargar un archivo json con una lista de usuarios. Para cada entrada, tienes:
- requestId: el identificador de la solicitud.
- user: el identificador de usuario. Ejemplo: julien-c.
- fullname: nombre del usuario en el Hub. Ejemplo: Julien Chaumond.
- status: estado de la solicitud. Puede ser
"pending","accepted","rejected"o"reset". - email: correo electrónico del usuario.
- time: fecha y hora en la que el usuario realizó inicialmente la solicitud.
- reviewedAt: fecha y hora en la que la solicitud fue aceptada o rechazada. No se establece para las solicitudes pendientes.
user,fullnameyrequestId.
Elija qué datos de perfil comparte Hugging Face con usted
Por defecto, Hugging Face comparte el nombre de usuario y la dirección de correo electrónico principal del solicitante con usted. Es su responsabilidad gestionar cualquier información personal identificable (PII) y declarar cómo la gestiona de conformidad con las leyes aplicables (por ejemplo, enlazando a su propia Política de Privacidad). Puede cambiar esto en las opciones de control de acceso en la página de configuración del conjunto de datos:
- Recopilar nombre de usuario: si no se marca, no recibirás el nombre de usuario de Hugging Face, el nombre completo y el avatar de la persona que realiza la solicitud. Las solicitudes se listan con un id de solicitud y se pueden aceptar o rechazar como cualquier otra solicitud.
- Recopilar correo electrónico: recopila el correo electrónico del perfil de Hugging Face del solicitante. Requiere Recopilar nombre de usuario.
Aun así, recibirás las respuestas de tus campos de formulario personalizados, por lo que puedes solicitar allí los datos de contacto que necesites. Estas configuraciones solo se aplican a las nuevas solicitudes: las solicitudes existentes conservan las configuraciones que estaban vigentes en el momento en que se realizaron.
Para los conjuntos de datos en una Gating Group Collection, estas opciones se configuran en la colección.
Personalizar la información solicitada
Por defecto, los usuarios que accedan a tu conjunto de datos con control de acceso se les pedirá que compartan su información de Hugging Face (correo electrónico y nombre de usuario, a menos que hayas desactivado su recopilación) haciendo clic en el botón Agree and send request to access repo.

Si deseas solicitar más información del usuario para proporcionar acceso, puedes configurar campos adicionales. Esta información estará accesible desde la pestaña Settings. Para ello, añade una propiedad extra_gated_fields a los metadatos de la tarjeta del dataset que contenga una lista de pares clave/valor. La clave es el nombre del campo y el valor su tipo o un objeto con un campo type. La lista de tipos de campo es:
text: un campo de texto de una sola línea.checkbox: un campo de casilla de verificación.date_picker: un campo de selector de fecha.country: un menú desplegable de países. La lista de países se basa en el estándar ISO 3166-1 alpha-2.select: un menú desplegable con una lista de opciones. La lista de opciones se define en el campooptions. Ejemplo:options: ["option 1", "option 2", {label: "option3", value: "opt3"}].
Finalmente, también puedes personalizar el mensaje que se muestra al usuario con el campo adicional extra_gated_prompt.
A continuación se muestra un ejemplo de formulario de solicitud personalizado en el que se le pide al usuario que proporcione el nombre de su empresa y su país, y que reconozca que el conjunto de datos es solo para uso no comercial.
---
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
---En algunos casos, también puede ser necesario modificar el texto predeterminado del encabezado, la descripción y el botón de la puerta. Para esos casos de uso, puede modificar extra_gated_heading, extra_gated_description y extra_gated_button_content de la siguiente manera:
---
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"
---Controlar el acceso para los miembros de la organización
Para los conjuntos de datos con acceso restringido alojados bajo una organización, también puedes exigir que los mismos miembros de la organización envíen una solicitud de acceso. En la página de configuración del conjunto de datos, en las opciones de acceso restringido, activa También restringir el acceso para los miembros de {org}.
Cuando esta opción está habilitada, los miembros de la organización deben solicitar acceso al conjunto de datos como cualquier otro usuario. Los siguientes roles omiten la solicitud y mantienen acceso directo:
- Administradores de la organización
- El usuario que creó el repositorio
- los administradores de Resource Group, cuando el conjunto de datos pertenece a un Resource Group
Todos los demás miembros deben pasar por el flujo de solicitud de acceso. Esto incluye a los miembros con el rol de organización read, contributor o write, y a los miembros de un Resource Group que no tengan el rol de admin.
Gestionar conjuntos de datos con acceso restringido como organización (Team & Enterprise)
Los suscriptores de Team & Enterprise pueden crear una Gating Group Collection para otorgar (o denegar) el acceso a todos los modelos y conjuntos de datos de una colección a la vez.
Más información sobre Gating Group Collections se puede encontrar en nuestra documentación dedicada.
Acceder a conjuntos de datos restringidos como usuario
Como usuario, si deseas utilizar un conjunto de datos con acceso restringido, deberás solicitar acceso a él. Esto significa que debes iniciar sesión en una cuenta de usuario de Hugging Face.
La solicitud de acceso solo puede realizarse desde tu navegador. Ve al conjunto de datos en el Hub y se te pedirá que compartas tu información:

Al hacer clic en Aceptar, acepta compartir la información que ingresa en el formulario de solicitud (cuando sea aplicable) con los autores del conjunto de datos, así como su nombre de usuario y dirección de correo electrónico de Hugging Face si los autores optaron por recopilarlos. Para ayudar a los autores del conjunto de datos a decidir si le otorgan acceso, intente completar los campos del formulario de la manera más completa posible.
Una vez enviada la solicitud de acceso, hay dos posibilidades. Si el mecanismo de aprobación es automático, obtienes acceso inmediato a los archivos del conjunto de datos. De lo contrario, las solicitudes deben ser aprobadas manualmente por los autores, lo que puede llevar más tiempo.
Los autores del conjunto de datos tienen control total sobre el acceso al mismo. En particular, pueden decidir en cualquier momento bloquear tu acceso al conjunto de datos sin previo aviso, independientemente del mecanismo de aprobación o de si tu solicitud ya ha sido aprobada.
Descargar archivos
Para descargar archivos de un conjunto de datos con acceso restringido, es necesario estar autenticado. En el navegador, esto es automático siempre que haya iniciado sesión con su cuenta. Si está usando un script, deberá proporcionar un token de usuario. En el ecosistema de Python de Hugging Face (transformers, diffusers, datasets, etc.), puede iniciar sesión en su máquina usando la biblioteca huggingface_hub y ejecutando en su terminal:
hf auth login
Alternativamente, puede iniciar sesión de forma programática usando login() en un cuaderno o un script:
>>> from huggingface_hub import login
>>> login()También puede proporcionar el parámetro token a la mayoría de los métodos de carga en las bibliotecas (from_pretrained, hf_hub_download, load_dataset, etc.), directamente desde sus scripts.
Para más detalles sobre cómo iniciar sesión, consulta la guía de inicio de sesión.
Restricción de acceso para usuarios de la UE
Para los conjuntos de datos con control de acceso, puedes añadir una capa adicional de control de acceso para restringir específicamente a los usuarios de países de la Unión Europea. Esto es útil si la licencia o los términos de uso de tu conjunto de datos prohíben su distribución en la UE.
Para habilitar esto, añade la propiedad extra_gated_eu_disallowed: true a los metadatos de la tarjeta de tu conjunto de datos.
Importante: Esta función solo se activará si tu conjunto de datos ya está restringido. Si gated: false o la propiedad no está configurada, esta restricción no se aplicará.
---
license: mit
gated: true
extra_gated_eu_disallowed: true
---El sistema identifica la ubicación de un usuario en función de su dirección IP.
Update on GitHub