Uso de URL de solicitud autenticada previamente para el acceso a datos de solo lectura en Autonomous Database
El uso de una URL de PAR permite recuperar datos fácilmente de la base de datos, sin necesidad de proporcionar información adicional que no sea la URL de PAR para acceder a los datos. Cualquier usuario puede acceder a los datos proporcionando la URL de PAR en un explorador o mediante un cliente REST, según los controles de seguridad que aplique la base de datos. Los usuarios pueden ver los datos recuperados en formato tabular desde un explorador agregando un parámetro de consulta a la URL de PAR.
- Acerca de las URL de solicitud autenticada previamente (SAP) en Autonomous Database
En función de cómo genere una URL de solicitud autenticada previamente (SAP), una URL de PAR proporciona acceso a los datos de tablas o vistas o mediante la ejecución de una consulta SQL. - 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). - 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. - Definición de una política de base de datos privada virtual para proteger los 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, esté visible para una URL de PAR específica. - 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. - Uso de una URL de PAR para acceder a los datos
Los datos de URL de PAR se recuperan y devuelven en formato JSON y se paginan. - Uso de URL de PAR para acceder a datos y ver en formato de tabla
Los datos de URL de solicitud autenticada previamente (SAP) se recuperan y visualizan desde un explorador en formato de tabla. - Validación de URL de PAR
En cualquier momento, un usuario con los privilegios adecuados puede invalidar una URL de PAR. - 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. - Notas sobre el uso de URL de PAR para compartir datos
Proporciona notas sobre el uso de URL de PAR con Autonomous Database.
Tema principal: Uso compartido de datos
Acerca de las URL de solicitud autenticada previamente (PAR) en Autonomous Database
En función de cómo genere una URL de solicitud autenticada previamente (SAP), una URL de PAR proporciona acceso a los datos de tablas o vistas o mediante la ejecución de una consulta SQL.
Al generar una URL de PAR, especifica una caducidad, ya sea como hora de caducidad, por ejemplo, defina que la URL de PAR caduque después de 120 minutos o como recuento de caducidad, por ejemplo, la URL de PAR caduque después de que se utilice 10 veces.
Las URL de PAR proporcionan lo siguiente:
-
Acceso público: mediante una URL de PAR, un destinatario de datos de la red pública de Internet puede acceder a los datos cuando estos residen en una instancia de Autonomous Database en una subred privada.
-
Vencimiento: un proveedor de datos especifica la caducidad de una URL de PAR, lo que significa que la URL de PAR tiene un tiempo limitado antes de que caduque (hasta un máximo de 90 días).
-
Límites de recuento de uso de caducidad: un proveedor de datos puede especificar un límite en el número de veces que un destinatario puede utilizar una URL de PAR para acceder a los datos.
-
Transparencia de punto final: un proveedor de datos puede ocultar el nombre de Autonomous Database para que no esté visible en una URL de PAR.
Casos de uso de URL de PAR
La generación y el suministro de URL de PAR soporta los siguientes casos de uso:
Ejemplo | Descripción |
---|---|
Colaboración dentro de la organización |
Puede utilizar URL de PAR para el acceso a datos de emergencia. En situaciones en las que se necesita una respuesta rápida, como durante una investigación de incidentes críticos, proporcione una URL de PAR para permitir el acceso inmediato y temporal a datos específicos sin necesidad de crear nuevas cuentas de base de datos ni de modificar los permisos existentes. |
Aplicaciones BB (de negocio a negocio) |
Un socio comercial puede acceder fácilmente a los datos. Mediante el uso de una URL de PAR, una empresa puede proporcionar a un partner de negocio una forma sencilla de acceder a datos o informes. Esto puede eliminar la necesidad de generar informes manuales y distribuir correos electrónicos. |
Auditorías y revisiones de terceros |
Cuando un auditor o revisor externo requiere acceso a datos específicos durante un tiempo limitado, una URL de PAR puede proporcionarles el acceso que necesitan sin comprometer la seguridad general de la base de datos. |
Datos como producto (comercio digital) |
Los proveedores pueden otorgar acceso limitado o de uso único al contenido o los datos adquiridos mediante una URL de PAR. Una vez accedida, la URL caduca, lo que protege la exclusividad del producto y garantiza una entrega eficiente y segura. |
Mejores prácticas de seguridad para URL de PAR
A continuación se muestran algunas mejores prácticas para generar y utilizar URL de PAR:
-
Definir un tiempo de caducidad corto: una URL de PAR solo debe ser válida durante el tiempo mínimo necesario. Cuanto más corto sea el período de validez, menor será el riesgo si la URL de PAR se ve comprometida.
-
Invalidación de PAR: invalide una URL de PAR inmediatamente cuando ya no sea necesaria.
-
Usar permisos adecuados: una URL de PAR se ejecuta con los privilegios otorgados al usuario de 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.
-
Seguridad del contenido: para mitigar el riesgo de compartir datos dinámicos no deseados:
-
Cree una vista sobre los datos que desea compartir en una URL de PAR y controle que la definición de vista está actualizada.
-
Según sea necesario, cree una política de VPD al generar una URL de PAR. Puede utilizar políticas de VPD para restringir las filas visibles para los usuarios de URL de PAR.
-
-
Supervisión de carga: supervise la carga de consultas de URL de PAR mediante PerfHub y la supervisión SQL.
Active la escala automática de recursos informáticos y asegúrese de que el recuento de CPU tenga el tamaño adecuado para el tamaño del juego de datos y la carga de consultas 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, se utilizan los privilegios otorgados al usuario de 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, se utilizan los privilegios otorgados al usuario de 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 sentencia de consulta SQL arbitraria:
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 usuarios y 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 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 conceda 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. Piense en 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.
Mostrar 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;
/
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 ni un usuario con el rol PDB_DBA
, la lista incluye solo las URL de PAR activas generadas por el invocador.
Uso de una URL de PAR para acceder a los datos
Los datos de URL de PAR se recuperan y devuelven en formato JSON y se paginan.
Puede acceder a los datos mediante una URL de PAR con un explorador o mediante cualquier cliente REST. Los datos devueltos se paginan para permitirle acceder a un máximo de 100 registros a la vez, con el tamaño total de los datos en la respuesta limitado a 1 MB. Puede proporcionar el parámetro de consulta limit
para limitar el número de registros recuperados. La recuperación de datos de URL de PAR se bloquea si falla la autenticación de URL de PAR o si la URL de PAR solicitada ha caducado.
Para facilitar la legibilidad humana, los datos devueltos se pueden ver en formato tabular cuando se accede desde un explorador y se agrega un parámetro de consulta a la URL de PAR. Consulte Uso de URL de PAR para acceder a datos y ver en formato de tabla para obtener instrucciones.
Por ejemplo, utilice una URL de PAR:
curl https://dataaccess.adb.us-chicago-1.oraclecloudapps.com/adb/p/K6XExample/data
La respuesta de URL de PAR incluye enlaces para cualquier página anterior o siguiente, cuando los datos incluyen más de una página. Esto le permite navegar en cualquier dirección al recuperar datos. El JSON también incluye un enlace self
que apunta a la página actual, así como un atributo hasMore
que indica si hay más datos disponibles para recuperar.
A continuación se muestra el formato de respuesta:
{
"items": [], <-- Array of records from database
"hasMore": true OR false, <-- Indicates if there are more records to fetch or not
"limit": Number, <-- Indicates number of records in the page. Maximum allowed number is 100.
"offset": Number, <-- Offset indicating the start of the current page
"count": Number, <-- Count of records in the current page
"links": [
{
"rel": "self",
"href": "{Link to preauth url for the current page}"
},
{
"rel": "previous",
"href": "{Link to preauth url for the previous page}"
},
{
"rel": "next",
"href": "{Link to preauth url for the next page}"
}
]
}
Por ejemplo, a continuación se muestra una respuesta de ejemplo de una URL de PAR (con nuevas líneas agregadas para mayor claridad):
{"items":[
{"COUNTY":"Main","SPECIES":"Alder","HEIGHT":45},
{"COUNTY":"First","SPECIES":"Chestnut","HEIGHT":51},{"COUNTY":"Main","SPECIES":"Hemlock","HEIGHT":17},
{"COUNTY":"Main","SPECIES":"Douglas-fir","HEIGHT":34},{"COUNTY":"First","SPECIES":"Larch","HEIGHT":12},
{"COUNTY":"Main","SPECIES":"Cedar","HEIGHT":21},{"COUNTY":"First","SPECIES":"Douglas-fir","HEIGHT":10},
{"COUNTY":"Main","SPECIES":"Yew","HEIGHT":11},{"COUNTY":"First","SPECIES":"Willow","HEIGHT":17},
{"COUNTY":"Main","SPECIES":"Pine","HEIGHT":29},{"COUNTY":"First","SPECIES":"Pine","HEIGHT":16},
{"COUNTY":"First","SPECIES":"Spruce","HEIGHT":6},{"COUNTY":"Main","SPECIES":"Spruce","HEIGHT":8},
{"COUNTY":"First","SPECIES":"Hawthorn","HEIGHT":19},{"COUNTY":"First","SPECIES":"Maple","HEIGHT":16},
{"COUNTY":"Main","SPECIES":"Aspen","HEIGHT":35},{"COUNTY":"First","SPECIES":"Larch","HEIGHT":27},
{"COUNTY":"First","SPECIES":"Cherry","HEIGHT":20},{"COUNTY":"Main","SPECIES":"Pine","HEIGHT":37},
{"COUNTY":"Main","SPECIES":"Redwood","HEIGHT":78},{"COUNTY":"Main","SPECIES":"Alder","HEIGHT":45},
{"COUNTY":"First","SPECIES":"Chestnut","HEIGHT":51},{"COUNTY":"Main","SPECIES":"Hemlock","HEIGHT":17},
{"COUNTY":"Main","SPECIES":"Douglas-fir","HEIGHT":34},{"COUNTY":"First","SPECIES":"Larch","HEIGHT":12},
{"COUNTY":"Main","SPECIES":"Cedar","HEIGHT":21},{"COUNTY":"First","SPECIES":"Douglas-fir","HEIGHT":10},
{"COUNTY":"Main","SPECIES":"Redwood","HEIGHT":78}],
"hasMore":false,
"limit":100,
"offset":0,
"count":30,
"links":
[
{"rel":"self",
"href":"https://dataaccess.adb.us-ashburn-1.oraclecloudapps.com/adb/p/F5Sn..._example/data"}
]}
Uso de URL de PAR para acceder a datos y ver en formato de tabla
Los datos de URL de solicitud autenticada previamente (SAP) se recuperan y visualizan desde un explorador en formato de tabla.
?view=table
a cualquier URL de PAR.
?view=table
agregado:https://dataaccess.adb.us-ashburn-1.oraclecloudapps.com/adb/p/F5Sn..._example/data?view=table
A continuación se muestra una respuesta de ejemplo a una URL de PAR con ?view=table
agregada:
Ordenación de Datos de Columna
Se pueden ordenar las columnas en orden ascendente o descendente. Para ello, haga clic en la columna flecha desplegable y seleccione Orden ascendente o Orden descendente.
A continuación se muestra una captura de pantalla de una tabla de ejemplo con la columna HEIGHT ordenada en orden descendente:
Filtro de datos de columna
Puede filtrar valores de columna. Para filtrar una columna, haga clic en la flecha desplegable de la columna, introduzca el texto de filtro en el cuadro de texto de entrada y haga clic en Intro.
A continuación se muestra una captura de pantalla de una tabla de ejemplo con la columna ESPECIES filtrada para mostrar solo datos de árboles de picea:
Después de hacer clic en Intro, solo se muestran las filas de los árboles de abeto:
Colorear datos de columna
Por defecto, ninguna de las columnas tiene color. Puede seleccionar las columnas que desea que tengan colores predefinidos en función de los valores de columna. Para especificar las columnas que desea colorear, proporcione los nombres de columna como parámetro de consulta colored_column_names
.
https://dataaccess.adb.us-ashburn-1.oraclecloudapps.com/adb/p/F5Sn..._example/data?view=table&colored_column_names=column1,column2
A continuación se muestra un ejemplo de URL de PAR y una captura de pantalla de una parte de la tabla resultante. La tabla resultante tiene datos de color para las columnas COUNTY y SPECIES. La columna SPECIES está ordenada en sentido ascendente:
https://dataaccess.adb.us-ashburn-1.oraclecloudapps.com/adb/p/F5Sn..._example/data?view=table&colored_column_names=COUNTY,SPECIES
Colorear tipos de dato de columna
También puede seleccionar un tipo de datos de columna específico para colorear proporcionando el tipo de datos como parámetro de consulta colored_column_types
.
Este parámetro soporta colored_column_types=VARCHAR
para colorear todas las columnas de cadena (VARCHAR) y colored_column_types=NONE
para no colorear ningún tipo de dato.
Por ejemplo:
https://dataaccess.adb.us-ashburn-1.oraclecloudapps.com/adb/p/F5Sn..._example/data?view=table&colored_column_types=VARCHAR
Invalidación de 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 el procedimiento INVALIDATE_URL 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 URL de PAR.
vistas | Descripción |
---|---|
Vistas de V$DATA_ACCESS_URL_STATS y GV$DATA_ACCESS_URL_STATS |
Estas vistas realizan un seguimiento del uso de URL de PAR, incluido el tiempo transcurrido, el tiempo de CPU y la información adicional. |
Notas sobre el uso de URL de PAR para compartir datos
Proporciona notas para utilizar URL de PAR con Autonomous Database.
-
El procedimiento
DBMS_DATA_ACCESS.GET_PREAUTHENTICATED_URL
no acepta variables de enlace, tanto si la URL de PAR está en una sentencia SQL como en un objeto específico. -
Al ejecutar el procedimiento
DBMS_DATA_ACCESS.GET_PREAUTHENTICATED_URL
con el parámetrosql_statement
, la sentencia SQL debe ser una sentenciaSELECT
. -
Hay un límite de 128 URL de PAR activas en una instancia de Autonomous Database.