この章の内容は次のとおりです。
Oracle Database Vaultには一連の手続き型インタフェースが用意されており、様々なDatabase Vaultセキュリティ・オプションの管理およびDatabase Vaultセキュリティの実施の管理に使用できます。また、レルム違反およびコマンド認可のDDLコマンドを検証するためのロジックを公開するプロシージャおよびファンクションもあります。その他に、ファクタの値をたとえばWebアプリケーションなどから設定する(関連付けられたルール・セットがTrueに評価される場合)、セッションまたは特定のファクタ・アイデンティティに対する信頼レベルを取得する、あるいはファクタ・アイデンティティのラベルを取得するためのプロシージャおよびファンクションが用意されています。これらのプロシージャおよびファンクションは、データベース管理者がすべてのDVSYS
パッケージ・プロシージャに対するEXECUTE
権限を一般のデータベース・アカウント群に付与しないように提供されています。プロシージャおよびファンクションは、必要な最小限のメソッドのみを公開します。これらのファンクションおよびプロシージャはすべて、必要とするアプリケーションでパブリックに使用できます。
表15-1に、デフォルトのランタイムのPL/SQLプロシージャおよびファンクションを示します。
表15-1 DVSYSファンクション
プロシージャまたはファンクション | パラメータ |
---|---|
|
ファクタを設定します。 |
|
ファクタを取得します。 |
|
ファクタに割り当てられた信頼レベルを取得します。 |
GET_TRUST_LEVEL_FOR_IDENTITYファンクション |
指定されたファクタおよびアイデンティティの信頼レベルを取得します。 |
|
指定されたデータベース・ロールが有効になっているかどうかを確認します。 |
|
ファクタにラベルが割り当てられている場合、指定されたOracle Label Securityポリシーのために、指定されたファクタのラベルを取得します。 |
SET_FACTOR
プロシージャは、ファクタ・アイデンティティを動的に設定する必要があるアプリケーションに公開できます。パッケージ・プロシージャDBMS_MACADM.SET_FACTOR
をラップします。割当て用のルール・セットがファクタに関連付けられていて、ルール・セットがtrueを返した場合に、値が設定されます。通常のルール・セット処理が行われ、ファクタ値(アイデンティティ)の検証メソッドがコールされます。このプロシージャは、一般のデータベース・アカウント群で使用(実行)できます。
構文
DVSYS.SET_FACTOR( p_factor IN VARCHAR2, p_value IN VARCHAR2);
パラメータ
表15-2 SET_FACTORパラメータ
パラメータ | 説明 |
---|---|
|
ファクタ名。 現行のデータベース・インスタンスで既存のファクタを検索するには、「DVSYS.DBA_DV_FACTORビュー」で説明されている |
|
アイデンティティ値。大/小文字混在で最大で1024文字まで入力できます。 現行のデータベース・インスタンスの各ファクタのアイデンティティを検索するには、「DVSYS.DBA_DV_IDENTITYビュー」で説明されている |
例
EXECUTE DVSYS.SET_FACTOR(''Sector2_ClientID'', ''identity'');
GET_FACTOR
ファンクションは、パブリック・ファクタ・ファンクションによるファクタのアイデンティティの解決を可能にするために、DVF
スキーマに公開できます。これにより、DVF
スキーマのF$
ファンクションが有効になります。このファンクションは、一般のデータベース・アカウント群で使用(実行)できます。
構文
DVSYS.GET_FACTOR( p_factor IN VARCHAR2) RETURN VARCHAR2;
パラメータ
表15-3 GET_FACTORパラメータ
パラメータ | 説明 |
---|---|
|
ファクタ名。 現行のデータベース・インスタンスで既存のファクタを検索するには、「DVSYS.DBA_DV_FACTORビュー」で説明されている |
例
BEGIN DBMS_MACADM.CREATE_RULE( rule_name => 'Get Client ID Factor Identity', rule_expr => 'DVSYS.GET_FACTOR(''Sector2_ClientID'')'); END; /
GET_TRUST_LEVEL
ファンクションは、リクエストされたファクタの現行セッションのアイデンティティの信頼レベルを返します。このファンクションは、一般のデータベース・アカウント群で使用(実行)できます。使用可能な信頼レベルのリストは、「ファクタ・アイデンティティの作成および構成」を参照してください。
構文
DVSYS.GET_TRUST_LEVEL( p_factor IN VARCHAR2) RETURN VARCHAR2;
パラメータ
表15-4 GET_TRUST_LEVELのパラメータ
パラメータ | 説明 |
---|---|
|
ファクタ名。 現行のデータベース・インスタンスで既存のファクタを検索するには、「DVSYS.DBA_DV_FACTORビュー」で説明されている |
例
BEGIN DBMS_MACADM.CREATE_RULE( rule_name => 'Get Client ID Trust Level', rule_expr => 'DVSYS.GET_TRUST_LEVEL(''Sector2_ClientID'')'); END; /
GET_TRUST_LEVEL_FOR_IDENTITY
ファンクションは、リクエストされたファクタおよびアイデンティティの信頼レベルを返します。このファンクションは、一般のデータベース・アカウント群で使用(実行)できます。使用可能な信頼レベルのリストは、「ファクタ・アイデンティティの作成および構成」を参照してください。
構文
DVSYS.GET_TRUST_LEVEL_FOR_IDENTITY( p_factor IN VARCHAR2, p_identity IN VARCHAR2) RETURN VARCHAR2;
パラメータ
表15-5 GET_TRUST_LEVEL_FOR_IDENTITYパラメータ
パラメータ | 説明 |
---|---|
|
ファクタ名。 現行のデータベース・インスタンスで既存のファクタを検索するには、「DVSYS.DBA_DV_FACTORビュー」で説明されている |
|
アイデンティティ値。 現行のデータベース・インスタンスの各ファクタのアイデンティティを検索するには、「DVSYS.DBA_DV_IDENTITYビュー」で説明されている |
例
BEGIN DBMS_MACADM.CREATE_RULE( rule_name => 'Get Client ID Identity Trust Level', rule_expr => 'DVSYS.GET_TRUST_LEVEL_FOR_IDENTITY(''Sector2_ClientID'', ''identity'')'); END; /
ROLE_IS_ENABLED
ファンクションは、データベース・ロールが有効であるかどうかを示すブール値を返します。このファンクションは、一般のデータベース・アカウント群で使用(実行)できます。
構文
DVSYS.ROLE_IS_ENABLED( p_role IN VARCHAR2) RETURN BOOLEAN;
パラメータ
表15-6 ROLE_IS_ENABLEDパラメータ
パラメータ | 説明 |
---|---|
|
確認するデータベース・ロール名。 既存のロールを検索する場合は、次のデータ・ディクショナリ・ビューを使用します。
|
例
BEGIN DBMS_MACADM.CREATE_RULE( rule_name => 'Check if SYSADM Role Is Enabled', rule_expr => 'DVSYS.ROLE_IS_ENABLED(''SYSADM'')'); END; /
GET_FACTOR_LABEL
ファンクションは、指定されたファクタに指定されたOracle Label Securityポリシー用のラベルが割り当てられている場合、そのラベルを返します。ポリシーがOracle Label Securityを使用して構成されている場合は、ポリシーの最大セッション・ラベルとマージされるラベルを返します。このファンクションは、一般のデータベース・アカウント群で使用(実行)できます。ファクタ・ラベルの詳細は、「ラベル・アイデンティティ」を参照してください。
構文
DVSYS.GET_FACTOR_LABEL( p_factor IN VARCHAR2, p_policy_name IN VARCHAR2) RETURN VARCHAR2;
パラメータ
表15-7 GET_FACTOR_LABELパラメータ
パラメータ | 説明 |
---|---|
|
ファクタ名。 現行のデータベース・インスタンスで使用可能なファクタを検索するには、 「DVSYS.DBA_DV_FACTORビュー」および「DVSYS.DBA_DV_MAC_POLICY_FACTORビュー」を参照してください。 |
|
Oracle Label Securityポリシー名。 現行のデータベース・インスタンスのポリシーおよびファクタに関する情報を検索する場合は、次のデータ・ディクショナリ・ビューを使用します。
|
例
BEGIN DBMS_MACADM.CREATE_RULE( rule_name => 'Get the ClientID Factor Label', rule_expr => 'DVSYS.GET_FACTOR_LABEL(''Sector2_ClientID'', ''Access Locations'')'); END; /
DVSYS
スキーマから提供されるファンクションおよびプロシージャに加え、DVF
スキーマにはシステムに定義されているファクタごとに1つのファンクションが含まれます。DBMS_MACADM
PL/SQLパッケージを使用して様々なファクタを管理する際、Oracle Database Vaultによってこれらのファンクションが維持されます。その後、ファンクションは一般のデータベース・アカウント群でPL/SQLファンクションおよび標準SQLを介して使用できます。これにより、ファクタはOracle Label Security、Oracle Virtual Private Database(VPD)などで使用できるようになります。
通常、これらのファンクションをルール式に組み込むことができます。次に例を示します。
BEGIN DBMS_MACADM.CREATE_RULE( rule_name => 'Not Internal DBA', rule_expr => 'DVF.F$SESSION_USER NOT IN (''JSMTIH'', ''TBROWN'')'); END; /
ファクタ・ファンクションの値を検索するには、DUAL
システム表から選択します。次に例を示します。
SELECT DVF.F$SESSION_USER FROM DUAL; F$SESSION_USER ------------------------------------------------ LBROWN_DVOWNER
ファクタ自体の名前は、大/小文字を区別しません。たとえば、次の文は同じ結果を返します。
select dvf.f$session_user from dual; SELECT DVF.F$SESSION_USER FROM DUAL;
表15-8にデフォルトのファクタ・ファンクションを示します。
表15-8 インストールされるOracle Database Vaultファクタ・ファンクション
DVFファクタ・ファンクション | 説明 |
---|---|
F$AUTHENTICATION_METHODファンクション |
認証の方式を |
|
クライアントが接続されているコンピュータのIPアドレスを返します。 |
|
|
|
データベース・インスタンスが実行されているコンピュータのホスト名を返します。 |
|
現在のデータベース・インスタンスのデータベース・インスタンス識別番号を返します。 |
|
データベース・インスタンスが実行されているコンピュータのIPアドレスを返します。 |
|
|
|
ランタイム環境(ネットワークIT環境やそのサブセットなど)内の、特定の機密レベルで動作する物理的な構成または実装固有のファクタの名前付きコレクションを返します。 |
|
ユーザーのエンタープライズ全体のアイデンティティを返します。 |
|
データベースでのユーザーのスキーマの作成方法を返します。具体的には、 |
|
既存の |
|
セッションで現在使用中の言語と地域、およびデータベース・キャラクタ・セットを |
|
データベース・セッションを確立したデータベース・クライアントのコンピュータ(ホスト)名を返します。 |
|
接続文字列の |
F$PROXY_ENTERPRISE_IDENTITYファンクション |
プロキシ・ユーザーがエンタープライズ・ユーザーである場合、Oracle Internet Directoryの識別名(DN)を返します。 |
|
現行ユーザーが認証されたデータベース・ユーザー名を返します。 |
F$AUTHENTICATION_METHOD
ファンクションは認証の方式をVARCHAR2
データ型で返します。次のリストでは、ユーザーのタイプに続いて返されるメソッドが示されています。
パスワードで認証されるエンタープライズ・ユーザー、ローカル・データベース・ユーザー、またはパスワード・ファイルを使用するSYSDBA
/SYSOPER
(パスワードを使用するユーザー名によるプロキシ): PASSWORD
Kerberosで認証されるエンタープライズ・ユーザーまたは外部ユーザー: KERBEROS
SSLで認証されるエンタープライズ・ユーザーまたは外部ユーザー: SSL
RADIUSで認証される外部ユーザー: RADIUS
オペレーティング・システムで認証される外部ユーザーまたはSYSDBA
/SYSOPER
: OS
DCEで認証される外部ユーザー: DCE
証明書、識別名(DN)またはパスワードを使用しないユーザー名によるプロキシ: NONE
認証方式がパスワード、KerberosまたはSSLの場合、IDENTIFICATION_TYPE
を使用して外部ユーザーとエンタープライズ・ユーザーを区別できます。
構文
DVF.F$AUTHENTICATION_METHOD () RETURN VARCHAR2;
パラメータ
なし。
例
BEGIN DBMS_MACADM.CREATE_RULE( rule_name => 'Check SSL Authentication Method', rule_expr => 'DVF.F$AUTHENTICATION_METHOD = ''SSL'''); END; /
F$CLIENT_IP
ファンクションは、クライアントが接続されているコンピュータのIPアドレスをVARCHAR2
データ型で返します。
構文
DVF.F$CLIENT_IP () RETURN VARCHAR2;
パラメータ
なし。
例
BEGIN DBMS_MACADM.CREATE_RULE( rule_name => 'Check Client IP Address', rule_expr => 'DVF.F$CLIENT_IP BETWEEN ''192.0.2.10'' AND ''192.0.2.20'''); END; /
F$DATABASE_DOMAIN
ファンクションは、DB_DOMAIN
初期化パラメータに指定されているデータベースのドメインをVARCHAR2
データ型で返します。
構文
DVF.F$DATABASE_DOMAIN () RETURN VARCHAR2;
パラメータ
なし。
例
BEGIN DBMS_MACADM.CREATE_RULE( rule_name => 'Check Client Database Domain', rule_expr => 'DVF.F$DATABASE_DOMAIN NOT IN (''EXAMPLE'', ''YOURDOMAIN'')'); END; /
F$DATABASE_HOSTNAME
ファンクションは、インスタンスが実行されているコンピュータのホスト名をVARCHAR2
データ型で返します。
構文
DVF.F$DATABASE_HOSTNAME () RETURN VARCHAR2;
パラメータ
なし。
例
BEGIN DBMS_MACADM.CREATE_RULE( rule_name => 'Check Host Name', rule_expr => 'DVF.F$DATABASE_HOSTNAME IN (''SHOBEEN'', ''MAU'')'); END; /
F$DATABASE_INSTANCE
ファンクションは、現在のデータベース・インスタンスのインスタンス識別番号をVARCHAR2
データ型で返します。
構文
DVF.F$DATABASE_INSTANCE () RETURN VARCHAR2;
パラメータ
なし。
例
BEGIN DBMS_MACADM.CREATE_RULE( rule_name => 'Check Database Instance ID', rule_expr => 'DVF.F$DATABASE_INSTANCE = ''SALES_DB'''); END; /
F$DATABASE_IP
ファンクションは、データベース・インスタンスが実行されているコンピュータのIPアドレスをVARCHAR2
データ型で返します。
構文
DVF.F$DATABASE_IP () RETURN VARCHAR2;
パラメータ
なし。
例
BEGIN DBMS_MACADM.CREATE_RULE( rule_name => 'Check Database IP address', rule_expr => 'DVF.F$DATABASE_IP = ''192.0.2.5'''); END; /
F$DATABASE_NAME
ファンクションは、DB_NAME
初期化パラメータに指定されているデータベースの名前をVARCHAR2
データ型で返します。
構文
DVF.F$DATABASE_NAME () RETURN VARCHAR2;
パラメータ
なし。
例
BEGIN DBMS_MACADM.CREATE_RULE( rule_name => 'Check Database DB_NAME Name', rule_expr => 'DVF.F$DATABASE_NAME = ''ORCL'''); END; /
F$DOMAIN
ファンクションは、ランタイム環境(ネットワークIT環境やそのサブセットなど)内の、特定の機密レベルで動作する物理的な構成または実装固有のファクタの名前付きコレクションを返します。戻り型はVARCHAR2
です。
データベースへのセキュア・アクセス・パス内にあるOracle Database Vaultノードのホスト名、IPアドレスおよびデータベース・インスタンス名などのファクタを使用してドメインを識別できます。ドメインを識別するファクタ識別子の組合せを使用して、各ドメインを一意に特定できます。これらの識別ファクタやその他のファクタを使用して、ドメイン内に最大セキュリティ・ラベルを定義できます。これにより、Oracle Database Vaultセッションに関する物理ファクタに応じて、データ・アクセスおよびコマンドが制限されます。必要なドメインの例として、企業機密、内部パブリック、パートナ、顧客があります。
構文
DVF.F$DOMAIN () RETURN VARCHAR2;
パラメータ
なし。
例
BEGIN DBMS_MACADM.CREATE_RULE( rule_name => 'Check Domain', rule_expr => 'DVF.F$DOMAIN = ''EXAMPLE.COM'''); END; /
F$ENTERPRISE_IDENTITY
ファンクションは、ユーザーのエンタープライズ全体のアイデンティティをVARCHAR2
データ型で返します。
エンタープライズ・ユーザーの場合: Oracle Internet Directory DN
外部ユーザーの場合: 外部アイデンティティ(Kerberosプリンシパル名、RADIUSおよびDCEスキーマ名、オペレーティング・システム・ユーザー名、証明書DN)
ローカル・ユーザーおよびSYSDBA
/SYSOPER
ログインの場合: NULL
属性の値はプロキシ方法によって異なります。
DNによるプロキシの場合: クライアントのOracle Internet Directory DN
証明書によるプロキシの場合: 外部ユーザーではクライアントの証明書DN、グローバル・ユーザーではOracle Internet Directory DN
ユーザー名によるプロキシの場合: エンタープライズ・ユーザーであるクライアントではOracle Internet Directory DN、ローカル・データベース・ユーザーであるクライアントではNULL
構文
DVF.F$ENTERPRISE_IDENTITY () RETURN VARCHAR2;
パラメータ
なし。
例
BEGIN DBMS_MACADM.CREATE_RULE( rule_name => 'Check User Enterprise Identity', rule_expr => 'DVF.F$ENTERPRISE_IDENTITY NOT IN (''JSMITH'', ''TSMITH'')'); END; /
F$IDENTIFICATION_TYPE
ファンクションは、データベースでのユーザーのスキーマの作成方法を返します。具体的には、CREATE
/ALTER USER
構文のIDENTIFIED
句が反映されます。戻り型はVARCHAR2
です。次に示すリストでは、スキーマ作成時に使用された構文に、返される識別タイプが続きます。
IDENTIFIED BY
password
:
LOCAL
IDENTIFIED EXTERNALLY
:
EXTERNAL
IDENTIFIED GLOBALLY
:
GLOBAL SHARED
IDENTIFIED GLOBALLY
AS DN: GLOBAL PRIVATE
構文
DVF.F$IDENTIFICATION_TYPE () RETURN VARCHAR2;
パラメータ
なし。
例
BEGIN DBMS_MACADM.CREATE_RULE( rule_name => 'Check User Schema Creation Type', rule_expr => 'DVF.F$IDENTIFICATION_TYPE = ''GLOBAL SHARED'''); END; /
F$LANG
ファンクションは、既存のLANGUAGE
パラメータより短い形式の言語名のISO略称を、ユーザーのセッションに対して返します。戻り型はVARCHAR2
です。
Oracle Databaseでサポートされている言語の一覧については、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。
構文
DVF.F$LANG () RETURN VARCHAR2;
パラメータ
なし。
例
BEGIN DBMS_MACADM.CREATE_RULE( rule_name => 'Check ISO Abbreviated Language Name', rule_expr => 'DVF.F$LANG IN (''EN'', ''DE'', ''FR'')'); END; /
F$LANGUAGE
ファンクションは、ユーザーのセッションで現在使用中の言語と地域、およびデータベース・キャラクタ・セットをVARCHAR2
データ型で次の形式で返します。
language_territory.characterset
Oracle Databaseでサポートされている言語と地域の一覧については、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。
構文
DVF.F$LANGUAGE () RETURN VARCHAR2;
パラメータ
なし。
例
BEGIN DBMS_MACADM.CREATE_RULE( rule_name => 'Check Session Language and Territory', rule_expr => 'DVF.F$LANGUAGE = ''AMERICAN_AMERICA.WE8ISO8859P1'''); END; /
F$MACHINE
ファンクションは、データベース・セッションを確立したデータベース・クライアントのコンピュータ(ホスト)名を返します。戻り型はVARCHAR2
です。
構文
DVF.F$MACHINE () RETURN VARCHAR2;
パラメータ
なし。
例
BEGIN DBMS_MACADM.CREATE_RULE( rule_name => 'Check Client Computer Host Name', rule_expr => 'DVF.F$MACHINE NOT IN (''SHOBEEN'', ''SEBASTIAN'')'); END; /
F$NETWORK_PROTOCOL
ファンクションは、接続文字列のPROTOCOL
=protocol
部分に指定されている、通信に使用されるネットワーク・プロトコルを返します。戻り型はVARCHAR2
です。
構文
DVF.F$NETWORK_PROTOCOL () RETURN VARCHAR2;
パラメータ
なし。
例
BEGIN DBMS_MACADM.CREATE_RULE( rule_name => 'Check Network Protocol', rule_expr => 'DVF.F$NETWORK_PROTOCOL = ''TCP'''); END; /
F$PROXY_ENTERPRISE_IDENTITY
ファンクションは、プロキシ・ユーザーがエンタープライズ・ユーザーである場合、Oracle Internet Directoryの識別名(DN)を返します。戻り型はVARCHAR2
です。
構文
DVF.F$PROXY_ENTERPRISE_IDENTITY () RETURN VARCHAR2;
パラメータ
なし。
例
BEGIN DBMS_MACADM.CREATE_RULE( rule_name => 'Get OID DN of Enterprise User', rule_expr => 'DVF.F$PROXY_ENTERPRISE_IDENTITY = ''cn=Provisioning Admins'''); END; /
F$SESSION_USER
ファンクションは、現行ユーザーが認証されたデータベース・ユーザー名を返します。この値は、セッションを通して同じです。戻り型はVARCHAR2
です。
構文
DVF.F$SESSION_USER () RETURN VARCHAR2;
パラメータ
なし。
例
BEGIN DBMS_MACADM.CREATE_RULE( rule_name => 'Check Database User Name', rule_expr => 'DVF.F$SESSION_USER IN (''JSMITH'', ''TSMITH'')'); END; /
Oracle Database Vaultには、ルール・セットで保護するSQL文を検査するためにルール・セットで使用できる一連のファンクションが用意されています。たとえば、コマンド・ルールでルール・セットによりSELECT ON HR.EMPLOYEES
を保護する場合、ルール式でこれらのファンクションを使用して、より詳細な情報に基づいた判断を下すことができます。
表15-9にデフォルトのルール・ファンクションを示します。
表15-9 インストールされるOracle Database VaultのPL/SQLルール・セット・ファンクション
ルール・セット・ファンクション | 説明 |
---|---|
|
ルール・セットを起動するシステム・イベントを返します。 |
|
ログイン・ユーザー名を返します。 |
|
データベース・インスタンス番号を返します。 |
|
データベース名を返します。 |
|
データベース操作が発生したディクショナリ・オブジェクトのタイプ(表、プロシージャ、ビューなど)を返します。 |
|
データベース操作が発生したディクショナリ・オブジェクトの所有者を返します。 |
|
データベース操作が発生したディクショナリ・オブジェクトの名前を返します。 |
|
操作で使用されるデータベース文のSQLテキストの最初の4000文字を返します。 |
DV_SYSEVENT
ファンクションは、ルール・セットを起動するシステム・イベントをVARCHAR2
データ型で返します。イベント名は、SQL文の構文のものと同じで、INSERT
やCREATE
などです。
構文
DVSYS.DV_SYSEVENT () RETURN VARCHAR2;
パラメータ
なし。
例
BEGIN DBMS_MACADM.CREATE_RULE( rule_name => 'Get System Event Firing the Maintenance Rule Set', rule_expr => 'DVSYS.DV_SYSEVENT = ''CREATE'''); END; /
DV_LOGIN_USER
ファンクションは、ログイン・ユーザー名をVARCHAR2
データ型で返します。
構文
DVSYS.DV_LOGIN_USER () RETURN VARCHAR2;
パラメータ
なし。
例
BEGIN DBMS_MACADM.CREATE_RULE( rule_name => 'Check System Login User Name', rule_expr => 'DVSYS.DV_LOGIN_USER = ''SEBASTIAN'''); END; /
DV_INSTANCE_NUM
ファンクションは、データベース・インスタンス番号をNUMBER
データ型で返します。
構文
DVSYS.DV_INSTANCE_NUM () RETURN NUMBER;
パラメータ
なし。
例
BEGIN DBMS_MACADM.CREATE_RULE( rule_name => 'Check Database Instance Number', rule_expr => 'DVSYS.DV_INSTANCE_NUM BETWEEN 6 AND 9'); END; /
DV_DATABASE_NAME
ファンクションは、データベース名をVARCHAR2
データ型で返します。
構文
DVSYS.DV_DATABASE_NAME () RETURN VARCHAR2;
パラメータ
なし。
例
BEGIN DBMS_MACADM.CREATE_RULE( rule_name => 'Check Database Name', rule_expr => 'DVSYS.DV_DATABASE_NAME = ''ORCL'''); END; /
DV_DICT_OBJ_TYPE
ファンクションは、データベース操作が発生したディクショナリ・オブジェクトのタイプ(表、プロシージャ、ビューなど)を返します。戻り型はVARCHAR2
です。
構文
DVSYS.DV_DICT_OBJ_TYPE () RETURN VARCHAR2;
パラメータ
なし。
例
BEGIN DBMS_MACADM.CREATE_RULE( rule_name => 'Check Dictionary Object Type', rule_expr => 'DVSYS.DV_DICT_OBJ_TYPE IN (''TABLE'', ''VIEW'')'); END; /
DV_DICT_OBJ_OWNER
ファンクションは、データベース操作が発生したディクショナリ・オブジェクトの所有者の名前を返します。戻り型はVARCHAR2
です。
構文
DVSYS.DV_DICT_OBJ_OWNER () RETURN VARCHAR2;
パラメータ
なし。
例
BEGIN DBMS_MACADM.CREATE_RULE( rule_name => 'Check Dictionary Object Owner', rule_expr => 'DVSYS.DV_DICT_OBJ_OWNER = ''JSMITH'''); END; /
DV_DICT_OBJ_NAME
ファンクションは、データベース操作が発生したディクショナリ・オブジェクトの名前を返します。戻り型はVARCHAR2
です。
構文
DVSYS.DV_DICT_OBJ_NAME () RETURN VARCHAR2;
パラメータ
なし。
例
BEGIN DBMS_MACADM.CREATE_RULE( rule_name => 'Check Dictionary Object Name', rule_expr => 'DVSYS.DV_DICT_OBJ_NAME = ''SALES'''); END; /
Oracle Database Vaultには、Oracle Database Vaultのメンテナンスおよびランタイムの動作をサポートするための一連のPL/SQLパッケージAPIが用意されています。表15-10にこれらのパッケージを示します。これらのパッケージの詳細は、第12章「DBMS_MACADMパッケージの使用方法」を参照してください。
表15-10 Oracle Database Vault AdministratorおよびランタイムのPL/SQLパッケージ
パッケージ | 説明 |
---|---|
|
セキュア構成データおよびアクセス制御構成データを全般的に管理するために使用できます。Oracle Database Vaultレルムのレルム所有者は、このパッケージを実行する権限を付与できます。 詳細は、第12章「DBMS_MACADMパッケージの使用方法」を参照してください。 |
|
メソッドを起動するユーザーに、指定されたOracle Database Vaultセキュア・アプリケーション・ロールを使用する権限が付与されているかどうかをチェックする また、このAPIは、Oracle Database Vaultセキュア・アプリケーション・ロールに対して 詳細は、第13章「DBMS_MACSEC_ROLESパッケージの使用方法」を参照してください。 |
|
コード/メッセージの参照、エラー処理、データ変換、権限チェックなど、他のOracle Database Vaultのパッケージで共通に使用されるいくつかの定数およびユーティリティ・メソッドを定義します。このパッケージは、一般のデータベース・アカウント群で実行できます。このパッケージを使用すると、セキュリティ開発者は、スクリプト化された構成ファイルで定数を利用できます。また、 詳細は、第14章「DBMS_MACUTLパッケージの使用方法」を参照してください。 |
注意: DBMS_MACADM パッケージにはいくつかのプロシージャがありますが、Oracle Database Vaultの管理Webアプリケーションでは公開されません。公開されないプロシージャには、次のものがあります。
|