Paquete DBMS_DATA_ACCESS
El paquete DBMS_DATA_ACCESS
proporciona rutinas para generar y gestionar URL de solicitud autenticada previamente (PAR) para juegos de datos.
- DBMS_DATA_ACCESS Visión general
Describe el uso del paqueteDBMS_DATA_ACCESS
. - DBMS_DATA_ACCESS Modelo de seguridad
La seguridad de este paquete se puede controlar otorgandoEXECUTE
en este paquete a los usuarios o roles seleccionados. - Resumen de los subprogramas DBMS_DATA_ACCESS
En esta sección se tratan los subprogramasDBMS_DATA_ACCESS
proporcionados con Autonomous Database.
Tema principal: Referencia de paquete proporcionado por Autonomous Database
Visión general de DBMS_DATA_ACCESS
Describe el uso del paquete DBMS_DATA_ACCESS
.
DBMS_DATA_ACCESS
soporta estas operaciones:
- Generación de una URL de SAP
- Invalidación manual de una URL de PAR
- Lista de URL de PAR activas
Tema principal: Paquete DBMS_DATA_ACCESS
DBMS_DATA_ACCESS Modelo de Seguridad
La seguridad de este paquete se puede controlar otorgando EXECUTE
en este paquete a los usuarios o roles seleccionados.
EXECUTE
en DBMS_DATA_ACCESS
, puede crear, mostrar o invalidar las URL de PAR que crea el usuario. Además, por defecto, el usuario ADMIN tiene los siguientes privilegios:
- El usuario ADMIN con el rol
PDB_DBA
tiene el privilegioEXECUTE
enDBMS_DATA_ACCESS
. - El usuario ADMIN con el rol
PDB_DBA
puede mostrar o invalidar cualquier URL de PAR en una instancia de Autonomous Database.
Tema principal: Paquete DBMS_DATA_ACCESS
Resumen de los subprogramas DBMS_DATA_ACCESS
En esta sección se tratan los subprogramas DBMS_DATA_ACCESS
que proporciona Autonomous Database.
Subprograma | Descripción |
---|---|
Este procedimiento genera una URL de PAR. |
|
Este procedimiento invalida una URL de PAR. |
|
Esta función muestra todas las URL de PAR activas actualmente. |
- Procedimiento GET_PREAUTHENTICATED_URL
Este procedimiento genera una URL de PAR. - Procedimiento INVALIDATE_URL
Este procedimiento invalida una URL de PAR. - Función LIST_ACTIVE_URLS
Esta función muestra todas las URL de PAR activas actualmente.
Tema principal: Paquete DBMS_DATA_ACCESS
Procedimiento GET_PREAUTHENTICATED_URL
Hay dos formularios, uno para generar la URL de PAR para un objeto específico (tabla o vista). El formulario sobrecargado, mediante el parámetro sql_statement
, genera una URL de PAR para una sentencia SQL.
Sintaxis
DBMS_DATA_ACCESS.GET_PREAUTHENTICATED_URL
(
schema_name IN VARCHAR2,
schema_object_name IN VARCHAR2,
application_user_id IN VARCHAR2,
expiration_minutes IN NUMBER,
expiration_count IN NUMBER,
result OUT CLOB);
DBMS_DATA_ACCESS.GET_PREAUTHENTICATED_URL
(
sql_statement IN CLOB,
application_user_id IN VARCHAR2,
expiration_minutes IN NUMBER,
expiration_count IN NUMBER,
result OUT CLOB);
Parámetros
parámetro | Descripción |
---|---|
|
Especifica el propietario del objeto. |
|
Especifica el objeto de esquema (tabla o vista). |
|
Especifica el texto de la consulta de la sentencia |
|
Especifica un valor de ID de usuario de aplicación. Cuando se accede a la URL de PAR, el valor de sys_context('DATA_ACCESS_CONTEXT$', 'USER_IDENTITY') Puede definir políticas de VPD que utilicen este valor en el contexto de aplicación para restringir las filas visibles para el usuario de la aplicación. |
|
Duración en minutos de validez de la URL de PAR. El tiempo de caducidad máximo permitido es de 90 días (129600 minutos). Si el valor se establece en mayor que 129600, el valor utilizado es 129600 minutos (90 días). Si se especifica Valor por defecto: cuando no se proporciona |
|
Número de accesos permitidos en la URL de PAR. No hay ningún valor por defecto. Si no se especifica Si se especifica |
|
( |
Nota de Uso
-
Hay un límite de 128 URL de PAR activas en una instancia de Autonomous Database.
- Al utilizar una URL de PAR desde un explorador, se soportan las siguientes opciones:
- Para ver los datos devueltos en formato de tabla sin colorear (por defecto), agregue el parámetro de consulta
?view=table
a la URL de PAR. - Vea los datos devueltos en formato de tabla y seleccione la columna o columnas que desea que tengan colores predefinidos según los valores de columna. Para ello, agregue el parámetro de consulta
?view=table&colored_column_names=column_name_1,column_name_2
,...column_name_n
a la URL de PAR, donde decolumn_name_1
acolumn_name_n
son los nombres de las columnas que desea colorear. - Para ver los datos devueltos en formato de tabla y seleccionar un tipo de dato de columna específico con colores predefinidos, agregue el parámetro de consulta
?view=table&colored_column_types=data_type
. Los valores de parámetrodata_type
soportados sonVARCHAR
yNONE
.
- Para ver los datos devueltos en formato de tabla sin colorear (por defecto), agregue el parámetro de consulta
Ejemplos
DECLARE
status CLOB;
BEGIN
DBMS_DATA_ACCESS.GET_PREAUTHENTICATED_URL
(
schema_name => 'USER1',
schema_object_name => 'STUDENTS_VIEW',
expiration_minutes => 120,
result => status);
dbms_output.put_line(status);
END;
/
DECLARE
status CLOB;
par_url_app_string CLOB;
BEGIN
par_url_app_string := 1919292929;
DBMS_DATA_ACCESS.GET_PREAUTHENTICATED_URL
(
sql_statement => 'SELECT student_id, student_name FROM STUDENTS_VIEW ORDER BY student_id',
application_user_id => par_url_app_string,
expiration_count => 25,
result => status);
END;
/
Tema principal: Resumen de los subprogramas DBMS_DATA_ACCESS
Procedimiento INVALIDATE_URL
Este procedimiento invalida una URL de PAR.
Sintaxis
DBMS_DATA_ACCESS.INVALIDATE_URL
(
id IN VARCHAR2,
kill_sessions IN BOOLEAN DEFAULT FALSE,
result OUT CLOB);
Parámetros
parámetro | Descripción |
---|---|
|
Especifica el propietario del objeto. |
|
Por defecto, las sesiones existentes que pueden estar en medio del acceso a los datos mediante una URL de PAR no se matan. Cuando es TRUE, este parámetro especifica que dichas sesiones existentes se deben matar, de modo que la invalidación no deje ningún acceso continuo al juego de datos. Valores válidos: |
|
Proporciona JSON para indicar si la invalidación es correcta o fallida ( |
Tema principal: Resumen de los subprogramas DBMS_DATA_ACCESS
Función LIST_ACTIVE_URLS
Esta función muestra todas las URL de PAR activas actualmente.
Sintaxis
DBMS_DATA_ACCESS.LIST_ACTIVE_URLS
RETURN CLOB;
Parámetros
parámetro | Descripción |
---|---|
RETURN |
El valor devuelto es una matriz de JSON. |
Ejemplo
DECLARE
result CLOB;
BEGIN
result := DBMS_DATA_ACCESS.LIST_ACTIVE_URLS
;
DBMS_OUTPUT.PUT_LINE(result);
END;
[
{
"id": "89fa6081-ec6b-4179-9b06-a93af8fbd4b7",
"schema_name": "SCOTT",
"schema_object_name": "EMPLOYEE",
"created_by": "ADMIN",
"application_user_id": "AMIT",
"expiration_time": "2023-01-14T23:41:01.029Z",
"expiration_count": 100,
"access_count": 9,
"created": "2023-01-10T19:41:01.285Z"
},
{
"id": "263d2cd7-3bc0-41a7-8cb9-438a2d843481",
"sql_statement": "select name from v$pdbs",
"created_by": "ADMIN",
"application_user_id": "AMIT",
"expiration_time": "2023-01-15T00:04:30.578Z",
"expiration_count": 100,
"access_count": 0,
"created": "2023-01-10T20:04:30.607Z"
}
]
Nota de Uso
-
El comportamiento de
DBMS_DATA_ACCESS.LIST_ACTIVE_URLS
depende del invocador. Si el invocador es ADMIN o cualquier usuario con el rolPDB_DBA
, la función muestra todas las URL de PAR activas, independientemente del usuario que haya generado la URL de PAR. Si el invocador no es el usuario ADMIN ni un usuario con el rolPDB_DBA
, la lista incluye solo las URL de PAR activas generadas por el invocador.
Tema principal: Resumen de los subprogramas DBMS_DATA_ACCESS