domingo, 20 de septiembre de 2026

Oracle nueva característica en 23.26.3 Oracle AI Database 26ai: Qué es Deep Sec.?

 


Hola gente,

En estos días estoy explorando y generando material que pronto estaré compartiendo sobre Deep Sec -Deep Data Security-, para ello primero hice la actualización de mi laboratorio a Oracle AI Database 23.26.3

Qué es Deep Sec.?
Deep Data Security (Deep Sec) en Oracle AI Database 26ai es un modelo de seguridad que lleva la autorización hasta el dato y la identidad real que intenta acceder a él. En lugar de depender únicamente de los privilegios de la cuenta con la que una aplicación se conecta a la base de datos, permite determinar quién está detrás de cada operación y exactamente qué filas, columnas y acciones puede utilizar.

Aquí nos encontramos con una forma nueva en como definir un usuario y que me permite crear mucho material para hablar con ustedes: CREATE USER vs. CREATE END USER.

CREATE USER responde a:

¿Qué identidad/schema de base de datos puede conectarse, poseer objetos y ejecutar operaciones según los privilegios Oracle tradicionales?

Mientras que CREATE END USER responde a:

¿Quién es realmente la persona o identidad de aplicación que está detrás de una operación y exactamente a qué datos debe permitírsele acceder?

Y esta separación es particularmente relevante en Agentic AI: un agente puede tener técnicamente la capacidad de generar o solicitar una operación, pero la autorización sobre los datos puede seguir dependiendo de la identidad real del End User.

La seguridad deja de centrarse únicamente en “quién puede entrar” y pasa a controlar “quién está actuando, sobre qué datos y hasta dónde puede llegar”.

Vamos a ir poco a poco introduciéndonos técnicamente en este fascinante tema.

Por el momento les dejó un par de detalles:
En Oracle AI Database 26ai, un usuario creado mediante CREATE END USER no es un database user tradicional y, por tanto, no aparece en DBA_USERS.

Podemos darle la bienvenida a DBA_END_USERS.

SQL> select username, ACCOUNT_STATUS, AUTHENTICATION_TYPE from dba_end_users;
USERNAME ACCOUNT_STATUS AUTHENTI
-------------------- ---------------------- -------------
...
RONALD OPEN PASSWORD
MARIA OPEN PASSWORD
6 rows selected.

SQL> grant create table to ronald;
grant create table to ronald
*
ERROR at line 1:
ORA-01917: user or role 'RONALD' does not exist
Help: https://lnkd.in/eJUsZzVE
SQL>

Oracle lo define como una identidad de aplicación que no posee objetos de base de datos.

Tenemos un nuevo comando "CREATE DATA GRANT" que soporta restricciones por columnas y predicados por filas, incluso utilizando información del contexto del End User.
Ahora el privilegio no es simplemente: El manager puede consultar EMPLOYEES.
Ahora es, puede consultar determinadas columnas de determinadas filas de EMPLOYEES según su identidad.