19 Oracle Database Vaultセキュア・アプリケーション・ロールのAPI
DBMS_MACADM
およびDBMS_MACSEC_ROLES
PL/SQLパッケージは、Database Vaultセキュア・アプリケーション・ロールを管理します。
- DBMS_MACADMセキュア・アプリケーション・ロールのプロシージャ
DBMS_MACADM
パッケージでは、Oracle Database Vaultのセキュア・アプリケーション・ロールの作成、名前変更、割当て、割当て解除、更新および削除が可能です。 - DBMS_MACSEC_ROLESセキュア・アプリケーション・ロールのプロシージャおよびファンクション
DBMS_MACSEC_ROLES
パッケージは、ユーザーに対する認可をチェックし、Oracle Database Vaultセキュア・アプリケーション・ロールを設定します。
19.1 DBMS_MACADMセキュア・アプリケーション・ロールのプロシージャ
DBMS_MACADM
パッケージでは、Oracle Database Vaultのセキュア・アプリケーション・ロールの作成、名前変更、割当て、割当て解除、更新および削除が可能です。
- CREATE_ROLEプロシージャ
CREATE_ROLE
プロシージャは、Oracle Database Vaultセキュア・アプリケーション・ロールを作成します。 - DELETE_ROLEプロシージャ
DELETE_ROLE
プロシージャは、Oracle Database Vaultセキュア・アプリケーション・ロールを削除します。 - RENAME_ROLEプロシージャ
RENAME_ROLE
プロシージャは、Oracle Database Vaultセキュア・アプリケーション・ロールの名前を変更します。名前の変更は、そのロールが使用されているすべての箇所に反映されます。 - UPDATE_ROLEプロシージャ
UPDATE_ROLE
プロシージャは、Oracle Database Vaultセキュア・アプリケーション・ロールを更新します。
19.1.1 CREATE_ROLEプロシージャ
CREATE_ROLE
プロシージャは、Oracle Database Vaultセキュア・アプリケーション・ロールを作成します。
構文
DBMS_MACADM.CREATE_ROLE( role_name IN VARCHAR2, enabled IN VARCHAR2, rule_set_name IN VARCHAR2);
パラメータ
表19-1 CREATE_ROLEのパラメータ
パラメータ | 説明 |
---|---|
|
ロール名(空白を使用せず、最大128文字)。マルチテナント環境では、ロール名の先頭に 現行のデータベース・インスタンスで既存のセキュア・アプリケーション・ロールを確認するには、「DBA_DV_ROLEビュー」で説明されている |
|
|
|
このセキュア・アプリケーションを有効にできるかどうかを判断するためのルール・セットの名前。 現行のデータベース・インスタンスで既存のルール・セットを確認するには、「DBA_DV_RULE_SETビュー」で説明されている |
例
BEGIN DBMS_MACADM.CREATE_ROLE( role_name => 'Sector2_APP_MGR', enabled => DBMS_MACUTL.G_YES, rule_set_name => 'Check App2 Access'); END; /
19.1.2 DELETE_ROLEプロシージャ
DELETE_ROLE
プロシージャは、Oracle Database Vaultセキュア・アプリケーション・ロールを削除します。
構文
DBMS_MACADM.DELETE_ROLE( role_name IN VARCHAR2);
パラメータ
表19-2 DELETE_ROLEのパラメータ
パラメータ | 説明 |
---|---|
|
ロール名。 現行のデータベース・インスタンスで既存のセキュア・アプリケーション・ロールを確認するには、「DBA_DV_ROLEビュー」で説明されている |
例
EXEC DBMS_MACADM.DELETE_ROLE('SECT2_APP_MGR');
19.1.3 RENAME_ROLEプロシージャ
RENAME_ROLE
プロシージャは、Oracle Database Vaultセキュア・アプリケーション・ロールの名前を変更します。名前の変更は、そのロールが使用されているすべての箇所に反映されます。
構文
DBMS_MACADM.RENAME_ROLE( role_name IN VARCHAR2, new_role_name IN VARCHAR2);
パラメータ
表19-3 RENAME_ROLEのパラメータ
パラメータ | 説明 |
---|---|
|
現在のロール名。 現行のデータベース・インスタンスで既存のセキュア・アプリケーション・ロールを確認するには、「DBA_DV_ROLEビュー」で説明されている |
|
ロール名(空白を使用せず、最大128文字)。この名前が、『Oracle Database SQL言語リファレンス』で説明されているロール作成の標準のOracleネーミング規則に準拠していることを確認してください。マルチテナント環境では、ロール名の先頭に |
例
BEGIN DBMS_MACADM.RENAME_ROLE( role_name => 'SECT2_APP_MGR', new_role_name => 'SECT2_SYSADMIN'); END; /
19.1.4 UPDATE_ROLEプロシージャ
UPDATE_ROLE
プロシージャは、Oracle Database Vaultセキュア・アプリケーション・ロールを更新します。
構文
DBMS_MACADM.UPDATE_ROLE( role_name IN VARCHAR2, enabled IN VARCHAR2, rule_set_name IN VARCHAR2);
パラメータ
表19-4 UPDATE_ROLEのパラメータ
パラメータ | 説明 |
---|---|
|
ロール名。 現行のデータベース・インスタンスで既存のセキュア・アプリケーション・ロールを確認するには、「DBA_DV_ROLEビュー」で説明されている |
|
|
|
このセキュア・アプリケーションを有効にできるかどうかを判断するためのルール・セットの名前。 現行のデータベース・インスタンスで既存のルール・セットを確認するには、「DBA_DV_RULE_SETビュー」で説明されている |
例
BEGIN DBMS_MACADM.UPDATE_ROLE( role_name => 'SECT2_SYSADMIN', enabled => DBMS_MACUTL.G_YES, rule_set_name => 'System Access Controls'); END; /
19.2 DBMS_MACSEC_ROLESセキュア・アプリケーション・ロールのプロシージャおよびファンクション
DBMS_MACSEC_ROLES
パッケージは、ユーザーに対する認可をチェックし、Oracle Database Vaultセキュア・アプリケーション・ロールを設定します。
DBMS_MACSEC_ROLES
パッケージは、すべてのユーザーが使用できます。
- CAN_SET_ROLEファンクション
CAN_SET_ROLE
ファンクションは、メソッドを起動するユーザーに、Oracle Database Vaultセキュア・アプリケーション・ロールを使用する権限が付与されているかどうかをチェックします。 - SET_ROLEプロシージャ
SET_ROLE
プロシージャは、指定されたロールのSET ROLE
PL/SQL文を発行します。
19.2.1 CAN_SET_ROLEファンクション
CAN_SET_ROLE
ファンクションは、メソッドを起動するユーザーが、Oracle Database Vaultセキュア・アプリケーション・ロールを使用するように認可されているかどうかをチェックします。
認可は、ロールに関連付けられたルール・セットのチェックにより決定されます。戻り型はBOOLEAN
です。
構文
DBMS_MACSEC_ROLES.CAN_SET_ROLE( p_role IN VARCHAR2) RETURN BOOLEAN;
パラメータ
表19-5 CAN_SET_ROLEのパラメータ
パラメータ | 説明 |
---|---|
|
ロール名。 現行のデータベース・インスタンスで既存のセキュア・アプリケーション・ロールを確認するには、「DBA_DV_ROLEビュー」で説明されている |
例
SET SERVEROUTPUT ON BEGIN IF DBMS_MACSEC_ROLES.CAN_SET_ROLE('SECTOR2_APP_MGR') THEN DBMS_OUTPUT.PUT_LINE('''SECTOR2_APP_MGR'' can be enabled.'); END IF; END; /
19.2.2 SET_ROLEプロシージャ
SET_ROLE
プロシージャは、指定されたロールのSET ROLE
PL/SQL文を発行します。
このプロシージャのチェック・プロセスには、Oracle Database Vaultセキュア・アプリケーション・ロールと通常のOracle Databaseロールの両方が含まれます。
このプロシージャは、ロールに関連付けられているルール・セットがtrueと評価される場合にのみ、Oracle Database Vaultセキュア・アプリケーション・ロールを設定します。SET ROLE
の発行前に、CAN_SET_ROLE
メソッドがコールされ、ロールに関連付けられたルール・セットがチェックされます。監査などのランタイムのルール・セットの動作、障害処理およびイベント処理が、このプロセス中に発生します。
SET_ROLE
プロシージャは、一般のデータベース・アカウント群で使用できます。
構文
DBMS_MACSEC_ROLES.SET_ROLE( p_role IN VARCHAR2);
パラメータ
表19-6 SET_ROLEのパラメータ
パラメータ | 説明 |
---|---|
|
ロール名。セキュア・アプリケーション・ロールや標準ロールなど、複数のロールをカンマ( 現行のデータベース・インスタンスで既存のセキュア・アプリケーション・ロールを確認するには、「DBA_DV_ROLEビュー」で説明されている データベース内の既存のすべてのロールを確認するには、『Oracle Databaseリファレンス』で説明されている |
例
EXEC DBMS_MACSEC_ROLES.SET_ROLE('SECTOR2_APP_MGR, APPS_MGR');
ロール名前は大文字、小文字のいずれでも入力できます(Sector2_APP_MGR
など)。