Generate, List, Invalidate, and Monitor PAR URLs
Shows you the steps to generate. list, invalidate, or monitor PAR URLs.
- Generate a PAR URL for a Table or a View
Shows you the steps to generate a PAR URL that you can use to share access for a schema object (table or view). - Generate a PAR URL with a Select Statement
Shows you the steps to generate a PAR URL that provides access to data using a SQL query statement. - Generate a PAR URL with UI Features Specified on Columns
When you generate a PAR URL you can use thecolumn_lists
parameter to specify UI features for specified columns. - List PAR URLs
You can list the active PAR URLs that you generated on an Autonomous Database instance and the ADMIN user can list all active PAR URLs. - Invalidate PAR URLs
At any time a user with appropriate privileges can invalidate a PAR URL. - Define a Virtual Private Database Policy to Secure PAR URL Data
By defining Oracle Virtual Private Database (VPD) policies for data that you share with a PAR URL, you can provide fine-grained access control so that only a subset of data, rows, is visible for a specific PAR URL. - Monitor and View PAR URL Usage
Autonomous Database provides views that allow you to monitor PAR URL usage.
Generate a PAR URL for a Table or a View
Shows you the steps to generate a PAR URL that you can use to share access for a schema object (table or view).
When a PAR URL runs it uses the privileges granted to the database user who generates the
PAR URL. The user that generates a PAR URL should have the minimum privileges required for
providing access to the data. To maintain security, Oracle recommends that you do not run
DBMS_DATA_ACCESS.GET_PREAUTHENTICATED_URL
as the ADMIN user.
To use a PAR URL to provide access to data as a schema object (table or view):
Parent topic: Generate, List, Invalidate, and Monitor PAR URLs
Generate a PAR URL with a Select Statement
Shows you the steps to generate a PAR URL that provides access to data using a SQL query statement.
When a PAR URL runs it uses the privileges granted to the database user who generates the
PAR URL. The user that generates a PAR URL should have the minimum privileges required for
providing access to the data. To maintain security, Oracle recommends that you do not run
DBMS_DATA_ACCESS.GET_PREAUTHENTICATED_URL
as the ADMIN user.
To use a PAR URL to provide to access to data as an arbitrary SQL query statement:
Parent topic: Generate, List, Invalidate, and Monitor PAR URLs
Generate a PAR URL with UI Features Specified on Columns
When you generate a PAR URL you can use the column_lists
parameter to specify UI features for specified columns.
The column_lists
parameter is a JSON value that specifies
options by column. The supported values in column_lists
are one or more of
the following:
column_lists Value | Description |
---|---|
order_by_columns |
Specifies the columns that support sorting. The columns are specified in a JSON array. |
filter_columns |
Specifies the columns that support filtering. The columns are specified in a JSON array. |
default_color_columns |
Specifies to only use the default coloring for the specified columns. The columns are specified in a JSON array. |
group_by_columns |
Specifies that group by is allowed for the specified columns (viewing the data by grouping the specified column is allowed). The columns are specified in a JSON array. |
To specify table view column level UI features for a PAR URL:
You can also:
- Use
DBMS_DATA_ACCESS.LIST_ACTIVE_URLS
to show PAR URLs. See List PAR URLs for details. - Use
DBMS_DATA_ACCESS.EXTEND_URL
to extend the life of a PAR URL. See EXTEND_URL Procedure for more information. - Generate PAR URLs that are serviced with different service-level guarantees and resources. For example, access to an object or SQL statement can be mapped to services HIGH or MEDIUM, whereas access to another object or SQL statement can be mapped to the LOW service. See GET_PREAUTHENTICATED_URL Procedure for more information.
Parent topic: Generate, List, Invalidate, and Monitor PAR URLs
List PAR URLs
You can list the active PAR URLs that you generated on an Autonomous Database instance and the ADMIN user can list all active PAR URLs.
Run DBMS_DATA_ACCESS.LIST_ACTIVE_URLS
to list the active
PAR URLs. For example:
DECLARE
result CLOB;
BEGIN
result := DBMS_DATA_ACCESS.LIST_ACTIVE_URLS
;
dbms_output.put_line(result);
END;
/
This example shows the following output:
[{
"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"]}
}]
See LIST_ACTIVE_URLS Function for more information.
The behavior of
DBMS_DATA_ACCESS.LIST_ACTIVE_URLS
is dependent on the
invoker. If the invoker is ADMIN or any user with PDB_DBA
role, the
function lists all active PAR URLs, regardless of the user who generated the PAR
URL. If the invoker is not the ADMIN user and not a user with
PDB_DBA
role, the list includes only the active PAR URLs
generated by the invoker.
Parent topic: Generate, List, Invalidate, and Monitor PAR URLs
Invalidate PAR URLs
At any time a user with appropriate privileges can invalidate a PAR URL.
To invalidate a PAR URL, you need the PAR URL id
. Use DBMS_DATA_ACCESS.LIST_ACTIVE_URLS
to
list each PAR URLs and its associated id
.
Use DBMS_DATA_ACCESS.INVALIDATE_URL
to invalidate a PAR URL. For example:
DECLARE
status CLOB;
BEGIN
DBMS_DATA_ACCESS.INVALIDATE_URL
(
id => 'Vd1Px7QWASdqDbnndiuwTAyyEstv82PCHqS_example',
result => status);
dbms_output.put_line(status);
END;
/
See INVALIDATE_URL Procedure for more information.
Parent topic: Generate, List, Invalidate, and Monitor PAR URLs
Define a Virtual Private Database Policy to Secure PAR URL Data
Oracle Virtual Private Database (VPD) is a security feature that lets you
control data access dynamically at row level for users and
applications by applying filters on the same data set. When a PAR
URL is accessed, the value of application_user_id
specified during PAR URL generation is available through
sys_context('DATA_ACCESS_CONTEXT$',
'USER_IDENTITY')
. You can define VPD Policies that
make use of the value of this Application Context to restrict the
data, rows, visible to the application user.
Any user who is granted access to read data with a PAR URL
can access and use the data (either a table, a view, or the data
provided with a select statement). By defining a VPD policy on the
database that generated a PAR URL, you can use the
application_user_id
value in a SYS_CONTEXT
rule to provide more fine-grained control. Consider an example where
data is made available with a PAR URL. If you want to restrict
access to some of the data you can add a VPD policy.
For example:
See Using Oracle Virtual Private Database to Control Data Access for more information.
Parent topic: Generate, List, Invalidate, and Monitor PAR URLs
Monitor and View PAR URL Usage
Autonomous Database provides views that allow you to monitor PAR URL usage.
Views | Description |
---|---|
V$DATA_ACCESS_URL_STATS and GV$DATA_ACCESS_URL_STATS Views |
These views track PAR URL usage, including elapsed time, CPU time, and additional information. |
Parent topic: Generate, List, Invalidate, and Monitor PAR URLs