XS_ADMIN_UTILパッケージ
XS_ADMIN_UTILパッケージには、他のパッケージで使用するヘルパー・サブプログラムが含まれます。
定数
DEFAULT_OPTION CONSTANT PLS_INTEGER := 1; CASCADE_OPTION CONSTANT PLS_INTEGER := 2; ALLOW_INCONSISTENCIES_OPTION CONSTANT PLS_INTEGER := 3;
次の定数はプリンシパルのタイプを定義します。
PTYPE_XS CONSTANT PLS_INTEGER := 1; PTYPE_DB CONSTANT PLS_INTEGER := 2; PTYPE_DN CONSTANT PLS_INTEGER := 3; PTYPE_EXTERNAL CONSTANT PLS_INTEGER := 4;
XS_ADMIN_UTILサブプログラムの要約
表11-4 XS_ADMIN_UTILサブプログラムの要約
サブプログラム | 簡単な説明 |
---|---|
ユーザーまたはロールにReal Application Securityシステム権限を付与します。 |
|
ユーザーまたはロールからReal Application Securityシステム権限を取り消します。 |
この項では次のXS_ADMIN_UTILサブプログラムについて説明します。
GRANT_SYSTEM_PRIVILEGEプロシージャ
GRANT_SYSTEM_PRIVILEGE
プロシージャを使用して、ユーザーまたはロールにReal Application Securityシステム権限を付与します。SYS
またはGRANT ANY PRIVILEGE
権限を持つユーザーのみがこの操作を実行できます。
監査アクションAUDIT_GRANT_PRIVILEGE
によって、システム権限またはスキーマ権限を付与するためのすべてのGRANT_SYSTEM_PRIVILEGE
コールが監査されます。
構文
XS_ADMIN_UTIL.GRANT_SYSTEM_PRIVILEGE ( priv_name IN VARCHAR2, user_name IN VARCHAR2, user_type IN PLS_INTEGER := XS_ADMIN_UTIL.PTYPE_DB, schema IN VARCHAR2);
パラメータ
パラメータ | 説明 |
---|---|
|
付与するReal Application Securityシステム権限またはスキーマ権限の名前を指定します。 |
|
Real Application Securityのシステム権限またはスキーマ権限を付与するユーザーまたはロールの名前を指定します。 |
|
ユーザーのタイプ。デフォルトではデータベース・ユーザーです。 |
|
権限が付与されるスキーマ。その権限がシステム権限である場合、値は |
例
次の例では、データベース・ユーザーdbuser1
を作成して、このデータベース・ユーザーにReal Application Security権限ADMINISTER_SESSION
を付与し、user_type
としてデフォルトのXS_ADMIN_UTIL.PTYPE_DB
を指定しますが、これはデフォルト値であるため指定は不要です。
SQL> CREATE USER dbuser1 identified by password;
SQL> EXEC SYS.XS_ADMIN_UTIL.GRANT_SYSTEM_PRIVILEGE('ADMINISTER_SESSION', 'dbuser1', XS_ADMIN_UTIL.PTYPE_DB, 'HR1');
次の例では、アプリケーション・ユーザーuser1
を作成し、このアプリケーション・ユーザーにReal Application Security権限ADMINISTER_SESSION
を付与し、user_type
をXS_ADMIN_UTIL.PTYPE_XS
として指定し、スキーマをHR1として指定します。
SQL> EXEC SYS.XS_PRINCIPAL.CREATE_USER('user1','HR1');
SQL> EXEC SYS.XS_PRINCIPAL.SET_PASSWORD('user1', 'password');
SQL> EXEC SYS.XS_ADMIN_UTIL.GRANT_SYSTEM_PRIVILEGE('ADMINISTER_SESSION', 'user1', XS_ADMIN_UTIL.PTYPE_XS, 'HR1');
REVOKE_SYSTEM_PRIVILEGEプロシージャ
REVOKE_SYSTEM_PRIVILEGE
を使用して、ユーザーまたはロールからReal Application Securityのシステム権限またはスキーマ権限を取り消します。SYS
権限またはGRANT ANY PRIVILEGE
権限を持つユーザーのみがこの操作を実行できます。
監査アクションAUDIT_REVOKE_PRIVILEGE
によって、システム権限またはスキーマ権限を取り消すためのすべてのREVOKE_SYSTEM_PRIVILEGE
コールが監査されます。
構文
XS_ADMIN_UTIL.REVOKE_SYSTEM_PRIVILEGE ( priv_name IN VARCHAR2, user_name IN VARCHAR2, user_type IN PLS_INTEGER := XS_ADMIN_UTIL.PTYPE_DB, schema IN VARCHAR2);
パラメータ
パラメータ | 説明 |
---|---|
|
取り消すReal Application Securityシステム権限またはスキーマ権限の名前を指定します。 |
|
Real Application Securityのシステム権限またはスキーマ権限を取り消すユーザーまたはロールの名前を指定します。 |
|
ユーザーのタイプ。デフォルトではデータベース・ユーザーです。 |
|
権限が取り消されるスキーマ。その権限がシステム権限である場合、値は |
例
次の例では、データベース・ユーザーdbuser1
を作成して、このデータベース・ユーザーからReal Application Security権限ADMINISTER_SESSION
を取り消し、user_type
としてデフォルトのXS_ADMIN_UTIL.PTYPE_DB
を指定しますが、これはデフォルト値であるため指定は不要です。
CREATE USER dbuser1 identified by password;
SYS.XS_ADMIN_UTIL.REVOKE_SYSTEM_PRIVILEGE('ADMINISTER_SESSION','dbuser1', XS_ADMIN_UTIL.PTYPE_DB, 'HR1');
次の例では、アプリケーション・ユーザーuser1
を作成して、このアプリケーション・ユーザーからReal Application Security権限ADMINISTER_SESSION
を取り消し、user_type
としてデフォルトのXS_ADMIN_UTIL.PTYPE_XS
を指定します。
SQL> EXEC SYS.XS_PRINCIPAL.CREATE_USER('user1','HR1');
SQL> EXEC SYS.XS_PRINCIPAL.SET_PASSWORD('user1', 'password');
SQL> EXEC SYS.XS_ADMIN_UTIL.REVOKE_SYSTEM_PRIVILEGE('ADMINISTER_SESSION','user1', XS_ADMIN_UTIL.PTYPE_XS, 'HR1');