Generación, enumeración, invalidación y supervisión de URL de PAR
Muestra los pasos que se deben generar. Enumere, invalide o supervise las URL de PAR.
- Generación de una URL de PAR para una tabla o vista
Muestra los pasos para generar una URL de PAR que puede utilizar para compartir el acceso a un objeto de esquema (tabla o vista). - Generación de una URL de PAR con una sentencia Select
Muestra los pasos para generar una URL de PAR que proporcione acceso a los datos mediante una sentencia de consulta SQL. - Generación de una URL de PAR con funciones de la interfaz de usuario especificadas en columnas
Al generar una URL de PAR, puede utilizar el parámetrocolumn_lists
para especificar las funciones de la interfaz de usuario para las columnas especificadas. - Lista de URL de PAR
Puede mostrar las URL de PAR activas que ha generado en una instancia de Autonomous Database y el usuario ADMIN puede mostrar todas las URL de PAR activas. - No validación de URL de PAR
En cualquier momento, un usuario con los privilegios adecuados puede invalidar una URL de PAR. - Definición de una política de base de datos privada virtual para proteger datos de URL de PAR
Al definir políticas de Oracle Virtual Private Database (VPD) para los datos que comparte con una URL de PAR, puede proporcionar un control de acceso detallado para que solo un subjuego de datos, filas, sea visible para una URL de PAR específica. - Supervisión y visualización del uso de URL de PAR
Autonomous Database proporciona vistas que le permiten supervisar el uso de URL de PAR.
Generación de una URL de PAR para una tabla o una vista
Muestra los pasos para generar una URL de PAR que puede utilizar para compartir el acceso a un objeto de esquema (tabla o vista).
Cuando se ejecuta una URL de PAR, utiliza los privilegios otorgados al usuario de la base de datos que genera la URL de PAR. El usuario que genera una URL de PAR debe tener los privilegios mínimos necesarios para proporcionar acceso a los datos. Para mantener la seguridad, Oracle recomienda que no ejecute DBMS_DATA_ACCESS.GET_PREAUTHENTICATED_URL
como usuario ADMIN.
Para utilizar una URL de PAR para proporcionar acceso a los datos como objeto de esquema (tabla o vista):
Generación de una URL de PAR con una sentencia Select
Muestra los pasos para generar una URL de PAR que proporcione acceso a los datos mediante una sentencia de consulta SQL.
Cuando se ejecuta una URL de PAR, utiliza los privilegios otorgados al usuario de la base de datos que genera la URL de PAR. El usuario que genera una URL de PAR debe tener los privilegios mínimos necesarios para proporcionar acceso a los datos. Para mantener la seguridad, Oracle recomienda que no ejecute DBMS_DATA_ACCESS.GET_PREAUTHENTICATED_URL
como usuario ADMIN.
Para utilizar una URL de PAR para proporcionar acceso a los datos como una sentencia de consulta SQL arbitraria:
Generación de una URL de PAR con funciones de interfaz de usuario especificadas en columnas
Al generar una URL de PAR, puede utilizar el parámetro column_lists
para especificar las funciones de la interfaz de usuario para las columnas especificadas.
El parámetro column_lists
es un valor JSON que especifica opciones por columna. Los valores soportados en column_lists
son uno o más de los siguientes:
Valor column_lists | Descripción |
---|---|
order_by_columns |
Especifica las columnas que admiten la ordenación. Las columnas se especifican en una matriz de JSON. |
filter_columns |
Especifica las columnas que admiten el filtrado. Las columnas se especifican en una matriz de JSON. |
default_color_columns |
Especifica que sólo se utilice el color por defecto para las columnas especificadas. Las columnas se especifican en una matriz de JSON. |
group_by_columns |
Especifica que Agrupar por está permitido para las columnas especificadas (se permite ver los datos agrupando la columna especificada). Las columnas se especifican en una matriz de JSON. |
Para especificar las funciones de IU de nivel de columna de vista de tabla para una URL de PAR:
También puede:
- Utilice
DBMS_DATA_ACCESS.LIST_ACTIVE_URLS
para mostrar las URL de PAR. Consulte Lista de URL de PAR para obtener más información. - Utilice
DBMS_DATA_ACCESS.EXTEND_URL
para ampliar la vida útil de una URL de PAR. Consulte procedimiento EXTEND_URL para obtener más información. - Genere URL de PAR atendidas con garantías y recursos de nivel de servicio diferentes. Por ejemplo, el acceso a un objeto o sentencia SQL se puede asignar a los servicios HIGH o MEDIUM, mientras que el acceso a otro objeto o sentencia SQL se puede asignar al servicio LOW. Consulte procedimiento GET_PREAUTHENTICATED_URL para obtener más información.
Enumerar URL de PAR
Puede mostrar las URL de PAR activas que ha generado en una instancia de Autonomous Database y el usuario ADMIN puede mostrar todas las URL de PAR activas.
Ejecute DBMS_DATA_ACCESS.LIST_ACTIVE_URLS
para mostrar las URL de PAR activas. Por ejemplo:
DECLARE
result CLOB;
BEGIN
result := DBMS_DATA_ACCESS.LIST_ACTIVE_URLS
;
dbms_output.put_line(result);
END;
/
Este ejemplo muestra el siguiente resultado:
[{
"id":"lsB5yJzrG2E-o_Diwf7O86p1TphhHs3abcdefgoPuK",
"schema_name":"ADMIN",
"schema_object_name":"TREE_DATA",
"created_by":"ADMIN",
"service_name":"HIGH",
"expiration_time":"2024-10-31T03:02:31.996Z",
"access_count":0,
"created":"2024-10-30T21:02:32.041Z",
"column_lists":{"group_by_columns":["COUNTY","SPECIES"]}
}]
Consulte Función LIST_ACTIVE_URLS para obtener más información.
El comportamiento de
DBMS_DATA_ACCESS.LIST_ACTIVE_URLS
depende del invocador. Si el invocador es ADMIN o cualquier usuario con el rol PDB_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 y no un usuario con el rol PDB_DBA
, la lista incluye solo las URL de PAR activas generadas por el invocador.
Invalidación de las URL de PAR
En cualquier momento, un usuario con los privilegios adecuados puede invalidar una URL de PAR.
Para invalidar una URL de PAR, necesita la URL de PAR id
. Utilice DBMS_DATA_ACCESS.LIST_ACTIVE_URLS
para mostrar cada URL de PAR y su id
asociado.
Utilice DBMS_DATA_ACCESS.INVALIDATE_URL
para invalidar una URL de PAR. Por ejemplo:
DECLARE
status CLOB;
BEGIN
DBMS_DATA_ACCESS.INVALIDATE_URL
(
id => 'Vd1Px7QWASdqDbnndiuwTAyyEstv82PCHqS_example',
result => status);
dbms_output.put_line(status);
END;
/
Consulte INVALIDATE_URL Procedimiento para obtener más información.
Definición de una política de base de datos privada virtual para proteger los datos de URL de PAR
Oracle Virtual Private Database (VPD) es una función de seguridad que permite controlar el acceso a los datos de forma dinámica a nivel de fila para los usuarios y las aplicaciones mediante la aplicación de filtros en el mismo juego de datos. Cuando se accede a una URL de PAR, el valor de application_user_id
especificado durante la generación de la URL de PAR está disponible a través de sys_context('DATA_ACCESS_CONTEXT$', 'USER_IDENTITY')
. Puede definir políticas de VPD que utilicen el valor de este contexto de aplicación para restringir los datos y las filas visibles para el usuario de la aplicación.
Cualquier usuario al que se le otorgue acceso para leer datos con una URL de PAR puede acceder a los datos y utilizarlos (ya sea una tabla, una vista o los datos proporcionados con una sentencia SELECT). Al definir una política de VPD en la base de datos que ha generado una URL de PAR, puede utilizar el valor application_user_id
en una regla SYS_CONTEXT para proporcionar un control más detallado. Considere un ejemplo en el que los datos están disponibles con una URL de PAR. Si desea restringir el acceso a algunos de los datos, puede agregar una política de VPD.
Por ejemplo:
Consulte Uso de Oracle Virtual Private Database para controlar el acceso a datos para obtener más información.
Supervisión y visualización del uso de URL de PAR
Autonomous Database proporciona vistas que permiten supervisar el uso de la URL de PAR.
vistas | Descripción |
---|---|
Vistas V$DATA_ACCESS_URL_STATS y GV$DATA_ACCESS_URL_STATS |
Estas vistas realizan un seguimiento del uso de la URL de PAR, incluido el tiempo transcurrido, el tiempo de CPU y la información adicional. |