DBMS_MACADM
PL/SQLパッケージには、ファクタに関連するOracle Database Vaultルール・プロシージャとファンクションが含まれており、DVF
にはファクタを管理するファンクションが含まれています。
内容は次のとおりです。
DBMS_MACADM
PL/SQLパッケージは、ファクタを設定するためのプロシージャとファンクションを提供します。
表16-1に、これらのプロシージャとファンクションを示します。DV_OWNER
ロールまたはDV_ADMIN
ロールを付与されているユーザーのみがこれらのプロシージャとファンクションを使用できます。
表16-1 DBMS_MACADMのファクタ構成プロシージャ
プロシージャ | 説明 |
---|---|
2つのファクタの親子関係を指定します。 |
|
ファクタのラベルをポリシーのOracle Label Securityラベルに含めることを指定します。 |
|
アイデンティティを別ファクタと関連付けます。 |
|
アイデンティティの値を更新します。 |
|
Oracle Real Application Clusters(Oracle RAC)データベース・ノードをドメイン・ファクタ・アイデンティティに追加し、Oracle Label Securityポリシーに従ってラベルを付けます。 |
|
ファクタを作成します。 |
|
ファクタ・タイプを作成します。 |
|
アイデンティティを作成します。 |
|
リンクされた子ファクタ(サブファクタ)の値からファクタのアイデンティティを導出するために使用される一連のテストを定義します。 |
|
ファクタを削除します。 |
|
2つのファクタの親子関係を削除します。 |
|
ファクタ・タイプを削除します。 |
|
アイデンティティを削除します。 |
|
ファクタからアイデンティティ・マップを削除します。 |
|
Oracle RACデータベース・ノードをドメインから削除します。 |
|
現行データベース・インスタンスについて |
|
現行セッションについて |
|
ファクタの名前を変更します。名前の変更は、そのファクタが使用されているすべての箇所に反映されます。 |
|
ファクタ・タイプの名前を変更します。名前の変更は、そのファクタ・タイプが使用されているすべての箇所に反映されます。 |
|
ファクタを更新します。 |
|
ファクタ・タイプの説明を更新します。 |
|
ファクタ・アイデンティティの信頼レベルを更新します。 |
関連項目:
ファクタの詳細は、「ファクタの構成」を参照してください
ファクタのプロシージャおよびファンクションで使用できる一連の汎用ユーティリティ・プロシージャについては、「Oracle Database VaultユーティリティのAPI」を参照してください
ADD_FACTOR_LINK
プロシージャは、2つのファクタの親子関係を指定します。
構文
DBMS_MACADM.ADD_FACTOR_LINK( parent_factor_name IN VARCHAR2, child_factor_name IN VARCHAR2, label_indicator IN VARCHAR2);
パラメータ
表16-2 ADD_FACTOR_LINKのパラメータ
パラメータ | 説明 |
---|---|
|
親ファクタ名。 現行のデータベース・インスタンスで既存の親子ファクタを検索するには、「DVSYS.DBA_DV_FACTOR_LINKビュー」で説明されている |
|
子ファクタ名。 |
|
親ファクタにリンクされる子ファクタを、Oracle Label Security統合での親ファクタのラベルに含めることを示します。 ファクタに関連付けられているOracle Label Securityポリシーおよびラベルを確認するには、「Oracle Database Vaultのデータ・ディクショナリ・ビュー」で説明されている次のビューを問い合せます。
|
例
BEGIN DBMS_MACADM.ADD_FACTOR_LINK( parent_factor_name => 'HQ_ClientID', child_factor_name => 'Div1_ClientID', label_indicator => DBMS_MACUTL.G_YES); END; /
ADD_POLICY_FACTOR
プロシージャは、ファクタのラベルをポリシーのOracle Label Securityラベルに含めることを指定します。
構文
DBMS_MACADM.ADD_POLICY_FACTOR( policy_name IN VARCHAR2, factor_name IN VARCHAR2);
パラメータ
表16-3 ADD_POLICY_FACTORのパラメータ
パラメータ | 説明 |
---|---|
|
Oracle Label Securityポリシー名。 現行のデータベース・インスタンスに定義されているポリシーを検索するには、「DVSYS.DBA_DV_MAC_POLICYビュー」で説明されている Oracle Label Securityポリシーに関連付けられているファクタを検索するには、「DVSYS.DBA_DV_MAC_POLICYビュー」で説明されている |
|
ファクタ名。 既存のファクタを検索するには、「DVSYS.DBA_DV_FACTORビュー」で説明されている |
例
BEGIN DBMS_MACADM.ADD_POLICY_FACTOR( policy_name => 'AccessData', factor_name => 'Sector2_ClientID'); END; /
CHANGE_IDENTITY_FACTOR
プロシージャは、アイデンティティを別ファクタと関連付けます。
構文
DBMS_MACADM.CHANGE_IDENTITY_FACTOR( factor_name IN VARCHAR2, value IN VARCHAR2, new_factor_name IN VARCHAR2);
パラメータ
表16-4 CHANGE_IDENTITY_FACTORのパラメータ
パラメータ | 説明 |
---|---|
|
現在のファクタ名。 既存のファクタを検索するには、「DVSYS.DBA_DV_FACTORビュー」で説明されている |
|
更新するアイデンティティの値。 現行のデータベース・インスタンスで各ファクタの既存のアイデンティティを検索するには、 「DVSYS.DBA_DV_IDENTITYビュー」で説明されている 現行のアイデンティティ・マップを検索するには、「DVSYS.DBA_DV_IDENTITY_MAPビュー」で説明されている |
|
アイデンティティと関連付けるファクタの名前。「DVSYS.DBA_DV_FACTORビュー」で説明されている |
例
BEGIN DBMS_MACADM.CHANGE_IDENTITY_FACTOR( factor_name => 'Sector2_ClientID', value => 'intranet', new_factor_name => 'Sector4_ClientID'); END; /
CHANGE_IDENTITY_FACTOR
プロシージャは、アイデンティティの値を更新します。
構文
DBMS_MACADM.CHANGE_IDENTITY_VALUE( factor_name IN VARCHAR2, value IN VARCHAR2, new_value IN VARCHAR2);
パラメータ
表16-5 CHANGE_IDENTITY_VALUEパラメータ
パラメータ | 説明 |
---|---|
|
ファクタ名。 既存のファクタを検索するには、「DVSYS.DBA_DV_FACTORビュー」で説明されている |
|
アイデンティティに関連付けられている現在の値。 現行のデータベース・インスタンスで各ファクタの既存のアイデンティティを検索するには、「DVSYS.DBA_DV_FACTORビュー」で説明されている 現行のアイデンティティ・マップを検索するには、「DVSYS.DBA_DV_IDENTITY_MAPビュー」で説明されている |
|
新しいアイデンティティ値(大/小文字混在で最大1024文字)。 |
例
BEGIN DBMS_MACADM.CHANGE_IDENTITY_VALUE( factor_name => 'Sector2_ClientID', value => 'remote', new_value => 'intranet'); END; /
CREATE_DOMAIN_IDENTITY
プロシージャは、Oracle Real Application Clusters (Oracle RAC)とOracle Label Securityに使われます。
これは、ドメイン・ファクタ・アイデンティティにOracle RACデータベース・ノードを追加し、Oracle Label Securityポリシーに従ってラベルを付けます
構文
DBMS_MACADM.CREATE_DOMAIN_IDENTITY( domain_name IN VARCHAR2, domain_host IN VARCHAR2, policy_name IN VARCHAR2 DEFAULT NULL, domain_label IN VARCHAR2 DEFAULT NULL);
パラメータ
表16-6 CREATE_DOMAIN_IDENTITYのパラメータ
パラメータ | 説明 |
---|---|
|
ホストを追加するドメインの名前。 分散データベース・システムのネットワーク構造内でデータベースの論理的な場所を確認するには、 |
|
ドメインに追加されるOracle Real Application Clustersホスト名。 データベースのホスト名を確認するには、 |
|
Oracle Label Securityポリシー名。ポリシー名を省略すると、ドメインはどのポリシーにも関連付けられません。 使用可能なポリシーを検索するには、「DVSYS.DBA_DV_MAC_POLICYビュー」で説明されている |
|
Oracle Label Securityポリシーを追加するドメインの名前。 |
例
BEGIN DBMS_MACADM.CREATE_DOMAIN_IDENTITY( domain_name => 'example', domain_host => 'mydom_host', policy_name => 'AccessData', domain_label => 'sensitive'); END; /
CREATE_FACTOR
プロシージャはファクタを作成します。
ファクタを作成した後で、「CREATE_IDENTITYプロシージャ」で説明されているCREATE_IDENTITY
プロシージャを使用して、アイデンティティを付与できます。
構文
DBMS_MACADM.CREATE_FACTOR( factor_name IN VARCHAR2, factor_type_name IN VARCHAR2, description IN VARCHAR2, rule_set_name IN VARCHAR2, get_expr IN VARCHAR2, validate_expr IN VARCHAR2, identify_by IN NUMBER, labeled_by IN NUMBER, eval_options IN NUMBER, audit_options IN NUMBER, fail_options IN NUMBER);
パラメータ
表16-7 CREATE_FACTORのパラメータ
パラメータ | 説明 |
---|---|
|
ファクタ名(空白を使用せず、大/小文字混在で最大128文字)。 現行のデータベース・インスタンスで既存のファクタを検索するには、「DVSYS.DBA_DV_FACTORビュー」で説明されている |
|
ファクタのタイプ(空白を使用せず、大/小文字混在で最大128文字)。 既存のファクタ・タイプを検索するには、「DVSYS.DBA_DV_FACTOR_TYPEビュー」で説明されている |
|
ファクタの目的の説明(大/小文字混在で最大1024文字)。 |
|
ファクタ・アイデンティティを設定する時期および方法の制御にルール・セットを使用する場合のルール・セット名。 既存のルール・セットを検索するには、「Oracle Database Vaultのデータ・ディクショナリ・ビュー」で説明されている |
|
ファクタのアイデンティティを取得する有効なPL/SQL式。大/小文字混在で最大255文字まで使用できます。詳細は、「ファクタの取得メソッドの設定」を参照してください。 |
|
ファクタを検証するプロシージャの名前。これは、ブール値( |
|
詳細は、「ファクタの識別情報の設定」を参照してください。 |
|
ファクタのラベル付けのオプション。
詳細は、「ファクタのOracle Label Securityラベル付け情報の設定」を参照してください。 |
|
ユーザーがログインするときにファクタを評価するオプション。
詳細は、「ファクタの評価情報の設定」を参照してください。 |
|
カスタムのOracle Database Vault監査レコードから生成する場合にファクタを監査するオプション。
詳細は、「ファクタの監査オプションの設定」を参照してください。 |
|
ファクタ・エラーをレポートするオプション。
詳細は、「ファクタのエラー・オプションの設定」を参照してください。 |
例
BEGIN
DBMS_MACADM.CREATE_FACTOR(
factor_name => 'Sector2_DB',
factor_type_name => 'Instance',
description => ' ',
rule_set_name => 'Limit_DBA_Access',
get_expr => 'UPPER(SYS_CONTEXT(''USERENV'',''DB_NAME''))',
validate_expr => 'dbavowner.check_db_access',
identify_by => DBMS_MACUTL.G_IDENTIFY_BY_METHOD,
labeled_by => DBMS_MACUTL.G_LABELED_BY_SELF
,
eval_options => DBMS_MACUTL.G_EVAL_ON_SESSION,
audit_options => DBMS_MACUTL.G_AUDIT_OFF,
fail_options => DBMS_MACUTL.G_FAIL_SILENTLY);
END;
/
CREATE_FACTOR_TYPE
プロシージャは、ユーザー定義のファクタ・タイプを作成します。
構文
DBMS_MACADM.CREATE_FACTOR_TYPE( name IN VARCHAR2, description IN VARCHAR2);
パラメータ
表16-8 CREATE_FACTOR_TYPEのパラメータ
パラメータ | 説明 |
---|---|
|
ファクタ・タイプ名(空白を使用せず、大/小文字混在で最大128文字)。 既存のファクタ・タイプを検索するには、「DVSYS.DBA_DV_FACTOR_TYPEビュー」で説明されている |
|
ファクタ・タイプの目的の説明(大/小文字混在で最大1024文字)。 |
例
BEGIN DBMS_MACADM.CREATE_FACTOR_TYPE( name => 'Sector2Instance', description => 'Checks DB instances used in Sector 2'); END; /
CREATE_IDENTITY
プロシージャは、指定されたファクタに対してアイデンティティおよび関連付けられた信頼レベルを割り当てます。
ファクタの作成後には、アイデンティティを割り当てる必要があります。
構文
DBMS_MACADM.CREATE_IDENTITY( factor_name IN VARCHAR2, value IN VARCHAR2, trust_level IN NUMBER);
パラメータ
表16-9 CREATE_IDENTITYのパラメータ
パラメータ | 説明 |
---|---|
|
ファクタ名。 既存のファクタを検索するには、「DVSYS.DBA_DV_FACTORビュー」で説明されている |
|
ファクタの実際の値(大/小文字混在で最大1024文字)。たとえば、IP_Addressファクタのアイデンティティは、192.0.2.12というIPアドレスになります。 |
|
同じファクタの別のアイデンティティと比較した信頼の度合いを示す数値。一般に、信頼レベルの数値が高く設定されているほど信頼の度合いも高くなります。信頼レベル10は、非常に信頼度が高いことを表します。信頼レベルの数値が負の場合は信頼できません。 信頼レベルおよびラベル・セキュリティの詳細は、「ファクタ・アイデンティティの作成および構成」を参照してください。 |
例
BEGIN DBMS_MACADM.CREATE_IDENTITY( factor_name => 'Sector2_ClientID', value => 'intranet', trust_level => 5); END; /
CREATE_IDENTITY_MAP
プロシージャは、リンクされた子ファクタ(サブファクタ)の値からファクタのアイデンティティを導出できるテストを定義します。
構文
DBMS_MACADM.CREATE_IDENTITY_MAP( identity_factor_name IN VARCHAR2, identity_factor_value IN VARCHAR2, parent_factor_name IN VARCHAR2, child_factor_name IN VARCHAR2, operation IN VARCHAR2, operand1 IN VARCHAR2, operand2 IN VARCHAR2);
パラメータ
表16-10 CREATE_IDENTITY_MAPのパラメータ
パラメータ | 説明 |
---|---|
|
アイデンティティ・マップの対象のファクタ。 現行のデータベース・インスタンスで既存のファクタを検索するには、「Oracle Database Vaultのデータ・ディクショナリ・ビュー」で説明されている |
|
アイデンティティ・マップの評価が 既存のファクタ・アイデンティティを検索するには、「DVSYS.DBA_DV_IDENTITYビュー」で説明されている 現行のファクタ・アイデンティティ・マップを検索するには、「DVSYS.DBA_DV_IDENTITY_MAPビュー」で説明されている |
|
マップが関連する親ファクタ・リンク。 既存の親子ファクタ・マップを検索するには、「DVSYS.DBA_DV_IDENTITY_MAPビュー」で説明されている |
|
マップが関連する子ファクタ・リンク。 |
|
アイデンティティ・マップの関係演算子(たとえば、<、>、=など)。 |
|
関係演算子の左オペランド。入力する下限値を表します。 |
|
関係演算子の右オペランド。入力する上限値を表します。 |
例
BEGIN DBMS_MACADM.CREATE_IDENTITY_MAP( identity_factor_name => 'Sector2_ClientID', identity_factor_value => 'intranet', parent_factor_name => 'HQ_ClientID', child_factor_name => 'Div1_ClientID', operation => '<', operand1 => '192.0.2.50', operand2 => '192.0.2.100'); END; /
DELETE_FACTOR
プロシージャはファクタを削除します。
構文
DBMS_MACADM.DELETE_FACTOR(
factor_name IN VARCHAR2);
パラメータ
表16-11 DELETE_FACTORのパラメータ
パラメータ | 説明 |
---|---|
|
ファクタ名。 現行のデータベース・インスタンスで既存のファクタを検索するには、「DVSYS.DBA_DV_FACTORビュー」で説明されている |
例
EXEC DBMS_MACADM.DELETE_FACTOR('Sector2_ClientID');
DELETE_FACTOR_LINK
プロシージャは、2つのファクタの親子関係を削除します。
構文
DBMS_MACADM.DELETE_FACTOR_LINK( parent_factor_name IN VARCHAR2, child_factor_name IN VARCHAR2);
パラメータ
表16-12 DELETE_FACTOR_LINKのパラメータ
パラメータ | 説明 |
---|---|
|
ファクタ名。 現行のデータベース・インスタンスで親子マッピングに使用されているファクタを検索するには、「DVSYS.DBA_DV_FACTOR_LINKビュー」で説明されている |
|
ファクタ名。 |
例
BEGIN DBMS_MACADM.DELETE_FACTOR_LINK( parent_factor_name => 'HQ_ClientID', child_factor_name => 'Div1_ClientID'); END; /
DELETE_FACTOR_TYPE
プロシージャはファクタ・タイプを削除します。
構文
DBMS_MACADM.DELETE_FACTOR_TYPE( name IN VARCHAR2);
パラメータ
表16-13 DELETE_FACTOR_TYPEのパラメータ
パラメータ | 説明 |
---|---|
|
ファクタ・タイプ名。 既存のファクタ・タイプを検索するには、「DVSYS.DBA_DV_FACTOR_TYPEビュー」で説明されている |
例
EXEC DBMS_MACADM.DELETE_FACTOR_TYPE('Sector2Instance');
DELETE_IDENTITY
プロシージャは、既存のファクタからアイデンティティを削除します。
構文
DBMS_MACADM.DELETE_IDENTITY( factor_name IN VARCHAR2, value IN VARCHAR2);
パラメータ
表16-14 DELETE_IDENTITYのパラメータ
パラメータ | 説明 |
---|---|
|
ファクタ名。 現行のデータベース・インスタンスで既存のファクタを検索するには、「DVSYS.DBA_DV_FACTORビュー」で説明されている |
|
ファクタに関連付けられているアイデンティティ値。 現行のデータベース・インスタンスで各ファクタのアイデンティティを検索するには、「DVSYS.DBA_DV_IDENTITYビュー」で説明されている |
例
BEGIN DBMS_MACADM.DELETE_IDENTITY( factor_name => 'Sector2_ClientID', value => 'intranet'); END; /
DELETE_IDENTITY_MAP
プロシージャは、ファクタのアイデンティティ・マップを削除します。
構文
DBMS_MACADM.DELETE_IDENTITY_MAP( identity_factor_name IN VARCHAR2, identity_factor_value IN VARCHAR2, parent_factor_name IN VARCHAR2, child_factor_name IN VARCHAR2, operation IN VARCHAR2, operand1 IN VARCHAR2, operand2 IN VARCHAR2);
パラメータ
表16-15 DELETE_IDENTITY_MAPパラメータ
パラメータ | 説明 |
---|---|
|
アイデンティティ・マップの対象のファクタ。 現行のデータベース・インスタンスで既存のファクタを検索するには、「DVSYS.DBA_DV_FACTORビュー」で説明されている |
|
アイデンティティ・マップの評価が 既存のファクタ・アイデンティティを検索するには、「DVSYS.DBA_DV_IDENTITYビュー」で説明されている 現行のファクタ・アイデンティティ・マップを検索するには、「DVSYS.DBA_DV_IDENTITY_MAPビュー」で説明されている |
|
マップが関連する親ファクタ・リンク。 既存の親子ファクタを検索するには、「DVSYS.DBA_DV_FACTOR_LINKビュー」で説明されている |
|
マップが関連する子ファクタ。 |
|
アイデンティティ・マップの関係演算子(たとえば、<、>、=など)。 |
|
関係演算子の左(下限値)オペランド。 |
|
関係演算子の右(上限値)オペランド。 |
例
BEGIN DBMS_MACADM.DELETE_IDENTITY_MAP( identity_factor_name => 'Sector2_ClientID', identity_factor_value => 'intranet', parent_factor_name => 'HQ_ClientID', child_factor_name => 'Div1_ClientID', operation => '<', operand1 => '192.0.2.10', operand2 => '192.0.2.15'); END; /
DROP_DOMAIN_IDENTITY
プロシージャは、Oracle Real Application Clustersデータベース・ノードをドメインから削除します。
構文
DBMS_MACADM.DROP_DOMAIN_IDENTITY( domain_name IN VARCHAR2, domain_host IN VARCHAR2);
パラメータ
表16-16 DROP_DOMAIN_IDENTITYパラメータ
パラメータ | 説明 |
---|---|
|
ホストが追加されたドメインの名前。
|
|
ドメインに追加されたOracle Real Application Clustersホスト名。 指定されたデータベースのホスト名を確認するには、「F$DATABASE_NAMEファンクション」で説明されている |
例
BEGIN DBMS_MACADM.DROP_DOMAIN_IDENTITY( domain_name => 'example', domain_host => 'mydom_host'); END; /
GET_INSTANCE_INFO
ファンクションは、現行のデータベース・インスタンスについてSYS.V_$INSTANCE
システム表の情報を返します。
V$INSTANCE
データ・ディクショナリ・ビューにも、この表のデータベース・インスタンス情報が含まれます。詳細は、『Oracle Databaseリファレンス』を参照してください。
構文
DBMS_MACADM.GET_INSTANCE_INFO( p_parameter IN VARCHAR2) RETURN VARCHAR2;
パラメータ
表16-17 GET_INSTANCE_INFOのパラメータ
パラメータ | 説明 |
---|---|
|
|
例
DECLARE instance_var varchar2 := null; BEGIN instance_var = DBMS_MACADM.GET_INSTANCE_INFO('INSTANCE_NAME'); END; /
GET_SESSION_INFO
ファンクションは、現行セッションについてSYS.V_$SESSION
システム表の情報を返します。
V$SESSION
データ・ディクショナリ・ビューにも、この表のセッション情報が含まれます。詳細は、『Oracle Databaseリファレンス』を参照してください。
構文
DBMS_MACADM.GET_SESSION_INFO( p_parameter IN VARCHAR2) RETURN VARCHAR2;
パラメータ
表16-18 GET_SESSION_INFOのパラメータ
パラメータ | 説明 |
---|---|
|
|
例
DECLARE session_var varchar2 := null; BEGIN session_var = DBMS_MACADM.GET_SESSION_INFO('PROCESS'); END; /
RENAME_FACTOR
プロシージャは、ファクタの名前を変更します。名前の変更は、そのファクタが使用されているすべての箇所に反映されます。
構文
DBMS_MACADM.RENAME_FACTOR( factor_name IN VARCHAR2, new_factor_name IN VARCHAR2);
パラメータ
表16-19 RENAME_FACTORのパラメータ
パラメータ | 説明 |
---|---|
|
現在のファクタ名。 現行のデータベース・インスタンスで既存のファクタを検索するには、「DVSYS.DBA_DV_FACTORビュー」で説明されている |
|
新しいファクタ名(空白を使用せず、大/小文字混在で最大128文字)。 |
例
BEGIN DBMS_MACADM.RENAME_FACTOR( factor_name => 'Sector2_ClientID', new_factor_name => 'Sector2_Clients'); END; /
RENAME_FACTOR
プロシージャは、ファクタ・タイプの名前を変更します。名前の変更は、そのファクタ・タイプが使用されているすべての箇所に反映されます。
構文
DBMS_MACADM.RENAME_FACTOR_TYPE( old_name IN VARCHAR2, new_name IN VARCHAR2);
パラメータ
表16-20 RENAME_FACTOR_TYPEのパラメータ
パラメータ | 説明 |
---|---|
|
現在のファクタ・タイプ名。 現行のデータベース・インスタンスで既存のファクタ・タイプを検索するには、「DVSYS.DBA_DV_FACTOR_TYPEビュー」で説明されている |
|
新しいファクタ・タイプ名(空白を使用せず、大/小文字混在で最大128文字)。 |
例
BEGIN DBMS_MACADM.RENAME_FACTOR_TYPE( old_name => 'Sector2Instance', new_name => 'Sector2DBInstance'); END; /
UPDATE_FACTOR
プロシージャは、ファクタ・タイプの説明を更新します。
構文
DBMS_MACADM.UPDATE_FACTOR( factor_name IN VARCHAR2, factor_type_name IN VARCHAR2, description IN VARCHAR2, rule_set_name IN VARCHAR2, get_expr IN VARCHAR2, validate_expr IN VARCHAR2, identify_by IN NUMBER, labeled_by IN NUMBER, eval_options IN NUMBER, audit_options IN NUMBER, fail_options IN NUMBER);
パラメータ
表16-21 UPDATE_FACTOR
パラメータ | 説明 |
---|---|
|
ファクタ名。 現行のデータベース・インスタンスで既存のファクタを検索するには、「DVSYS.DBA_DV_FACTORビュー」で説明されている |
|
ファクタ・タイプ名。 既存のファクタ・タイプを検索するには、「DVSYS.DBA_DV_FACTOR_TYPEビュー」で説明されている |
|
ファクタの目的の説明(大/小文字混在で最大1024文字)。 |
|
ファクタ・アイデンティティを設定する時期および方法の制御に使用されるルール・セットの名前。 既存のルール・セットを検索するには、「Oracle Database Vaultのデータ・ディクショナリ・ビュー」で説明されている ファクタへのルール・セットの割当ての詳細は、「ファクタへのルール・セットの割当て」も参照してください。 |
|
ファクタのアイデンティティを取得する有効なPL/SQL式。大/小文字混在で最大255文字まで使用できます。詳細は、「ファクタの取得メソッドの設定」を参照してください。 |
|
ファクタを検証するプロシージャの名前。これは、ブール値( |
|
詳細は、「ファクタの識別情報の設定」を参照してください。 |
|
ファクタのラベル付けのオプション。
詳細は、「ファクタのOracle Label Securityラベル付け情報の設定」を参照してください。 |
|
ユーザーがログインするときにファクタを評価するオプション。
詳細は、「ファクタの評価情報の設定」を参照してください。 |
|
カスタムのOracle Database Vault監査レコードから生成する場合にファクタを監査するオプション。
詳細は、「ファクタの監査オプションの設定」を参照してください。 |
|
ファクタ・エラーをレポートするオプション。
詳細は、「ファクタのエラー・オプションの設定」を参照してください。 |
例
BEGIN DBMS_MACADM.UPDATE_FACTOR( factor_name => 'Sector2_DB', factor_type_name => 'Instance', description => ' ', rule_set_name => 'Limit_DBA_Access', get_expr => 'UPPER(SYS_CONTEXT(''USERENV'',''DB_NAME''))', validate_expr => 'dbavowner.check_db_access', identify_by => DBMS_MACUTL.G_IDENTIFY_BY_METHOD, labeled_by => DBMS_MACUTL.G_LABELED_BY_SELF, eval_options => DBMS_MACUTL.G_EVAL_ON_ACCESS, audit_options => DBMS_MACUTL.G_AUDIT_ALWAYS, fail_options => DBMS_MACUTL.G_FAIL_WITH_MESSAGE); END; /
UPDATE_FACTOR_TYPE
プロシージャはファクタ・タイプを更新します。
構文
DBMS_MACADM.UPDATE_FACTOR_TYPE( name IN VARCHAR2, description IN VARCHAR2);
パラメータ
表16-22 UPDATE_FACTOR_TYPEのパラメータ
パラメータ | 説明 |
---|---|
|
ファクタ・タイプ名。 現行のデータベース・インスタンスで既存のファクタ・タイプを検索するには、「DVSYS.DBA_DV_FACTOR_TYPEビュー」で説明されている |
|
ファクタ・タイプの目的の説明(大/小文字混在で最大1024文字)。 |
例
BEGIN DBMS_MACADM.UPDATE_FACTOR_TYPE( name => 'Sector2DBInstance', description => 'Checks DB instances used in Sector 2'); END; /
UPDATE_IDENTITY
プロシージャは、ファクタ・アイデンティティの信頼レベルを更新します。
構文
DBMS_MACADM.UPDATE_IDENTITY( factor_name IN VARCHAR2, value IN VARCHAR2, trust_level IN NUMBER);
パラメータ
表16-23 UPDATE_IDENTITYのパラメータ
パラメータ | 説明 |
---|---|
|
ファクタ名。 現行のデータベース・インスタンスで既存のファクタを検索するには、「DVSYS.DBA_DV_FACTORビュー」で説明されている アイデンティティを持つファクタを検索するには、「DVSYS.DBA_DV_IDENTITYビュー」で説明されている |
|
新しいファクタ・アイデンティティ(大/小文字混在で最大1024文字)。たとえば、IP_Addressファクタのアイデンティティは、192.0.2.12というIPアドレスになります。 |
|
同じファクタの別のアイデンティティと比較した信頼の度合いを示す数値。一般に、信頼レベルの数値が高く設定されているほど信頼の度合いも高くなります。信頼レベル10は、非常に信頼度が高いことを表します。信頼レベルの数値が負の場合は信頼できません。 信頼レベルおよびラベル・セキュリティの詳細は、「ファクタ・アイデンティティの作成および構成」を参照してください。 |
例
BEGIN DBMS_MACADM.UPDATE_IDENTITY( factor_name => 'Sector2_ClientID', value => 'intranet', trust_level => 10); END; /
Oracle Database Vaultには一連の手続き型インタフェースが用意されており、様々なDatabase Vaultセキュリティ・オプションの管理およびDatabase Vaultセキュリティの実施の管理に使用できます。
また、レルム違反およびコマンド認可のDDLコマンドを検証するためのロジックを公開するプロシージャおよびファンクションもあります。その他に、ファクタの値をたとえばWebアプリケーションなどから設定する(関連付けられたルール・セットがTrueに評価される場合)、セッションまたは特定のファクタ・アイデンティティに対する信頼レベルを取得する、あるいはファクタ・アイデンティティのラベルを取得するためのプロシージャおよびファンクションが用意されています。これらのプロシージャおよびファンクションは、データベース管理者がすべてのDVSYS
パッケージ・プロシージャに対するEXECUTE
権限を一般のデータベース・アカウント群に付与しないように提供されています。プロシージャおよびファンクションは、必要な最小限のメソッドのみを公開します。これらのファンクションおよびプロシージャはすべて、必要とするアプリケーションでパブリックに使用できます。
Oracle Database Vault ランタイムPL/SQLプロシージャおよびファンクションに、ファクタのデフォルトのランタイムPL/SQLプロシージャおよびファンクションを示します。
表16-24 ランタイムのPL/SQLプロシージャおよびファンクション
プロシージャまたはファンクション | パラメータ |
---|---|
ファクタを設定します。 |
|
ファクタを取得します。 |
|
ファクタに割り当てられた信頼レベルを取得します。 |
|
指定されたファクタおよびアイデンティティの信頼レベルを取得します。 |
|
指定されたデータベース・ロールが有効になっているかどうかを確認します。 |
|
ファクタにラベルが割り当てられている場合、指定されたOracle Label Securityポリシーのために、指定されたファクタのラベルを取得します。 |
Oracle Database Vaultには一連の手続き型インタフェースが用意されており、様々なDatabase Vaultセキュリティ・オプションの管理およびDatabase Vaultセキュリティの実施の管理に使用できます。
また、レルム違反およびコマンド認可のDDLコマンドを検証するためのロジックを公開するプロシージャおよびファンクションもあります。その他に、ファクタの値をたとえばWebアプリケーションなどから設定する(関連付けられたルール・セットがTrueに評価される場合)、セッションまたは特定のファクタ・アイデンティティに対する信頼レベルを取得する、あるいはファクタ・アイデンティティのラベルを取得するためのプロシージャおよびファンクションが用意されています。これらのプロシージャおよびファンクションは、データベース管理者がすべてのDVSYS
パッケージ・プロシージャに対するEXECUTE
権限を一般のデータベース・アカウント群に付与しないように提供されています。プロシージャおよびファンクションは、必要な最小限のメソッドのみを公開します。これらのファンクションおよびプロシージャはすべて、必要とするアプリケーションでパブリックに使用できます。
表16-25に、ファクタのデフォルトのランタイムのPL/SQLプロシージャおよびファンクションを示します。
表16-25 ランタイムのPL/SQLプロシージャおよびファンクション
プロシージャまたはファンクション | パラメータ |
---|---|
ファクタを設定します。 |
|
ファクタを取得します。 |
|
ファクタに割り当てられた信頼レベルを取得します。 |
|
指定されたファクタおよびアイデンティティの信頼レベルを取得します。 |
|
指定されたデータベース・ロールが有効になっているかどうかを確認します。 |
|
ファクタにラベルが割り当てられている場合、指定されたOracle Label Securityポリシーのために、指定されたファクタのラベルを取得します。 |
DVSYS.SET_FACTOR
プロシージャは、ファクタ・アイデンティティを動的に設定する必要があるアプリケーションに公開できます。
パッケージ・プロシージャDBMS_MACADM.SET_FACTOR
をラップします。割当て用のルール・セットがファクタに関連付けられていて、ルール・セットがtrueを返した場合に、値が設定されます。通常のルール・セット処理が行われ、ファクタ値(アイデンティティ)の検証メソッドがコールされます。このプロシージャは、一般のデータベース・アカウント群で使用(実行)できます。
構文
DVSYS.SET_FACTOR( p_factor IN VARCHAR2, p_value IN VARCHAR2);
パラメータ
表16-26 SET_FACTORのパラメータ
パラメータ | 説明 |
---|---|
|
ファクタ名。 現行のデータベース・インスタンスで既存のファクタを検索するには、「DVSYS.DBA_DV_FACTORビュー」で説明されている |
|
アイデンティティ値。大/小文字混在で最大で1024文字まで入力できます。 現行のデータベース・インスタンスの各ファクタのアイデンティティを検索するには、「DVSYS.DBA_DV_IDENTITYビュー」で説明されている |
例
EXECUTE DVSYS.SET_FACTOR(''Sector2_ClientID'', ''identity'');
DVSYS.GET_FACTOR
ファンクションは、パブリック・ファクタ・ファンクションによるファクタのアイデンティティの解決を可能にするために、DVF
スキーマに公開できます。戻り型はVARCHAR2
です。
このファンクションにより、DVF
スキーマのF$
ファンクションが有効になります。このファンクションは、一般のデータベース・アカウント群で使用(実行)できます。
構文
DVSYS.GET_FACTOR( p_factor IN VARCHAR2) RETURN VARCHAR2;
パラメータ
表16-27 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; /
DVSYS.GET_TRUST_LEVEL
ファンクションは、リクエストされたファクタの現行セッションのアイデンティティの信頼レベルを返します。戻り型はVARCHAR2
です。
このファンクションは、一般のデータベース・アカウント群で使用(実行)できます。使用可能な信頼レベルのリストは、「ファクタ・アイデンティティの作成および構成」を参照してください。
構文
DVSYS.GET_TRUST_LEVEL( p_factor IN VARCHAR2) RETURN VARCHAR2;
パラメータ
表16-28 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; /
DVSYS.GET_TRUST_LEVEL_FOR_IDENTITY
ファンクションは、リクエストされたファクタおよびアイデンティティの信頼レベルを返します。戻り型はVARCHAR2
です。
このファンクションは、一般のデータベース・アカウント群で使用(実行)できます。使用可能な信頼レベルのリストは、「ファクタ・アイデンティティの作成および構成」を参照してください。
構文
DVSYS.GET_TRUST_LEVEL_FOR_IDENTITY( p_factor IN VARCHAR2, p_identity IN VARCHAR2) RETURN VARCHAR2;
パラメータ
表16-29 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; /
DVSYS.ROLE_IS_ENABLED
ファンクションは、データベース・ロールが有効であるかどうかを示すブール値を返します。戻り型はBOOLEAN
です。
このファンクションは、一般のデータベース・アカウント群で使用(実行)できます。
構文
DVSYS.ROLE_IS_ENABLED( p_role IN VARCHAR2) RETURN BOOLEAN;
パラメータ
表16-30 ROLE_IS_ENABLEDのパラメータ
パラメータ | 説明 |
---|---|
|
確認するデータベース・ロール名。 既存のロールを検索する場合は、次のデータ・ディクショナリ・ビューを使用します。
|
例
BEGIN DBMS_MACADM.CREATE_RULE( rule_name => 'Check if SYSADM Role Is Enabled', rule_expr => 'DVSYS.ROLE_IS_ENABLED(''SYSADM'')'); END; /
DVSYS.GET_FACTOR_LABEL
ファンクションは、指定されたファクタに指定されたOracle Label Securityポリシー用のラベルが割り当てられている場合に、そのラベルを返します。戻り型はVARCHAR2
です。
ポリシーがOracle Label Securityを使用して構成されている場合は、ポリシーの最大セッション・ラベルとマージされるラベルを返します。このファンクションは、一般のデータベース・アカウント群で使用(実行)できます。
構文
DVSYS.GET_FACTOR_LABEL( p_factor IN VARCHAR2, p_policy_name IN VARCHAR2) RETURN VARCHAR2;
パラメータ
表16-31 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; /
DBMS_MACADM
PL/SQLパッケージを使用して様々なファクタを管理する際、Oracle Database VaultによってDVF
スキーマ・ファンクションが維持されます。
DVSYS
スキーマから提供されるファンクションおよびプロシージャに加え、DVF
スキーマにはシステムに定義されているファクタごとに1つのファンクションが含まれます。
その後、ファンクションは一般のデータベース・アカウント群でPL/SQLファンクションおよび標準SQLを介して使用できます。これにより、ファクタはOracle Label Security、Oracle Virtual Private Database(VPD)などで使用できるようになります。
通常、これらのファンクションをルール式に組み込むことができます。次に例を示します。
その後、ファンクションは一般のデータベース・アカウント群で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 ------------------------------------------------ LEO_DVOWNER
ファクタ自体の名前は、大/小文字を区別しません。たとえば、次の文は同じ結果を返します。
select dvf.f$session_user from dual; SELECT DVF.F$SESSION_USER FROM DUAL;
Oracle Database VaultのDVF PL/SQLファクタ・ファンクションに、デフォルト・ファクタ・ファンクションがリストされています。
表16-32 インストールされるOracle Database Vaultファクタ・ファンクション
DVFファクタ・ファンクション | 説明 |
---|---|
認証の方式を |
|
クライアントが接続されているコンピュータのIPアドレスを返します。 |
|
|
|
データベース・インスタンスが実行されているコンピュータのホスト名を返します。 |
|
現在のデータベース・インスタンスのデータベース・インスタンス識別番号を返します。 |
|
データベース・インスタンスが実行されているコンピュータのIPアドレスを返します。 |
|
|
|
ランタイム環境(ネットワークIT環境やそのサブセットなど)内の、特定の機密レベルで動作する物理的な構成または実装固有のファクタの名前付きコレクションを返します。 |
|
ユーザーのエンタープライズ全体のアイデンティティを返します。 |
|
データベースでのユーザーのスキーマの作成方法を返します。具体的には、 |
|
既存の |
|
セッションで現在使用中の言語と地域、およびデータベース・キャラクタ・セットを |
|
データベース・セッションを確立したデータベース・クライアントのコンピュータ(ホスト)名を返します。 |
|
接続文字列の |
|
プロキシ・ユーザーがエンタープライズ・ユーザーである場合、Oracle Internet Directoryの識別名(DN)を返します。 |
|
現行ユーザーが認証されたデータベース・ユーザー名を返します。 |
DBMS_MACADM
PL/SQLパッケージを使用して様々なファクタを管理する際、Oracle Database VaultによってDVF
スキーマ・ファンクションが維持されます。
その後、ファンクションは一般のデータベース・アカウント群で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 ------------------------------------------------ LEO_DVOWNER
ファクタ自体の名前は、大/小文字を区別しません。たとえば、次の文は同じ結果を返します。
select dvf.f$session_user from dual; SELECT DVF.F$SESSION_USER FROM DUAL;
表16-33にデフォルトのファクタ・ファンクションを示します。
表16-33 インストールされるOracle Database Vaultファクタ・ファンクション
DVFファクタ・ファンクション | 説明 |
---|---|
認証の方式を |
|
クライアントが接続されているコンピュータのIPアドレスを返します。 |
|
|
|
データベース・インスタンスが実行されているコンピュータのホスト名を返します。 |
|
現在のデータベース・インスタンスのデータベース・インスタンス識別番号を返します。 |
|
データベース・インスタンスが実行されているコンピュータのIPアドレスを返します。 |
|
|
|
ランタイム環境(ネットワークIT環境やそのサブセットなど)内の、特定の機密レベルで動作する物理的な構成または実装固有のファクタの名前付きコレクションを返します。 |
|
ユーザーのエンタープライズ全体のアイデンティティを返します。 |
|
データベースでのユーザーのスキーマの作成方法を返します。具体的には、 |
|
既存の |
|
セッションで現在使用中の言語と地域、およびデータベース・キャラクタ・セットを |
|
データベース・セッションを確立したデータベース・クライアントのコンピュータ(ホスト)名を返します。 |
|
接続文字列の |
|
プロキシ・ユーザーがエンタープライズ・ユーザーである場合、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;
パラメータ
ありません
例
次の例では、ルール作成文でDVF.F$CLIENT_IP
を使用する方法を示します。入力できるのは、IPアドレスの範囲ではなく、1つのIPアドレスのみであることに注意してください。
BEGIN DBMS_MACADM.CREATE_RULE( rule_name => 'Check Client IP Address', rule_expr => 'DVF.F$CLIENT_IP = ''192.0.2.10'''); 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; /