Oracle XS_PRINCIPAL Version 21c |
---|
General Information | ||||||||||||||||||||||||||||||||||||||||
Library Note |
|
|||||||||||||||||||||||||||||||||||||||
Purpose | Real Application Security Principal Management | |||||||||||||||||||||||||||||||||||||||
AUTHID | CURRENT_USER | |||||||||||||||||||||||||||||||||||||||
Constants |
|
|||||||||||||||||||||||||||||||||||||||
Dependencies |
|
|||||||||||||||||||||||||||||||||||||||
Documented | Yes | |||||||||||||||||||||||||||||||||||||||
First Available | 12.1 | |||||||||||||||||||||||||||||||||||||||
PRAGMA | PRAGMA SUPPLEMENTAL_LOG_DATA(default, AUTO); | |||||||||||||||||||||||||||||||||||||||
Security Model | Owned by SYS with EXECUTE granted to PUBLIC | |||||||||||||||||||||||||||||||||||||||
Source | {ORACLE_HOME}/rdbms/admin/xsrs.sql | |||||||||||||||||||||||||||||||||||||||
Related System Privileges |
|
|||||||||||||||||||||||||||||||||||||||
Subprograms |
|
|||||||||||||||||||||||||||||||||||||||
ADD_PROXY_TO_DBUSER | ||||||||||||||||||||||||||||||||||||||||
Add a proxy user to a database user | xs_principal.add_proxy_to_dbuser( |
|||||||||||||||||||||||||||||||||||||||
exec xs_principal.add_proxy_to_dbuser('SEC_MGR', 'UWPROXY'); |
||||||||||||||||||||||||||||||||||||||||
ADD_PROXY_USER | ||||||||||||||||||||||||||||||||||||||||
Add a proxy user to a lightweight user. Proxy_user will proxy to and act on behalf of target_user. If the target_roles is null, only xspublic and xsswitch default roles will be enable for the proxy user. Overload 1 |
xs_principal.add_proxy_user( |
|||||||||||||||||||||||||||||||||||||||
TBD | ||||||||||||||||||||||||||||||||||||||||
Add proxy user to a target user with all with all default enabled roles of target user Overload 2 |
xs_principal.add_proxy_user( |
|||||||||||||||||||||||||||||||||||||||
exec xs_principal.add_proxy_user('SEC_USER', 'UWPROXY'); |
||||||||||||||||||||||||||||||||||||||||
CREATE_DYNAMIC_ROLE | ||||||||||||||||||||||||||||||||||||||||
Creates a new dynamic application role that can be dynamically enabled or disabled by an application based on the criteria defined by the application | xs_principal.create_dynamic_role( |
|||||||||||||||||||||||||||||||||||||||
exec xs_principal.create_dynamic_role('DYN_ROLE', 60, description=>'RAS Dynamic Role'); |
||||||||||||||||||||||||||||||||||||||||
CREATE_ROLE | ||||||||||||||||||||||||||||||||||||||||
Creates a new application role | xs_principal.create_role( |
|||||||||||||||||||||||||||||||||||||||
exec xs_principal.create_role('RAS_ROLE', TRUE, SYSDATE, SYSDATE+30, description=>'RAS Test Role'); |
||||||||||||||||||||||||||||||||||||||||
CREATE_USER | ||||||||||||||||||||||||||||||||||||||||
Creates a new application user | xs_principal.create_user( |
|||||||||||||||||||||||||||||||||||||||
SQL> conn sys@pdbdev as sysdba |
||||||||||||||||||||||||||||||||||||||||
DELETE_PRINCIPAL | ||||||||||||||||||||||||||||||||||||||||
Delete the principal | xs_principal.delete_principal( |
|||||||||||||||||||||||||||||||||||||||
conn sys@pdbdev as SYSDBA |
||||||||||||||||||||||||||||||||||||||||
ENABLE_BY_DEFAULT | ||||||||||||||||||||||||||||||||||||||||
Enables/disables the role by default. This API only works on regular roles | xs_principal.enable_by_default( |
|||||||||||||||||||||||||||||||||||||||
SELECT name, default_enabled |
||||||||||||||||||||||||||||||||||||||||
ENABLE_ROLES_BY_DEFAULT | ||||||||||||||||||||||||||||||||||||||||
Enables/disables all directly granted roles for a user by default and inspite of its name this API only works on users | xs_principal.enable_roles_by_default( |
|||||||||||||||||||||||||||||||||||||||
exec xs_principal.enable_roles_by_default('SEC_USER'); |
||||||||||||||||||||||||||||||||||||||||
GRANT_ROLES | ||||||||||||||||||||||||||||||||||||||||
Grant a role to a principal Overload 1 |
xs_principal.grant_roles( |
|||||||||||||||||||||||||||||||||||||||
exec xs_principal.grant_roles('SEC_USER', 'RAS_ROLE', SYSDATE, SYSDATE+1); |
||||||||||||||||||||||||||||||||||||||||
Grant a list of roles to a principal Overload 2 |
xs_principal.grant_roles( |
|||||||||||||||||||||||||||||||||||||||
TBD | ||||||||||||||||||||||||||||||||||||||||
REMOVE_PROXY_FROM_DBUSER | ||||||||||||||||||||||||||||||||||||||||
Remove a proxy user from db user | xs_principal.remove_proxy_from_dbuser( |
|||||||||||||||||||||||||||||||||||||||
exec xs_principal.grant_roles('SEC_USER', 'UWPROXY'); |
||||||||||||||||||||||||||||||||||||||||
REMOVE_PROXY_USERS | ||||||||||||||||||||||||||||||||||||||||
Remove all existing proxy users from a target user Overload 1 |
xs_principal.remove_proxy_users(target_user IN VARCHAR2); |
|||||||||||||||||||||||||||||||||||||||
exec xs_principal.remove_proxy_users('SEC_USER'); |
||||||||||||||||||||||||||||||||||||||||
Remove a proxy user from a target user Overload 2 |
xs_principal.remove_proxy_users( |
|||||||||||||||||||||||||||||||||||||||
exec xs_principal.remove_proxy_users('SEC_USER', 'UWPROXY'); |
||||||||||||||||||||||||||||||||||||||||
REVOKE_ROLES | ||||||||||||||||||||||||||||||||||||||||
Revoke all roles from a principal Overload 1 |
xs_principal.revoke_roles(grantee IN VARCHAR2); |
|||||||||||||||||||||||||||||||||||||||
exec xs_principal.revoke_roles('SEC_USER'); |
||||||||||||||||||||||||||||||||||||||||
Revoke a role from a principal Overload 2 |
xs_principal.revoke_roles( |
|||||||||||||||||||||||||||||||||||||||
exec xs_principal.grant_roles('SEC_USER', 'RAS_ROLE', SYSDATE, SYSDATE+1); |
||||||||||||||||||||||||||||||||||||||||
Revoke a list of roles from a principal Overload 3 |
xs_principal.revoke_roles( |
|||||||||||||||||||||||||||||||||||||||
TBD | ||||||||||||||||||||||||||||||||||||||||
SET_ACL | ||||||||||||||||||||||||||||||||||||||||
Set Access Control List | xs_principal.set_acl( |
|||||||||||||||||||||||||||||||||||||||
exec xs_principal.set_acl('XS_USER_EXT', 'mlib-org-permissions.xml'); |
||||||||||||||||||||||||||||||||||||||||
SET_DESCRIPTION | ||||||||||||||||||||||||||||||||||||||||
Set the description of a principal | xs_principal.set_description( |
|||||||||||||||||||||||||||||||||||||||
exec xs_principal.set_description('XS_USER_EXT', 'RAS Role Description'); |
||||||||||||||||||||||||||||||||||||||||
SET_DYNAMIC_ROLE_DURATION | ||||||||||||||||||||||||||||||||||||||||
Update the duration of a dynamic role | xs_principal.set_dynamic_role_duration( |
|||||||||||||||||||||||||||||||||||||||
exec xs_principal.set_dynamic_role_duration('DYN_ROLE', 30); |
||||||||||||||||||||||||||||||||||||||||
SET_DYNAMIC_ROLE_SCOPE | ||||||||||||||||||||||||||||||||||||||||
Update the scope attribute of a dynamic role | xs_principal.set_dynamic_role_scope( |
|||||||||||||||||||||||||||||||||||||||
exec xs_principal.set_dynamic_role_scope('DYN_ROLE', xs_principal.session_scope); |
||||||||||||||||||||||||||||||||||||||||
SET_EFFECTIVE_DATES | ||||||||||||||||||||||||||||||||||||||||
Update effective date of a user/role | xs_principal.set_effective_dates( |
|||||||||||||||||||||||||||||||||||||||
exec xs_principal.set_effective_dates('SEC_USER', SYSDATE, SYSDATE+1); |
||||||||||||||||||||||||||||||||||||||||
SET_GUID | ||||||||||||||||||||||||||||||||||||||||
The guid only can be set if the principal is from an external source and the previous guid is NULL | xs_principal.set_guid( |
|||||||||||||||||||||||||||||||||||||||
SELECT name, guid, type, external_source EXT_SRC, description |
||||||||||||||||||||||||||||||||||||||||
SET_PASSWORD | ||||||||||||||||||||||||||||||||||||||||
Set the user password | xs_principal.set_password( |
|||||||||||||||||||||||||||||||||||||||
See CREATE_USER demo above |
||||||||||||||||||||||||||||||||||||||||
SET_PROFILE | ||||||||||||||||||||||||||||||||||||||||
Set the user profile | xs_principal.set_profile( |
|||||||||||||||||||||||||||||||||||||||
exec xs_principal.set_profile('sec_user', 'cis_profile'); |
||||||||||||||||||||||||||||||||||||||||
SET_USER_SCHEMA | ||||||||||||||||||||||||||||||||||||||||
Update the schema that a lightweight user owns. Only applies to LW users | xs_principal.set_user_schema( |
|||||||||||||||||||||||||||||||||||||||
exec xs_principal.set_user_schema('sec_user', 'HR'); |
||||||||||||||||||||||||||||||||||||||||
SET_USER_STATUS | ||||||||||||||||||||||||||||||||||||||||
Set/modify the user status that a lightweight user owns | xs_principal.set_user_status( |
|||||||||||||||||||||||||||||||||||||||
exec xs_principal.set_user_status('sec_user', xs_principal.active); |
||||||||||||||||||||||||||||||||||||||||
SET_VERIFIER | ||||||||||||||||||||||||||||||||||||||||
Sets or modifies an application user account verifier. The procedure directly inserts the verifier and the value of the type parameter into the dictionary table enabling admins to migrate users into RAS with knowledge of the verifier and not the password. | xs_principal.set_verifier( |
|||||||||||||||||||||||||||||||||||||||
SELECT standard_hash('ZZYZX'') FROM dual; |
This site is maintained by Dan Morgan. Last Updated: | This site is protected by copyright and trademark laws under U.S. and International law. © 1998-2023 Daniel A. Morgan All Rights Reserved | |||||||||
|
||||||||||