プライマリ・コンテンツに移動
Oracle® Label Security管理者ガイド
12cリリース1 (12.1)
E56367-02
目次へ移動
目次
索引へ移動
索引

前
次

7 Oracle Label SecurityとOracle Internet Directoryとの併用

Oracle Label SecurityはOracle Internet Directoryと併用できます。

内容は次のとおりです。

Oracle Internet Directoryでのラベル管理について

Oracle Label Securityメタデータを一元的なLDAPリポジトリで管理するメリットは数多くあります。

  • ポリシーおよびユーザー・ラベルの認可を容易にプロビジョニングして、企業全体に配布できます。

  • 従業員が退職した場合、その従業員のラベル認可を1か所で取り消し、変更を企業全体に自動的に伝播できます。

以前のリリースのOracle Label Securityは、ポリシーおよびユーザー・ラベルの認可の集中リポジトリとしてOracle Databaseに依存していました。Oracle Databaseのスケーラビリティと高可用性が活用されていましたが、Oracle Internet Directory (OID)を含む識別情報管理インフラストラクチャは活用されていませんでした。Oracle Label SecurityのインストールをOracle Internet Directoryと統合することで、ラベル認可を標準的なプロビジョニング・プロセスの一部にできます。

これらの利点は、Oracle Label Securityがユーザーに割り当てるポリシー、ユーザー・ラベルおよび権限について、ディレクトリに格納された情報にも適用されます。これらのラベルと権限は、表およびスキーマに対するアクセス制御を定義するインストール・ポリシーに固有です。サイトでOracle Internet Directoryを使用していない場合、このような情報はデータベースにローカルに格納されます。

ディレクトリには、次のOracle Label Security情報が格納されます。

  • ポリシー情報(ポリシー名、列名、ポリシー強制オプションおよび監査オプション)

  • ラベルと権限を識別するユーザー・プロファイル

  • ポリシー・ラベル・コンポーネント: レベル、区分およびグループ

  • ポリシー・データ・ラベル

次のようなデータベース固有のメタデータは、ディレクトリに格納されません。

  • ポリシー情報が関連付けられているスキーマまたは表のリスト

  • ポリシー権限が関連付けられているプログラム・ユニット

Oracle Label SecurityのインストールをOracle Internet Directory (OID)と統合する場合の重要な側面を次に示します。

注意:

Oracle Label Securityのデータベース・アーキテクチャとディレクトリベース(OID)アーキテクチャは引き続きサポートされます。ただし、単一のデータベース環境で両方のアーキテクチャを管理することはできません。管理者は、LDAP集中管理モデルを使用するか、データベース中心型のモデルを使用するかを決定する必要があります。

注意:

「Oracle Internet Directoryを使用したLabel Security用コマンドライン・ツール」で説明するように、Oracle Label Security管理ツール(olsadmintool)を使用してOracle Label Securityポリシーをディレクトリ内で直接管理できます。

Oracle Label Securityの管理に、Oracle Enterprise Managerで提供されるグラフィカル・ユーザー・インタフェースも使用できます。Oracle Enterprise Managerヘルプに詳細なドキュメントが含まれています。

Oracle Internet Directoryを使用するサイトの場合、データベースはOracle Label Securityポリシー情報をディレクトリから取得します。管理者はolsadmintoolポリシー管理ツールまたはEnterprise Managerのグラフィカル・ユーザー・インタフェースを使用してディレクトリ上で直接操作し、必要に応じてメタデータを挿入、変更または削除します。エンタープライズ・ユーザーはOracle Internet Directoryに格納されている資格証明を使用して複数のデータベースにログインできるため、Oracle Label Securityポリシーの認可と権限もOracle Internet Directoryに格納するのが論理的です。これにより、管理者はこれらのメタデータをディレクトリ内で更新することで認可と権限を変更できます。

分散データベースでは、ポリシーの集中管理により、適切なポリシー情報をディレクトリ内で入手できるため、ポリシーを複製する必要がなくなります。変更はそのまま有効になり、Oracle Directory Integration Platformを使用してデータベース内のポリシー情報と同期化されます。

関連項目:

Oracle Directory Integration Platformを使用した同期化については、Oracle Identity Management統合ガイドを参照

図7-1に、Oracle Internet Directoryのメタデータ・ストレージの構造を示します。

図7-1 Oracle Internet DirectoryのOracle Label Securityメタデータ記憶域

図7-1の説明が続きます
「図7-1 Oracle Internet DirectoryのOracle Label Securityメタデータ記憶域」の説明

図7-2に、様々なエンタープライズ・ユーザーがアクセスするデータベースに対して、Oracle Internet Directoryに格納されている異なるポリシーを適用する状況を示します。ユーザーおよびアクセスされるデータベースに対応するディレクトリ・エントリによって、適用されるポリシーが決まります。

図7-2 Oracle Internet Directoryを介して適用されるOracle Label Securityのポリシー

図7-2の説明が続きます
「図7-2 Oracle Internet Directoryを介して適用されるOracle Label Securityのポリシー」の説明

この図では、ディレクトリには2つのOracle Label Securityポリシー(データベースDB1に適用されるAlphaとデータベースDB2に適用されるBeta)に関する情報が含まれます。どちらのポリシーも各データベースで既知ですが、適切な一方のみが各ケースに適用されます。また、Oracle Label Securityによって保護されている行にアクセスするエンタープライズ・ユーザーは、Oracle Internet DirectoryのOracle Label Security属性内のプロファイルにリストされます。

図7-2に示すように、異なるデータベースとディレクトリ間の接続は、SSLまたはSASL上に確立されます。データベースは、パスワードベース認証を使用し、既知の識別情報として常にディレクトリにバインドします。データベースとクライアント(SQL*Plusセッション、任意のPL/SQLプログラムなど)間のリンクには、SSL接続または非SSL接続を使用できます。図7-2の例では、ユーザーがパスワード認証を通じてログオンしていることを想定します。どの接続タイプを選択するかは、エンタープライズ・ユーザー・モデルによって異なります。

Oracle Label Securityのポリシー管理ツールは、Oracle Internet Directory内のメタデータに対して直接動作します。ディレクトリ内の変更は、特定の間隔でデータベースに変更を送信するよう構成されているOracle Directory Integration and Provisioningサーバーに伝播します。

データベースは、表またはスキーマにポリシーが適用されている場合にのみ、Oracle Internet Directory内でポリシー情報を更新します。この更新により、使用中のポリシーがディレクトリから削除されないことが保証されます。

関連項目:

  • エンタープライズ・ドメイン、ユーザー・モデルおよび認証アクティビティの詳細は、『Oracle Databaseエンタープライズ・ユーザー・セキュリティ管理者ガイド』を参照してください

  • Oracle Internet Directoryの詳細は、『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』を参照してください

Oracle Internet Directory対応Label Securityの構成

Oracle Internet Directory対応Oracle Label Securityを構成できます。

内容は次のとおりです。

Oracle Internet Directory対応Label Securityの構成について

データベースの作成後、またはカスタム・データベースの作成中は、データベースをOracle Internet Directory対応Label Security用に構成できます。

Oracle Internet Directory対応のLabel Securityは、Enterprise User Security機能に依存します。

関連項目:

  • ディレクトリ使用のためにデータベースを構成する場合の前提条件および手順については、『Oracle Databaseエンタープライズ・ユーザー・セキュリティ管理者ガイド』を参照してください

  • Database Configuration Assistant (DBCA)の詳細は、『Oracle Databaseエンタープライズ・ユーザー・セキュリティ管理者ガイド』を参照してください。

OID対応Oracle Label Securityを構成するための権限の付与

Database Configuration Assistant(DBCA)を使用してOracle Internet Directory対応Oracle Label Securityを実行するユーザーには、追加の権限が必要です。

次の手順では、必要な権限と付与方法について説明します。

  1. Enterprise Managerを使用して、ユーザーをOracleDBCreatorsグループに追加します。

    管理グループへのユーザーの追加の詳細は、『Oracle Databaseエンタープライズ・ユーザー・セキュリティ管理者ガイド』を参照してください。

  2. ユーザーをProvisioning Adminsグループに追加します。

    この手順が必要なのは、DBCAによりOracle Label Security用のDIPプロビジョニング・プロファイルが作成されるためです。次の.ldifファイルとともにldapmodifyコマンドを使用し、ユーザーをProvisioning Adminsグループに追加します。

    dn: cn=Provisioning Admins,cn=changelog subscriber, cn=oracle internet directory
    changetype: modify
    add: uniquemember
    uniquemember: DN of the user who is to be added
    
  3. olsadmintoolコマンドライン・ツールを使用してユーザーをpolicyCreatorsグループに追加します。

    DBCAにより、Oracle Internet DirectoryからのOracle Label Securityポリシー情報を使用してデータベースがブートストラップされます。このブートストラップを実行できるのはpolicyCreatorsのみです。

  4. すでにDBCAを使用してデータベースがOracle Internet Directoryに登録されている場合は、Enterprise Managerを使用して、ユーザーをそのデータベースのOracleDBAdminsグループに追加します。

Oracle Internet Directory対応のOracle Label Security構成があるデータベースの登録を解除する管理者も、前述の権限を必要とすることに注意してください。

データベースの登録とOID対応Oracle Label Securityの構成

登録および構成プロセスでは、ディレクトリのOracleホームの構成、構成の実行、パスワードの設定およびデータの接続が必要です。

内容は次のとおりです。

手順1: ディレクトリを使用するためのOracleホームの構成

最初に、Oracle Internet Directoryを使用できるようにOracleホーム・ディレクトリを構成する必要があります。

  • ディレクトリ使用のためにOracleホームを構成する場合は、『Oracle Databaseエンタープライズ・ユーザー・セキュリティ管理者ガイド』の手順に従ってください。

手順2: Oracle Label Security用のOracle Internet Directoryの構成

次に、Oracle Label Security用のOracle Internet Directoryを構成する準備をします。

  1. DBCA(Database Configuration Assistant)を使用して、データベースをディレクトリに登録します。

    『Oracle Databaseエンタープライズ・ユーザー・セキュリティ管理者ガイド』 を参照してください。

  2. データベースをディレクトリに登録した後、Label Securityを構成します。

    1. DBCAを起動し、「データベース内のデータベース・オプションの構成」「次へ」の順に選択します。

    2. データベースを選択し、「次へ」をクリックします。

    3. データベースの登録を解除するかどうかを確認するオプションで、「いいえ、データベースの登録を保持します。」を選択します。

    4. データベースがOracle Internet Directoryに登録済の場合は、「データベース・オプション」画面で「Label Security」チェック・ボックスの横に「カスタマイズ」ボタンが表示されます。「Label Security」オプションを選択して「カスタマイズ」をクリックします。

    5. この「カスタマイズ」ダイアログには、スタンドアロンOracle Label Security用とOracle Internet Directory対応Oracle Label Security用に1つずつ、2つの構成オプションが表示されます。OID対応Label Security構成をクリックし、該当する管理者のOracle Internet Directory資格証明を入力します。「OK」をクリックします。

    6. 残りのDBCA手順を続行し、「終了」が表示された時点でクリックします。

      注意:

      Oracle Internet Directoryに登録済のデータベース上でスタンドアロンOracle Label Securityを構成できます。手順eでスタンドアロン・オプションを選択します。

Oracle Internet Directory対応Oracle Label Security用に構成する場合、DBCAでは、データベースの登録に加えて次のアクションが実行されます。

  1. Label Securityポリシーの変更をデータベースに伝播するためのプロビジョニング・プロファイルが作成されます。

  2. Oracle Internet Directory対応Oracle Label Securityのデータベース側に必要なパッケージがインストールされます。

  3. Oracle Internet Directory内の既存のLabel Securityポリシー情報をすべて使用して、データベースがブートストラップされます。

    関連項目:

    詳細は、「データベースのブートストラップ」を参照してください。

手順2の代替: OID対応Oracle Label Security用のデータベースの構成

DBCAを1回起動して、データベースの登録とOracle Label Securityの構成を実行できます。

  1. DBCAを起動します。
  2. 「データベース内のデータベース・オプションの構成」を選択して「次へ」をクリックします。
  3. データベースを選択し、「次へ」をクリックします。
  4. 「データベースを登録する」をクリックします。
  5. 該当する管理者のOracle Internet Directory資格証明と、作成されるデータベースWallet用の対応するパスワードを入力します。
  6. データベースのオプションの「カスタム・データベース名」を入力します。

    カスタム・データベース名を指定する機能は、Oracle Database 12cの新機能です。デフォルトで、ディレクトリ内のデータベースCN (DNの最初の部分または識別名)はDB_UNIQUE_NAMEです。これをカスタム値に変更できます。

  7. 「データベース・オプション」画面で、「Label Security」チェック・ボックスの横に「カスタマイズ」ボタンが表示されます。「Label Security」オプションを選択して「カスタマイズ」をクリックします。

    この「カスタマイズ」ダイアログ・ボックスが表示され、スタンドアロンOracle Label Security用とOracle Internet Directory対応Oracle Label Security用に1つずつ、2つの構成オプションが表示されます。

  8. OID対応Label Security構成をクリックします。
  9. 残りのDBCA手順を続行し、「終了」をクリックします。

手順3: DIPパスワードの設定とデータの接続

DIPユーザーはOracle Internet Directoryを管理します。

このユーザーのパスワードを構成したら、DIPプロビジョニング・プロファイル内のインタフェース接続情報を更新する必要があります。

  1. コマンドライン・ツールoidprovtoolを使用してDIPユーザーのパスワードを設定し、そのデータベース用のDIPプロビジョニング・プロファイル内のインタフェース接続情報を新規パスワードで更新します。
  2. 作成時に、DIPプロファイルはデフォルトで3600秒のスケジュール値を使用します。これは、Oracle Label Securityの変更が1時間ごとにデータベースに伝播されることを意味します。oidprovtoolを使用して、デプロイメントの考慮事項で要求されている場合にこの値を変更できます。

データベースがOracle Internet Directory対応Oracle Label Security用に構成された後、Enterprise User Securityに関する考慮事項がさらに適用される場合があります。

関連項目:

概念、ツール、手順およびプロシージャの詳細は、『Oracle Databaseエンタープライズ・ユーザー・セキュリティ管理者ガイド』を参照してください

OID対応Oracle Label Securityからのデータベースの登録解除

Oracle Internet Directory対応Oracle Label Securityからデータベースを録解除するために、DBCAを使用できます。

このプロセスでは、DBCAで次の処理が実行されます。

  1. Oracle Label Security用に作成されたデータベースのDIPプロビジョニング・プロファイルを削除します。

  2. スタンドアロンOracle Label Security用の必須パッケージをインストールします。これにより、登録解除後にOracle Internet Directory対応Oracle Label SecurityがスタンドアロンOracle Label Securityになります。

    注意:

    • データベースの登録解除に関する特殊指示は、『Oracle Databaseエンタープライズ・ユーザー・セキュリティ管理者ガイド』を参照してください。Oracle Internet Directory対応Oracle Label Securityの構成時には、特別な手順は不要です。

    • データベースにスタンドアロンOracle Label Securityがある場合は、Oracle Internet Directory対応Oracle Label Securityに変換できません。データベースからOracle Label Securityを削除した後に、再びDBCAを使用してOracle Internet Directory対応Oracle Label Securityを構成する必要があります。

データベースからのOracle Internet Directory対応Oracle Label Securityの削除

Oracle Internet Directory対応Oracle Label Securityをデータベースから削除できます。

  1. DBCAを使用してデータベースを登録解除します。
  2. 次のスクリプトを実行します。
    $ORACLE_HOME/rdbms/admin/catnools.sql

Oracle Label Securityプロファイル

ユーザー・プロファイルとは、ユーザーの認証と権限のセットです。

プロファイルは、ディレクトリに格納された各Oracle Label Securityポリシーの一部としてメンテナンスされます。プロファイルに追加されたユーザーには、そのポリシーに対してプロファイルに定義されている認可と権限が付与されます。これには次の属性が含まれます。

  • 5つのラベル認可

    • 最大読取りラベル

    • 最大書込みラベル

    • 最小書込みラベル

    • デフォルトの読取りラベル

    • デフォルトの行ラベル

  • 権限

  • これらの認可が適用されるエンタープライズ・ユーザーのリスト

エンタープライズ・ユーザーは、1つのプロファイルにのみ所属するか、またはどのプロファイルにも所属しません。

関連項目:

  • Oracle Internet Directory内のOracle Label Securityポリシー属性

  • エンタープライズ・ユーザーの作成および管理の詳細は、『Oracle Databaseエンタープライズ・ユーザー・セキュリティ管理者ガイド』を参照してください

  • Oracle Label Securityのプロファイルおよびポリシーの作成と管理の詳細は、Oracle Enterprise Managerのヘルプを参照してください。

Label Securityでディレクトリを使用する場合に統合される機能

Oracle Label SecurityとOracle Internet Directoryの統合により、いくつかの機能が使用可能になります。

  • ユーザー/管理者アクション

    • Oracle Internet Directoryへの複数のOracle Label Securityポリシーの格納

    • ディレクトリ内のOracle Label Securityポリシーおよびオプションの管理

      • ポリシーの作成または削除

      • ポリシー・オプションの変更

      • 監査設定の変更

    • 任意のOracle Label Securityポリシーのラベル・コンポーネントの作成

      • レベル、区分またはグループの作成または削除

      • レベル、区分またはグループへの数値の割当て

      • レベル、区分またはグループの詳細名の変更

      • 子グループの作成

    • 任意のOracle Label Securityポリシーのユーザーとして構成されたエンタープライズ・ユーザーの管理

      • ポリシー内のプロファイルへのエンタープライズ・ユーザーの割当てまたは削除

      • エンタープライズ・ユーザーへのポリシー固有の権限の割当てまたは削除

      • エンタープライズ・ユーザーに割当済のポリシー・ラベル認可の変更

    • Oracle Internet Directory内でOracle Label Securityポリシーを監視および管理する統合コマンドライン・ツール・セットを使用した、すべてのユーザー/管理者アクションおよび機能の管理

  • Oracle Label Securityの自動結果

    • データベースのポリシー使用を、ディレクトリ定義のポリシーのみに限定します(ローカル・ポリシーは定義または適用されません)。

    • Oracle Label Securityを使用して、ディレクトリ内のポリシーに対する変更をデータベースと同期化(エンタープライズ・ユーザーの再接続後に適用)します。

    • エンタープライズ・ユーザーがOracle Label Securityポリシー内で構成されている場合は、変更がOracle Directory Integration Platformにより伝播された後、エンタープライズ・ユーザーがOracle Label Securityを使用してデータベースにログオンする時点で、そのユーザーのOracle Label Security属性に即時にアクセスします。これらの属性には、ユーザーのラベル認可と権限が含まれています。

Oracle Internet Directory内のOracle Label Securityポリシー属性

Oracle Internet Directoryでは、Oracle関連のメタデータはcn=OracleContextの下に格納されます。

Label Security内では、各ポリシーに、図7-1に示す情報とパラメータが保持されます。

Oracle Label SecurityをOracle Internet Directoryと併用せずに使用した場合、ラベル付けファンクションによってデータ・ラベルの自動作成がサポートされます。Oracle Label SecurityをOracle Internet Directoryと併用した場合、このファンクションは、ディレクトリ内に既に定義されているデータ・ラベルを使用してラベルを作成できます。

表7-1 各ポリシーの内容

エントリのタイプ 内容 意味/使用例/参照先

ポリシー名

このポリシーの作成時に割り当てられた名前

olsadmintool createpolicyのようなolsadmintoolコマンドで使用します(「Oracle Internet Directoryを使用したLabel Security用コマンドライン・ツール」を参照)

列名

このポリシー関連のラベル値を保持する列の名前

データベースに列が追加されます。「ポリシーのラベル列とラベル・タグの動作」を参照してください

ラベル付きデータの挿入

HIDEポリシー列オプションの動作

Oracle Label Securityリファレンス

次のコマンドで使用します。

olsadmintool createpolicy

施行オプション

次のエントリの任意の組合せ

LABEL_DEFAULT、LABEL_UPDATE、CHECK_CONTROL、READ_CONTROL、WRITE_CONTROL、INSERT_CONTROL、DELETE_CONTROL、UPDATE_CONTROL、ALL_CONTROLまたはNO_CONTROL

「ポリシー施行オプションとラベル付けファンクションの実装」および「Oracle Label Securityリファレンス」の説明を参照してください。

次のコマンドで使用します。

olsadmintool createpolicy

およびolsadmintool alterpolicy

オプション

Enabled: TRUEまたはFALSE、Type: ACCESSまたはSESSION、Success: SUCCESSFUL、UNSUCCESSFULまたはBOTH

次のコマンドで使用します。

olsadmintool audit

レベル

各レベルの名前と番号

次のコマンドで使用します。olsadmintool create/alter/droplevel

区分

各区分の名前と番号

次のコマンドで使用します。olsadmintool create/alter/drop compartment

グループ

各グループの名前、番号および親

次のコマンドで使用します。olsadmintool create/alter/dropgroup

プロファイル

最大およびデフォルトの読取りラベル、最大および最小書込みラベル、デフォルトの行ラベル、ユーザー・リストおよびこのリストからの権限セット

READFULL

WRITEUPWRITEDOWN、WRITEACROSS、

PROFILE_ACCESS、またはCOMPACCESS

ポリシーには1つ以上のプロファイルを使用して、各プロファイルを多数のユーザーに割り当てることができます。プロファイルにより、ユーザーのラベル認可を個別に設定する必要性が減少します。

同じラベルおよび権限セットを持つユーザー全員が1つのプロファイルにグループ化されます。各プロファイルは、ラベル、権限およびユーザーのそれぞれのセットを表します。ポリシー内の各プロファイルは一意です。

データ・ラベル

有効な各データ・ラベルのフルネームと番号

「新規データ・ラベル作成の制限」を参照してください。

管理者

このポリシー内でパラメータの変更を認可されている各管理者の名前

ポリシー管理者は、ポリシー内のパラメータを変更できます。ポリシーまたはポリシー管理者を作成または削除する権利があるポリシー作成者を兼務する必要はありません。「セキュリティ・ロールと許可されるアクション」を参照してください。

Oracle Internet Directory対応Label Securityでのポリシーのサブスクリプション

Oracle Internet Directory対応Oracle Label Securityで、ポリシーをサブスクライブしてから適用する必要があります(SA_POLICY_ADMIN.APPLY_TABLE_POLICYまたはSA_POLICY_ADMIN.APPLY_SCHEMA_POLICYを使用)。

スタンドアロンOracle Label Securityインストールでは、SA_POLICY_ADMIN.APPLY_TABLE_POLICYまたはSA_POLICY_ADMIN.APPLY_SCHEMA_POLICYファンクションを直接使用できるため、サブスクライブする必要はありません。

新規データ・ラベル作成の制限

Oracle Label SecurityをOracle Internet Directoryと併用する場合は、データ・ラベルをディレクトリ内で事前定義する必要があります。

データ・ラベルは、ラベル付けファンクションで動的に作成できません。またLabel Securityがディレクトリと統合されていない場合もデータ・ラベルを作成できない可能性があります。

Oracle Internet DirectoryおよびOracle Label Securityに対する管理者の責任

ポリシーには、ポリシー固有の管理タスクの実行を認可されている管理者がリストされます。

  • 既存のポリシー・オプションと監査設定の変更

  • ポリシー監査の有効化または無効化

  • レベル、区分、グループまたは子グループの作成または削除

  • レベル、区分またはグループのフルネームまたは詳細名の変更

  • このポリシー内での次のエンタープライズ・ユーザー設定の定義または変更

    • 権限

    • 最大レベルまたは最小レベル

    • レベル、区分またはグループの読取り、書込みまたは行アクセス

    • ラベル・プロファイル

  • ポリシーからのエンタープライズ・ユーザーの削除

さらに上位の管理者をポリシー作成者と呼びます。ポリシー作成者は、Oracle Label Securityポリシーとそこに指定されているポリシー管理者を作成または削除できます。

データベースのブートストラップ

新規データベースをOracle Internet Directoryに登録した後、そのデータベースにOracle Internet Directory対応Oracle Label Securityをインストールできます。

このインストール・プロセスでは、Directory Integration Platform(DIP)プロビジョニング・プロファイルが自動的に作成され、それをデータベースにダウンロードすることでポリシー情報を定期的にリフレッシュできるようになります。「Oracle Directory Integration and Provisioning(DIP)プロビジョニング・プロファイル」を参照してください。

Oracle Internet Directory対応Oracle Label Security用にデータベースを構成すると、DBCAツールではOracle Internet Directory内のポリシー情報がすべてデータベースに送られます。

  • データベースをブートストラップするには、次のパラメータを使用して、$ORACLE_HOME/bin/olsoidsyncにあるブートストラップ・ユーティリティ・スクリプトを実行します。

    olsoidsync --dbconnectstring <"database connect string in host:port:sid format">
    --dbuser <database user> --dbuserpassword <database user password> [-c] [-r]
    [-b <admin context>] -h <OID host> [-p <port>] -D <bind DN> -w <bind password>
    

次に例を示します。

olsoidsync --dbconnectstring yippee:1521:ora101 --dbuser lbacsys
--dbuserpassword lbacsys -c
-b "ou=Americas,o=Oracle,c=US" -h yippee -D cn=policycreator -w Easy2rem

olsoidsyncコマンドは、Oracle Internet Directoryからポリシー情報をプルしてデータベースに移入します。データベースのTNS名、データベース・ユーザー名、データベース・ユーザーのパスワード、管理コンテキスト(存在する場合)、Oracle Internet Directoryホスト名、バインドDNとバインド・パスワードおよびOracle Internet Directoryポート番号(オプション)を指定する必要があります。

オプションの-cスイッチを指定すると、既存のポリシーがデータベースからすべて削除され、Oracle Internet Directoryからのポリシー情報でリフレッシュされます。

オプションの-rスイッチを指定すると、ポリシー・メタデータがすべて削除され(ポリシー自体は削除されず)、ポリシーがOracle Internet Directoryからの新規メタデータでリフレッシュされます。

この2つのスイッチを指定しなければ、Oracle Internet Directoryから新規ポリシーが作成されるのみで、リフレッシュ中にエラーが発生すると停止します。

データベースとOracle Internet Directoryの同期化

Oracle Label SecurityとともにOracle Internet Directoryをインストールして構成したら、データベースをOIDおよびOLSと同期化する必要があります。

内容は次のとおりです。

データベースとOracle Internet Directoryの同期化について

Directory Integration PlatformのOracle Directory Provisioning Serviceでは、OIDディレクトリ内のOracle Label Securityメタデータをデータベースと同期化します。

ディレクトリ内のLabel Securityデータに対する変更は、Provisioning Integration Serviceによりプロビジョニング・イベントの形式で伝えられます。ソフトウェア・エージェントはこれらのイベントを受信し、適切なSQLまたはPL/SQL文を生成してデータベースを更新します。これらの文の処理後に、Oracle Label Securityデータ・ディクショナリは更新され、ディレクトリ内で行われた変更と一致するようになります。

Oracle Label Securityは、インストール時にProvisioning Integration Serviceに自動的にサブスクライブされます。プロビジョニング・サービスは、各データベースに関連付けられた情報をプロビジョニング・プロファイルの形式で格納します。ソフトウェア・エージェントは、Oracle Internet Directory内の変更をデータベースと同期する際にOracle Label Securityに対して作成されるユーザーDIPのアイデンティティを使用して、データベースに接続します。

ユーザーDIPのパスワードに変更があった場合は、このパスワードをProvisioning Integration Serviceのプロビジョニング・プロファイル内で更新する必要があります。

Oracle Directory Integration and Provisioning(DIP)プロビジョニング・プロファイル

DIPサーバーは、各データベース用に個別に作成されたDIPプロビジョニング・プロファイルを使用して、ディレクトリ内のポリシー変更を接続先データベースと同期化します。

このプロファイルは、Oracle Internet Directory対応Oracle Label Securityのインストール・プロセスの一部として自動的に作成されます。管理者は、プロビジョニング・ツールoidprovtoolとスクリプト$ORACLE_HOME/bin/oidprovtoolを使用して、データベース・プロファイルのパスワードを変更できます。この種の各プロファイルには、次の情報が含まれています。

表7-2 DIPプロビジョニング・プロファイルの要素

要素 oidprovtool起動時のこの要素の名前

LDAPホスト名

ldap_host

LDAPポート番号

ldap_port

Oracle Internet Directoryにバインドしてポリシー情報を取得するためのユーザーDNとパスワード

ldap_user

ldap_user_password

データベースDN

application_dn

組織DN、つまり変更が実行される管理コンテキスト

organization_dn

起動するコールバック・ファンクションLBACSYS.OLS_DIP_NTFY

interface_name

データベース接続情報(データベースのホスト名、データベース接続に使用するポート番号、データベースSID、データベース・ユーザー名およびパスワード)

interface_connect_info

Oracle Internet Directoryのcn=LabelSecurityの下のイベント・サブスクリプション(すべてのMODIFYADDDELETEイベントなど)

operation

同期化の時間隔

schedule

ここでは、oidprovtoolの使用例に続いて、この例で使用しているパラメータについて説明します。

oidprovtool operation=modify ldap_host=yippee ldap_port=389
ldap_user=cn=defense_admin ldap_user_password=Easy2rem
application_dn="cn=db1,cn=OracleContext,ou=Americas,o=Oracle,c=US"
organization_dn="ou=Americas,o=Oracle,c=US" interface_name=LBACSYS.OLS_DIP_NTFY
interface_type=PLSQL interface_connect_info=yippee:1521:db1:dip:newdip schedule=60
event_subscription= "ENTRY:cn=LabelSecurity,cn=Products,cn=OracleContext,
ou=Americas,o=Oracle,c=US:ADD(*)" event_subscription=
"ENTRY:cn=LabelSecurity,cn=Products, cn=OracleContext,ou=Americas,
o=Oracle,c=US:MODIFY(*)" event_subscription="ENTRY:cn=LabelSecurity,cn=Products,
cn=OracleContext, ou=Americas,o=Oracle,c=US:DELETE"

このサンプルoidprovtoolコマンドでは、次の属性を持つ新規のDIPプロビジョニング・プロファイルが作成され、有効化されます。

  • ポート389を使用するホストyippeeのOracle Internet Directory

  • Oracle Internet DirectoryユーザーのバインドDN: cn=defense_admin、パスワードEasy2rem

  • データベースDN: cn=db1, cn=OracleContext, ou=Americas, o=Oracle, c=US

  • 組織DN (管理コンテキスト): ou=Americas, o=Oracle, c=US

  • ポート1521でリスニングしているホストyippeeのデータベース

  • Oracle SID: db1

  • データベース・ユーザー: 新規パスワードnewdipを持つdip

  • ディレクトリと接続先データベースとの同期間隔: 60秒

  • cn=LabelSecurityの下のADDMODIFYおよびDELETEイベントをすべてDIPに送信

DIPサーバーを起動するには、$ORACLE_HOME/bin/oidctlを使用します。次に例を示します。

oidctl server=odisrv connect=db2 config=0 instance=0 start

このコマンドでは、0に設定されたconfigおよびインスタンス番号0を使用してdb2 (Oracle Internet Directoryデータベース)に接続し、DIPサーバーを起動します。

関連項目:

DIPプロビジョニング・プロファイルの詳細は、Oracle Identity Management統合ガイドを参照

プロビジョニング・プロファイルの変更

oidprovtool modifyコマンドを使用すると、interface_connect_info接続文字列のパスワードが変更されます。

パスワードを変更する前に、一時的にプロファイルを無効化する必要があります。パスワードの変更後に、プロファイルを再び有効化します。
  1. oidprovtoolを使用して、プロファイルを無効化します。

    構文は次のとおりです。

    oidprovtool operation=disable ldap_host=host ldap_port=port ldap_user_dn=ldap_user_dn  ldap_user_password=password application_dn=app_dn  organization_dn=org_dn
    

    次に例を示します。

    oidprovtool operation=disable ldap_host=yippee ldap_port=389
    ldap_user=cn=defense_admin ldap_user_password=password 
    application_dn="cn=db1,cn=OracleContext,ou=Americas,o=Oracle,c=US"
    organization_dn="ou=Americas,o=Oracle,c=US"
  2. 次の構文を使用して、パスワードおよび接続情報を変更します。
    oidprovtool operation=modify  ldap_host=ldap_host ldap_port=port
    ldap_user_dn=ldap_user_dn  ldap_user_password=password application_dn=app_dn
    organization_dn=org_dn interface_connect_info=new_connect_info

    次に例を示します。

    oidprovtool operation=modify ldap_host=yippee ldap_port=389
    ldap_user=cn=defense_admin ldap_user_password=Easy2rem
    application_dn="cn=db1,cn=OracleContext,ou=Americas,o=Oracle,c=US" 
    organization_dn="ou=Americas,o=Oracle,c=US" 
    interface_connect_info=yippee:1521:db1:dip:NewestDIPpassword 
    
  3. 次の構文を使用して、プロファイルを再有効化します。
    oidprovtool operation=enable ldap_host=host ldap_port=port ldap_user_dn=ldap_user_dn ldap_user_password=password application_dn=app_dn organization_dn=org_dn
    
    

    次に例を示します

    oidprovtool operation=enable ldap_host=yippee ldap_port=389 
    ldap_user=cn=defense_admin ldap_user_password=password 
    application_dn="cn=db1,cn=OracleContext,ou=Americas,o=Oracle,c=US" 
    organization_dn="ou=Americas,o=Oracle,c=US"

プロビジョニング・プロファイルのデータベース接続情報の変更

DIPプロファイルでデータベース接続情報を変更できます。

  1. プロビジョニング・プロファイルを無効化します。

    プロビジョニング・プロファイルの無効化の詳細は、「プロビジョニング・プロファイルの変更」を参照してください。この手順により、ディレクトリからデータベースへのLabel Securityの変更の伝播が一時的に停止しますが、データは消失しません。プロファイルを有効化すると、プロファイルが無効化された後にディレクトリ内で発生したLabel Securityのすべての変更がデータベースと同期化されます。

  2. プロファイル内でデータベース接続情報を更新します。
  3. プロファイルを有効化します。

    「プロビジョニング・プロファイルの変更」を参照してください。

    注意:

    Oracle Internet Directory対応Oracle Label Securityが正常に動作するには、データベース・キャラクタ・セットとOracle Internet Directoryに互換性がある必要があります。その場合にのみ、Oracle Internet Directory内のLabel Securityメタデータをデータベースと正常に同期化できます。

    キャラクタ・セットとグローバリゼーション・サポート・パラメータの詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。

    関連項目:

Oracle Data GuardでのOID対応Oracle Label Securityの構成

Oracle Directory対応Oracle Label SecurityがOracle Data Guardで動作するように構成するには、まずプライマリ・データベースを構成してから、セカンダリ・データベースを構成します。

内容は次のとおりです。

手順1: Data Guardでのディレクトリ対応Oracle Label Securityの設定

Oracle Data Guardでディレクトリ対応Oracle Label Securityを設定する必要があります。

  1. データベース用にOracle Data Guardを構成します。

    Oracle Data Guardのインストールの詳細は、『Oracle Data Guard Broker』を参照してください。

  2. プライマリ・データベースのOracle Internet DirectoryにOracle Label Securityを登録します。

    詳細は、「データベースの登録とOID対応Oracle Label Securityの構成」を参照してください。

  3. ポリシーがプライマリ・データベースに伝播されたことを確認します。

    1. olsadmintoolユーティリティを使用するかOracle Enterprise Manager Cloud Controlで、Oracle Internet DirectoryにOracle Label Securityポリシーを作成します。

      olsadmintoolユーティリティの使用の詳細は、「Oracle Internet Directoryを使用したLabel Security用コマンドライン・ツール」を参照してください。

    2. ユーザーLBACSYSとしてプライマリ・データベースに接続します。

    3. DBA_SA_POLICIESデータ・ディクショナリ・ビューを問い合せて、ポリシーがプライマリ・データベースに伝播されたことを確認します。

      SELECT POLICY_NAME FROM DBA_SA_POLICIES;
      
  4. ユーザーLBACSYSとしてスタンバイ・データベースに接続し、REDOログ適用プロセスを通じてSELECT POLICY_NAME FROM DBA_SA_POLICIES;問合せを実行して、プライマリ・データベース上に伝播されたポリシーがスタンバイ・データベース上にあることを確認します。

  5. OLS-OID登録の完了後に、ewallet.p12sqlnet.oraおよびldap.oraファイルをプライマリ・データベースからスタンバイ・データベースにコピーします。

    この手順は、フェイルオーバーの発生時にプライマリ・データベースがアクセス可能でない場合に役立ちます。デフォルトでは、これらのファイルは次の場所にあります。

    • ウォレット・ファイルewallet.p12は、$ORACLE_BASE/admin/Oracle_SID/walletディレクトリまたは$ORACLE_HOME/admin/Oracle_SID/walletディレクトリにあります。

    • sqlnet.ora$ORACLE_HOME/dbsディレクトリにあります。(このファイルは、スタンバイ・データベースにコピーする前にバックアップします。)

    • ldap.ora$ORACLE_HOME/dbsディレクトリにあります。

  6. ewallet.p12ファイルをコピーしたディレクトリに移動します。

  7. 次の構文を使用して、PKCS#12ウォレット(ewallet.p12)に関連付けられたSSOウォレット・ファイル(cwallet.sso)を作成します。

    orapki wallet create -wallet wallet_location -auto_login [-pwd password]

手順2: スイッチオーバー後のOIDプロビジョニング・プロファイルの更新

スイッチオーバー操作が完了したら、Oracle Internet Directoryプロビジョニング・プロファイルを更新する必要があります。

この手順では、スイッチオーバーを実行し、「手順1: Data Guardでのディレクトリ対応Oracle Label Securityの設定」の手順56および7を完了した後で、Oracle Internet Directoryのプロビジョニング・プロファイルを新しいプライマリ・データベースの接続情報で更新する準備ができます。

次の手順を完了しない場合、ポリシーは新しいスタンバイ・データベースに伝播され続け、古いプライマリ・データベースは「ORA-16000 データベースは読取り専用アクセスでオープンされています。」エラーで失敗します。プロビジョニング・プロファイルを新しいプライマリ・データベース接続情報で更新した後で、ポリシーの伝播が新しいプライマリ・データベースで行われます。また、これらのポリシーはREDO適用プロセスを通じて新しいスタンバイに伝播されます。

  1. プライマリまたはスタンバイ・コンピュータで、新しいプライマリ・データベースに対して次のoidprovtoolユーティリティ・コマンドを実行します。
    oidprovtool operation=modify \
    ldap_host=OID_Server_hostname ldap_port=OID_Server_Port \
    ldap_user_dn="cn=orcladmin"  \ application_dn="LDAP_distinguised_name_of_application" \ 
    

    application_dn設定は、dn=dbname, cn=oraclecontext, default_admin_contextから導出できます。ldap.oraファイルには、default_admin_context設定がリストされます。

  2. プロンプトが表示されたら、LDAPユーザー・パスワードを入力します。
    Please enter the LDAP password: 
    
  3. プロンプトが表示されたら、インタフェース接続情報を次の形式で入力します。
    host:port:service_name:dip:password
    

    DIPは、Oracle Label SecurityとともにインストールされるOracle Directory Integration and Provisioning (DIP)のアカウントです。このアカウントは、Oracle Internet Directory対応Oracle Label Securityのインストール・プロセスの一部として自動的に作成されます。

    インタフェース接続情報がないことを指定するには、設定を省略し、[Return]を押します。

  4. プロビジョニング・プロファイルの完成後に、DIPサーバーを再起動します。

セキュリティ・ロールと許可されるアクション

Oracle Label Securityでは、ディレクトリ対応OLSポリシー作成者に対する制限など、Oracle Internet Directoryの特定のタスクおよびアクセス・レベルを許可します。

内容は次のとおりです。

Oracle Internet Directoryで許可されるタスクおよびアクセス・レベル

Oracle Internet DirectoryでOracle Label Securityのポリシーを管理するために、ディレクトリ内で特定のエンティティにアクセス制御の権利が付与されます。

アクセス制御メカニズムはOracle Internet Directoryにより提供されます。

表7-3に、これらのエンティティと各エンティティが実行できるタスクの概要を示します。

表7-3 特定のエンティティが実行できるタスク

エンティティ このエンティティが実行できるタスク

ポリシー作成者

新規ポリシーの作成(または既存のポリシーの削除)、新規ポリシー管理者の作成(または既存のポリシー管理者の削除)。

ポリシー管理者

ポリシーの場合: 既存のポリシー・オプションと監査設定の変更、ポリシー監査の有効化または無効化。

ラベル・コンポーネントの場合: フルネームまたは詳細名の変更、あるいは(グループの場合)子グループの作成または削除などによる、レベル、区分およびグループの作成、変更または削除。

エンタープライズ・ユーザーの場合: ポリシーからのエンタープライズ・ユーザーの削除、エンタープライズ・ユーザーの最大または最小レベル、読取り、書込みおよび行アクセス(区分またはグループの場合)、権限(ポリシーの場合)およびラベル・プロファイルの変更。

表7-4には、ポリシー作成者、ポリシー管理者およびLabel Securityユーザーについて、特定のアクセス・レベルで許可または禁止される操作を示します。

表7-4 OIDでユーザー別に許可されるアクセス・レベル

エントリ ポリシー作成者 ポリシー管理者 データベース

cn=Policies

変更可能

アクセスなし

アクセスなし

cn=Admins, cn=Policy1

変更可能

アクセスなし

アクセスなし

uniqueMember: cn=Policy1

参照可能

参照可能

変更可能

cn=PolicyCreators

アクセスなし脚注1

アクセスなし

アクセスなし

cn=Levels, cn=Policy1

参照および削除可能

変更可能

アクセスなし

cn=Compartments, cn=Policy1

参照および削除可能

変更可能

アクセスなし

cn=Groups, cn=Policy1

参照および削除可能

変更可能

アクセスなし

cn=AuditOptions,cn=Policy1

参照および削除可能

変更可能

アクセスなし

cn=Profiles,cn=Policy1

参照および削除可能

変更可能

アクセスなし

cn=Labels,cn=Policy1

参照および削除可能

変更可能

アクセスなし

cn=DBServers

アクセスなし脚注2

アクセスなし

アクセスなし

脚注1

グループcn=OracleContextAdminsはグループcn=PolicyCreatorsの所有者であるため、cn=OracleContextAdminsのメンバーはcn=PolicyCreatorsを変更できます。

脚注2

グループcn=OracleDBCreatorsはグループcn=DBServersの所有者であるため、cn=OracleDBCreatorsのメンバーはcn=DBServersを変更できます。

Oracle Internet Directory対応Oracle Label Securityのポリシー作成者の制限

ポリシー作成者グループのメンバーが実行できるのは、Oracle Label Securityのポリシーの作成、参照および削除のみです。

このユーザーは、そのポリシーのPolicy Adminsグループに明示的に追加されていても、ラベル・コンポーネントの作成やユーザーの追加のようなポリシー管理タスクを実行できません。つまり、ポリシー作成者をポリシーの管理者にすることはできません。

OLSでOIDが有効化されている場合に置き換えられるPL/SQL文

Oracle Label SecurityでOracle Internet Directoryが有効化されている場合、置き換えられるプロシージャがいくつかあります。

これらのプロシージャの実行が許可されるのはユーザーLBACSYSのみです。

この表に示す一部のプロシージャについては、その機能が2列目に示すolsadmintoolコマンドに置き換えられます(「Oracle Label Securityリファレンス」を参照)。

表7-5 Oracle Internet Directoryの使用時にolsadmintoolで置き換えられるプロシージャ

無効化されるプロシージャ 代替olsadmintoolコマンド

SA_SYSDBA.CREATE_POLICY

olsadmintool createpolicy

SA_SYSDBA.ALTER_POLICY

olsadmintool alterpolicy

SA_SYSDBA.DROP_POLICY

olsadmintool droppolicy

SA_COMPONENTS.CREATE_LEVEL

olsadmintool createlevel

SA_COMPONENTS.ALTER_LEVEL

olsadmintool alterlevel

SA_COMPONENTS.DROP_LEVEL

olsadmintool droplevel

SA_COMPONENTS.CREATE_COMPARTMENT

olsadmintool createcompartment

SA_COMPONENTS.ALTER_COMPARTMENT

olsadmintool altercompartment

SA_COMPONENTS.DROP_COMPARTMENT

olsadmintool dropcompartment

SA_COMPONENTS.CREATE_GROUP

olsadmintool creategroup

SA_COMPONENTS.ALTER_GROUP

olsadmintool altergroup

SA_COMPONENTS.ALTER_GROUP_PARENT

olsadmintool altergroup

SA_COMPONENTS.DROP_GROUP

olsadmintool dropgroup

SA_USER_ADMIN.SET_LEVELS

なし

SA_USER_ADMIN.SET_COMPARTMENTS

なし

SA_USER_ADMIN.SET_GROUPS

なし

SA_USER_ADMIN.ADD_COMPARTMENTS

なし

SA_USER_ADMIN.ALTER_COMPARTMENTS

なし

SA_USER_ADMIN.DROP_COMPARTMENTS

なし

SA_USER_ADMIN.DROP_ALL_COMPARTMENTS

なし

SA_USER_ADMIN.ADD_GROUPS

なし

SA_USER_ADMIN.ALTER_GROUPS

なし

SA_USER_ADMIN.DROP_GROUPS

なし

SA_USER_ADMIN.DROP_ALL_GROUPS

なし

SA_USER_ADMIN.SET_USER_LABELS

olsadmintool createprofile; olsadmintool adduser; olsadmintool dropprofile; olsadmintool dropuser;

SA_USER_ADMIN.SET_DEFAULT_LABEL

なし

SA_USER_ADMIN.SET_ROW_LABEL

なし

SA_USER_ADMIN.DROP_USER_ACCESS

olsadmintool dropuser

SA_USER_ADMIN.SET_USER_PRIVS

olsadmintool createprofile; olsadmintool adduser; olsadmintool dropprofile; olsadmintool dropuser;

SA_AUDIT_ADMIN.AUDIT

olsadmintool audit

SA_AUDIT_ADMIN.NOAUDIT

olsadmintool noaudit

SA_AUDIT_ADMIN.AUDIT_LABEL

なし

SA_AUDIT_ADMIN.NOAUDIT_LABEL

なし

ポリシー管理者用のOracle Label Securityプロシージャ

SA_POLICY_ADMIN PL/SQLパッケージのいくつかのプロシージャを実行できるのは、ポリシー管理者(Oracle Internet Directoryで定義済のエンタープライズ・ユーザー)のみです。

これらのプロシージャは次のとおりです。

  • SA_POLICY_ADMIN.APPLY_SCHEMA_POLICY

  • SA_POLICY_ADMIN.APPLY_TABLE_POLICY

  • SA_POLICY_ADMIN.DISABLE_SCHEMA_POLICY

  • SA_POLICY_ADMIN.DISABLE_TABLE_POLICY

  • SA_POLICY_ADMIN.ENABLE_SCHEMA_POLICY

  • SA_POLICY_ADMIN.ENABLE_TABLE_POLICY

  • SA_POLICY_ADMIN.GRANT_PROG_PRIVS

  • SA_POLICY_ADMIN.POLICY_SUBSCRIBE

  • SA_POLICY_ADMIN.POLICY_UNSUBSCRIBE

  • SA_POLICY_ADMIN.REMOVE_SCHEMA_POLICY

  • SA_POLICY_ADMIN.REMOVE_TABLE_POLICY

  • SA_POLICY_ADMIN.SET_PROG_PRIVS

  • SA_POLICY_ADMIN.REVOKE_PROG_PRIVS