# 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.