# Acceso a datos El acceso a datos decide qué puede ver y cambiar cada persona en Nexus. Cada miembro alcanza todo, o solo lo que usted le da. Propietarios y administradores (vea roles) siempre alcanzan todo y no se pueden limitar. ## Antes de empezar [#antes-de-empezar] - Solo propietarios y administradores pueden cambiar el acceso. - Las carpetas se comparten desde la carpeta, con **Quién puede ver esto**. Vea [Almacenamiento de objetos](/docs/es/data/object-storage#compartir-una-carpeta). ## Los niveles de acceso [#los-niveles-de-acceso] Marque los niveles que la persona necesita. | Nivel en la app | En código | Qué permite | | --- | --- | --- | | **Saber que existe** | `exists` | Ver su nombre en las listas | | **Ver sus columnas** | `structure` | Ver nombres y tipos de columnas | | **Leer sus datos** | `read` | Leer filas y consultarlas | | **Cambiar sus datos** | `write` | Agregar, cambiar y eliminar filas | | **Cambiar su estructura** | `change_structure` | Agregar, renombrar y quitar columnas, crear y eliminar tablas | | **Dar este acceso a otros** | `grant` | Pasar el mismo acceso a otra persona | El acceso se puede dar sobre un esquema (todas sus tablas), una **Tabla** o una **Conexión**. ## Limitar un miembro a lo que se le da [#limitar-un-miembro-a-lo-que-se-le-da] ### Abra Acceso a datos [#abra-acceso-a-datos] Vaya a y abra **Acceso a datos**. ### Defina qué alcanza el miembro [#defina-qué-alcanza-el-miembro] En **Qué ve cada miembro**, cambie al miembro de **Todo** a **Solo lo que se le da abajo**. ```python nx.access.limit_member("USER_ID") nx.access.limit_member("USER_ID", granted_only=False) ``` ## Dar acceso [#dar-acceso] ### Elija quién y qué [#elija-quién-y-qué] En **Dar acceso**, elija el **Miembro**, el tipo (**Esquema**, **Tabla** o **Conexión**) y escriba su nombre, como `sales` o `sales.orders`. ### Elija los niveles [#elija-los-niveles] Marque los niveles que la persona necesita. ### Defina las opciones [#defina-las-opciones] Marque **Guardar sus cambios en su propia copia** para mantener sus escrituras aparte de la tabla en uso. Ponga una fecha de fin para un acceso temporal. ### Dé el acceso [#dé-el-acceso] Seleccione **Dar acceso**. Aparece en **Accesos dados**, con **Sus cambios** (**Quedan en vivo** o **Quedan en su propia copia**) y **Hasta**. `give()` define el acceso completo de una persona sobre un recurso, reemplazando el anterior. ```python title="give_access.py" from klarety import Nexus with Nexus.connect() as nx: nx.access.give( "person", "USER_ID", "table", "sales.orders", ["exists", "structure", "read"], columns={"email": "hashed", "phone": "hidden"}, expires_at="2026-12-31T23:59:59Z", ) for grant in nx.access.grants(principal_kind="person", principal_id="USER_ID"): print(grant) ``` | Opción | Valores | | --- | --- | | Quién (`principal_kind`) | `person`, `project`, `key` | | Qué (`resource_kind`) | `schema`, `table`, `folder`, `connection` | | `where` | `main` (los cambios quedan en vivo) u `own_branch` (su propia copia) | | `columns` | por columna: `hidden`, `hashed` o `nulled` | Las opciones por columna solo están disponibles desde código. ## Quitar el acceso [#quitar-el-acceso] En **Accesos dados**, seleccione **Quitar** en la fila. ```python nx.access.take_back("person", "USER_ID", "table", "sales.orders") ``` ## Qué puede salir mal [#qué-puede-salir-mal] Su fila en **Qué ve cada miembro** está en **Todo**. Cámbiela a **Solo lo que se le da abajo**. A la persona le falta un nivel, a menudo **Leer sus datos** en una tabla que nombra la consulta. Agréguelo. Solo propietarios y administradores pueden. Pida a uno de ellos. ## Siguientes pasos [#siguientes-pasos] - [Miembros](/docs/es/workspace/members): roles e invitaciones. - [Almacenamiento de objetos](/docs/es/data/object-storage): comparta carpetas. - [Consultar con SQL](/docs/es/data/sql-editor): qué significa el acceso para las consultas.