194 DBMS_XDBZ

DBMS_XDBZパッケージは、アクセス制御リスト(ACL)に基づいて、Oracle XML DBリポジトリのセキュリティを制御します。

この章のトピックは、次のとおりです:

194.1 DBMS_XDBZのセキュリティ・モデル

DBMS_XDBZパッケージは、XDBが所有しているため、SYSまたはXDBによって作成される必要があります。EXECUTE権限は、PUBLICに付与されます。このパッケージ内のサブプログラムは、現行のユーザーの権限を使用して実行されます。

194.2 DBMS_XDBZの定数

DBMS_XDBZパッケージは、パラメータ値の指定に使用できるいくつかの定数を定義します。

このパッケージでは、次の表に示す定数が使用されます。

表194-1 DBMS_XDBZの定数 - 名前の形式

定数 タイプ 説明

NAME_FORMAT_SHORT

PLS_INTEGER

1

DBユーザー名またはLDAPニックネーム。

NAME_FORMAT_DISTINGUISHED

PLS_INTEGER

2

LDAP識別名。

表194-2 DBMS_XDBZの定数 - 有効化オプション

定数 タイプ 説明

ENABLE_CONTENTS

PLS_INTEGER

1

内容の階層を有効化します。この階層は、ユーザーによってENABLE_HIERARCHYプロシージャのコール時に使用されます。

ENABLE_RESMETADATA

PLS_INTEGER

2

リソース・メタデータの階層を有効化します。つまり、この表は、リソースのスキーマ・ベースのカスタム・メタデータを格納します。

表194-3 DBMS_XDBZの定数 - 実行されている有効化オプション

定数 タイプ 説明

IS_ENABLED_CONTENTS

PLS_INTEGER

1

内容に対して階層が有効化された場合、つまり、hierarchy_typeENABLE_CONTENTSを指定してENABLE_HIERARCHYプロシージャがコールされた場合。

IS_ENABLED_RESMETADATA

PLS_INTEGER

2

リソース・メタデータに対して階層が有効化された場合、つまり、hierarchy_typeENABLE_RESMETADATAを指定してENABLE_HIERARCHYプロシージャがコールされた場合。

194.3 DBMS_XDBZサブプログラムの要約

この表は、DBMS_XDBZサブプログラムを示し、簡単に説明しています。

表194-4 DBMS_XDBZパッケージのサブプログラム

メソッド 説明

DISABLE_HIERARCHYプロシージャ

指定したXMLTYPE表またはビューのリポジトリのサポートを無効にします。

ENABLE_HIERARCHYプロシージャ

指定したXMLType表またはビューのリポジトリのサポートを有効にします。

GET_ACLOIDファンクション

指定したリソースのACLオブジェクトIDを取得します。

GET_USERIDファンクション

指定したユーザーのユーザーIDを取得します。

IS_HIERARCHY_ENABLEDファンクション

指定したXMLType表またはビューのリポジトリのサポートが有効であるかどうかを判別します。

PURGELDAPCACHEファンクション

LDAPニックネーム・キャッシュをパージします。

194.3.1 CREATENONCEKEYプロシージャ

このプロシージャは、Digest認証で使用するNonce値を生成します。

構文

DBMS_XDBZ.CREATENONCEKEY;

194.3.2 DISABLE_HIERARCHYプロシージャ

このプロシージャは、特定のXMLType表またはビューのリポジトリのサポートを無効にします。

構文

DBMS_XDBZ.DISABLE_HIERARCHY(
   object_schema IN VARCHAR2,
   object_name   IN VARCHAR2);

パラメータ

表194-5 DISABLE_HIERARCHYプロシージャのパラメータ

パラメータ 説明

object_schema

XMLType表またはビューのスキーマ名

object_name

XMLType表またはビューの名前

194.3.3 ENABLE_HIERARCHYプロシージャ

このプロシージャは、特定のXMLType表またはビューのリポジトリのサポートを有効にします。このプロシージャを使用して、リポジトリのすべてのドキュメントで統一されたACLベースのセキュリティ・モデルを使用できるようになります。

参照:

詳細は、『Oracle XML DB開発者ガイド』を参照してください。

構文

DBMS_XDBZ.ENABLE_HIERARCHY(
   object_schema   IN   VARCHAR2,
   object_name     IN   VARCHAR2,
   hierarchy_type  IN   PLS_INTEGER := DBMS_XDBZ.ENABLE_CONTENTS);

パラメータ

表194-6 ENABLE_HIERARCHYプロシージャのパラメータ

パラメータ 説明

object_schema

XMLType表またはビューのスキーマ名

object_name

XMLType表またはビューの名前

hierarchy_type

階層を有効化する方法。

  • ENABLE_CONTENTS: 内容の階層を有効化します。つまり、この表はリソースの内容をリポジトリに格納します。

  • ENABLE_RESMETADATA: リソース・メタデータの階層を有効化します。つまり、この表はリソースのスキーマ・ベースのカスタム・メタデータを格納します。

表でこのサブプログラムをコールした場合、別のコールは無効になります。内容とリソース・メタデータの両方の階層を有効化することはできないことに注意してください。

194.3.4 GET_ACLOIDファンクション

このファンクションは、リポジトリ・パスが既知の場合に、指定したリソースのACLオブジェクトIDを取得します。

構文

DBMS_XDBZ.GET_ACLOID(
   aclpath   IN   VARCHAR2,
   acloid    OUT  RAW)
 RETURN BOOLEAN;

パラメータ

表194-7 GET_ACLOIDファンクションのパラメータ

パラメータ 説明

aclpath

リポジトリのACLリソース・パス。

acloid

戻されたオブジェクトID。

戻り値

成功した場合、TRUEを戻します。

194.3.5 GET_USERIDファンクション

このファンクションは、指定したユーザー名のユーザーIDを取得します。ローカル・データベースが最初に検索され、ユーザーIDが見つかった場合、USERIDは4バイトのデータベース形式で戻されます。ユーザーIDが見つからなかった場合、LDAPディレクトリが検索され、そこで見つかった場合、USERIDは4バイトのデータベース形式で戻されます。

構文

DBMS_XDBZ.GET_USERID(
   username IN  VARCHAR2,
   userid   OUT RAW,
   format   IN  BINARY_INTEGER := NAME_FORMAT_SHORT)
 RETURN BOOLEAN;

パラメータ

表194-8 GET_USERIDファンクションのパラメータ

パラメータ 説明

username

データベースまたはLDAPユーザーの名前。

userid

一致したユーザーIDのパラメータを戻します。

format

指定したユーザー名の形式。有効なオプションは次のとおりです。

  • DBMS_XDBZ.NAME_FORMAT_SHORT(デフォルト): DBユーザー名またはLDAPニックネーム。

  • DBMS_XDBZ.NAME_FORMAT_DISTINGUISHIED: LDAP識別名。

戻り値

成功した場合、TRUEを戻します。

194.3.6 IS_HIERARCHY_ENABLEDファンクション

このファンクションは、指定したXMLType表またはビューのリポジトリのサポートが有効であるかどうかを判別します。

構文

DBMS_XDBZ.IS_HIERARCHY_ENABLED(
   object_schema   IN  VARCHAR2,
   object_name     IN  VARCHAR2,
   hierarchy_type  IN  PLS_INTEGER := IS_ENABLED_CONTENTS)
 RETURN BOOLEAN;

パラメータ

表194-9 IS_HIERARCHY_ENABLEDファンクションのパラメータ

パラメータ 説明

object_schema

XMLType表またはビューのスキーマ名

object_name

XMLType表またはビューの名前

hierarchy_type

チェックする階層のタイプ:

  • IS_ENABLED_CONTENTS: 内容に対して階層が有効化された場合、つまり、hierarchy_typeENABLE_CONTENTSを指定してENABLE_HIERARCHYプロシージャがコールされた場合。

  • IS_ENABLED_RESMETADATA: リソース・メタデータに対して階層が有効化された場合、つまり、hierarchy_typeENABLE_RESMETADATAを指定してENABLE_HIERARCHYプロシージャがコールされた場合。

戻り値

特定のXMLTYPE表またはビューで、指定したタイプでXDB階層が有効化されている場合は、TRUEを戻します。

194.3.7 PURGELDAPCACHEファンクション

このファンクションはLDAPニックネーム・キャッシュをパージします。

成功した場合、TRUEを戻します。

構文

DBMS_XDBZ.PURGELDAPCACHE
 RETURN BOOLEAN;