viernes, 14 de abril de 2023

Oracle 23c - Nuevo Rol DB_DEVELOPER_ROLE

Comenzando con la serie de artículos sobre Oracle Database 23, vamos a analizar uno de los cambios que la misma ofrece, que es el nuevo rol DB_DEVELOPER_ROLE.


Nuevo Rol DB_DEVELOPER_ROLE

El mismo permite otorgar a un usuario un conjunto de roles y privilegios acorde a lo que Oracle considera lógico para poder desarrollar en una base de datos, reemplazando a los viejos y conocidos roles CONNECT y RESOURCE.


Permisos y Roles Incluidos

Podemos revisar los roles y permisos incluidos en este nuevo rol usando la siguiente consulta:

SELECT 'Privilegio de Sistema' AS PrivType, p.privilege, 'Ninguno' AS Object FROM dba_sys_privs p WHERE p.grantee = 'DB_DEVELOPER_ROLE' UNION ALL SELECT 'Roles' AS PrivType, r.granted_role, 'Ninguno' AS Object FROM dba_role_privs r WHERE r.grantee = 'DB_DEVELOPER_ROLE' UNION ALL SELECT 'Privilegio de Objeto' AS PrivType, op.privilege, op.table_name FROM dba_tab_privs op WHERE op.grantee = 'DB_DEVELOPER_ROLE' ORDER BY 1, 2, 3;

La misma nos devuelve un total de 30 permisos o roles asignados al nuevo rol, como vemos a continuación:

PRIVTYPE PRIVILEGE OBJECT ------------------------------ ------------------------------ ------------------------------ Privilegio de Objeto EXECUTE JAVASCRIPT Privilegio de Objeto READ V_$PARAMETER Privilegio de Objeto READ V_$STATNAME Privilegio de Objeto SELECT DBA_PENDING_TRANSACTIONS Privilegio de Sistema CREATE ANALYTIC VIEW Ninguno Privilegio de Sistema CREATE ATTRIBUTE DIMENSION Ninguno Privilegio de Sistema CREATE CUBE Ninguno Privilegio de Sistema CREATE CUBE BUILD PROCESS Ninguno Privilegio de Sistema CREATE CUBE DIMENSION Ninguno Privilegio de Sistema CREATE DIMENSION Ninguno Privilegio de Sistema CREATE DOMAIN Ninguno Privilegio de Sistema CREATE HIERARCHY Ninguno Privilegio de Sistema CREATE JOB Ninguno Privilegio de Sistema CREATE MATERIALIZED VIEW Ninguno Privilegio de Sistema CREATE MINING MODEL Ninguno Privilegio de Sistema CREATE MLE Ninguno Privilegio de Sistema CREATE PROCEDURE Ninguno Privilegio de Sistema CREATE SEQUENCE Ninguno Privilegio de Sistema CREATE SESSION Ninguno Privilegio de Sistema CREATE SYNONYM Ninguno Privilegio de Sistema CREATE TABLE Ninguno Privilegio de Sistema CREATE TRIGGER Ninguno Privilegio de Sistema CREATE TYPE Ninguno Privilegio de Sistema CREATE VIEW Ninguno Privilegio de Sistema DEBUG CONNECT SESSION Ninguno Privilegio de Sistema EXECUTE DYNAMIC MLE Ninguno Privilegio de Sistema FORCE TRANSACTION Ninguno Privilegio de Sistema ON COMMIT REFRESH Ninguno Roles CTXAPP Ninguno Roles SODA_APP Ninguno 30 rows selected.

Estos permisos son mas que aquellos que poseen los roles CONNECT y RESOURCE combinados, por lo que es probable que se deba considerar si es necesario otorgar este nuevo rol, si se debe mantener el uso de CONNECT y RESOURCE, o si es mejor crear un rol especifico en base a los permisos que nuestra organización quiera otorgar.

Utilización

Este rol se otorga en forma normal, como cualquier otro rol de Oracle database. En el ejemplo siguiente vamos a crear un usuario Demo23c y vamos a otorgarle el rol:

CREATE USER Demo23c IDENTIFIED BY Pwd23cDemo; GRANT DB_DEVELOPER_ROLE TO Demo23c;
El resultado es el siguiente:

User DEMO23C created. Grant succeeded.


Conclusión

Este nuevo rol nos permite asignar rápidamente un conjunto de permisos necesario para poder crear objetos usados frecuentemente en un esquema de bases de datos (tablas, vistas, procedimientos, etc.). Si bien en una base de datos de producción es recomendable otorgar sólo los permisos estrictamente necesarios, para un entorno de desarrollo resulta rápido y eficiente crear usuarios y otorgarles este nuevo rol para que puedan crear los objetos que necesitan sin necesidad de pedir nuevos privilegios al DBA.


Si desean conocer más sobre Oracle 23c, es recomendable que vean estos artículos en este blog como punto de partida:

Adicionalmente, pueden consultar todos los artículos relacionados a Oracle Database 23c agrupados en en el tag Database 23c.


No hay comentarios.:

Publicar un comentario