Generate, List, Invalidate, and Monitor Table Hyperlinks
Shows you the steps to generate. list, invalidate, or monitor Table Hyperlinks.
- Generate a Table Hyperlink for a Table or a View
Shows you the steps to generate a Table Hyperlink that you can use to share access for a schema object (table or view). - Generate a Table Hyperlink with a Select Statement
Shows you the steps to generate a Table Hyperlink that provides access to data using a SQL query statement. - Generate a Table Hyperlink with UI Features Specified on Columns
When you generate a Table Hyperlink you can use thecolumn_lists
parameter to specify UI features for specified columns. - List Table Hyperlinks
You can list the active Table Hyperlinks that you generated on an Autonomous Database instance and the ADMIN user can list all active Table Hyperlinks. - Invalidate Table Hyperlinks
At any time a user with appropriate privileges can invalidate a Table Hyperlink. - Define a Virtual Private Database Policy to Secure Table Hyperlink Data
By defining Oracle Virtual Private Database (VPD) policies for data that you share with a Table Hyperlink, you can provide fine-grained access control so that only a subset of data, rows, is visible for a specific Table Hyperlink. - Monitor and View Table Hyperlink Usage
Autonomous Database provides views that allow you to monitor Table Hyperlink usage.
Generate a Table Hyperlink for a Table or a View
Shows you the steps to generate a Table Hyperlink that you can use to share access for a schema object (table or view).
When a Table Hyperlink runs it uses the privileges granted to the database user
who generates the Table Hyperlink. The user that generates a Table Hyperlink 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 Table Hyperlink to provide access to data as a schema object (table or view):
Notes for generating a Table Hyperlink with
DBMS_DATA_ACCESS.GET_PREAUTHENTICATED_URL
:
-
When you generate a Table Hyperlink on an Autonomous Database instance with a private endpoint, the result includes a name
private_preauth_url
with the value of the form:"https://private-endpoint/adb/p/parurl-token/data"
.When you generate a Table Hyperlink on an Autonomous Database instance with a private endpoint and the private endpoint is configured with Allow public access enabled, the result includes both the
preauth_url
for the public endpoint andprivate_preauth_url
.See Configure Private Endpoints and Use a Private Endpoint with Public Access Allowed for more information.
- Use
DBMS_DATA_ACCESS.LIST_ACTIVE_URLS
to show Table Hyperlinks. See List Table Hyperlinks for details. - Use
DBMS_DATA_ACCESS.EXTEND_URL
to extend the life of a Table Hyperlink. See EXTEND_URL Procedure for more information.
Parent topic: Generate, List, Invalidate, and Monitor Table Hyperlinks
Generate a Table Hyperlink with a Select Statement
Shows you the steps to generate a Table Hyperlink that provides access to data using a SQL query statement.
When a Table Hyperlink runs it uses the privileges granted to the database
user who generates the Table Hyperlink. The user that generates a Table Hyperlink 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 Table Hyperlink to provide to access to data as an arbitrary SQL query statement:
Notes for generating a Table Hyperlink with
DBMS_DATA_ACCESS.GET_PREAUTHENTICATED_URL
:
-
When you generate a Table Hyperlink on an Autonomous Database instance with a private endpoint, the result includes a name
private_preauth_url
with the value of the form:"https://private-endpoint/adb/p/parurl-token/data"
.When you generate a Table Hyperlink on an Autonomous Database instance with a private endpoint and the private endpoint is configured with Allow public access enabled, the result includes both the
preauth_url
for the public endpoint andprivate_preauth_url
.See Configure Private Endpoints and Use a Private Endpoint with Public Access Allowed for more information.
- Use
DBMS_DATA_ACCESS.LIST_ACTIVE_URLS
to show Table Hyperlinks. See List Table Hyperlinks for details. - Use
DBMS_DATA_ACCESS.EXTEND_URL
to extend the life of a Table Hyperlink. See EXTEND_URL Procedure for more information.
Parent topic: Generate, List, Invalidate, and Monitor Table Hyperlinks
Generate a Table Hyperlink with UI Features Specified on Columns
When you generate a Table Hyperlink 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 Table Hyperlink:
You can also:
- Use
DBMS_DATA_ACCESS.LIST_ACTIVE_URLS
to show Table Hyperlinks. See List Table Hyperlinks for details. - Use
DBMS_DATA_ACCESS.EXTEND_URL
to extend the life of a Table Hyperlink. See EXTEND_URL Procedure for more information. - Generate Table Hyperlinks 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 Table Hyperlinks
List Table Hyperlinks
You can list the active Table Hyperlinks that you generated on an Autonomous Database instance and the ADMIN user can list all active Table Hyperlinks.
Run DBMS_DATA_ACCESS.LIST_ACTIVE_URLS
to list the active
Table Hyperlinks. 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",
"acl_enabled":false,
"column_lists":{"group_by_columns":["COUNTY","SPECIES"]}}]
See LIST_ACTIVE_URLS Function for more information.
Notes for running DBMS_DATA_ACCESS.LIST_ACTIVE_URLS
:
-
The behavior of
DBMS_DATA_ACCESS.LIST_ACTIVE_URLS
is dependent on the invoker. If the invoker is ADMIN or any user withPDB_DBA
role, the function lists all active Table Hyperlinks, regardless of the user who generated the Table Hyperlink. If the invoker is not the ADMIN user and not a user withPDB_DBA
role, the list includes only the active Table Hyperlinks generated by the invoker. -
When you generate and list a Table Hyperlink on an Autonomous Database instance with a private endpoint, the result includes a name
private_preauth_url
with the value of the form:"https://private-endpoint/adb/p/parurl-token/data"
.When you generate and list a Table Hyperlink on an Autonomous Database instance with a private endpoint and the private endpoint is configured with Allow public access enabled, the result includes both the
preauth_url
for the public endpoint andprivate_preauth_url
.See Configure Private Endpoints and Use a Private Endpoint with Public Access Allowed for more information.
Parent topic: Generate, List, Invalidate, and Monitor Table Hyperlinks
Invalidate Table Hyperlinks
At any time a user with appropriate privileges can invalidate a Table Hyperlink.
To invalidate a Table Hyperlink, you need the Table Hyperlink
id
. Use DBMS_DATA_ACCESS.LIST_ACTIVE_URLS
to list each Table Hyperlinks
and its associated id
.
Use DBMS_DATA_ACCESS.INVALIDATE_URL
to invalidate a Table Hyperlink.
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 Table Hyperlinks
Define a Virtual Private Database Policy to Secure Table Hyperlink 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
Table Hyperlink is accessed, the value of
application_user_id
specified during Table
Hyperlink 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 Table
Hyperlink 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 Table Hyperlink, 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 Table Hyperlink. 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 Table Hyperlinks
Monitor and View Table Hyperlink Usage
Autonomous Database provides views that allow you to monitor Table Hyperlink usage.
Views | Description |
---|---|
V$DATA_ACCESS_URL_STATS and GV$DATA_ACCESS_URL_STATS Views |
These views track Table Hyperlink usage, including elapsed time, CPU time, and additional information. |
Parent topic: Generate, List, Invalidate, and Monitor Table Hyperlinks