ヘッダーをスキップ
Oracle® Label Security管理者ガイド
11gリリース2 (11.2)
E92085-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

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

Oracle Label Securityメタデータを一元的なLDAPリポジトリで管理するメリットは数多くあります。ポリシーおよびユーザー・ラベルの認可は企業内で容易にプロビジョニングおよび配布が可能です。また、従業員が退職した場合は、そのラベル認可を1箇所で取り消すと、変更結果が全社に自動的に伝播します。この章では、Oracle Label SecurityとOracle Internet Directoryの統合について説明します。この章の内容は、次のとおりです。

6.1 Oracle Internet Directoryでのラベル管理の概要

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

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

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

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

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

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

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

データベース固有のメタデータは、ディレクトリに格納されません。次に例を示します。

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

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

次の3つの「注意」は、Oracle Label SecurityのインストールをOracle Internet Directoryと統合する場合の重要な側面を示しています。


注意:

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


注意:

Oracle Label Securityポリシーをディレクトリ内で直接管理するには、新しいコマンドライン・ツールであるOracle Label Security管理ツール(olsadmintool)を使用します。詳細は、付録B「Oracle Internet Directoryを使用したLabel Security用コマンドライン・ツール」を参照してください。

このリリースから、Oracle Label Securityの管理に、Oracle Enterprise Manager Database Controlで提供されるグラフィカル・ユーザー・インタフェースも使用できるようになりました。詳細は、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 Internet Directory管理者ガイド』を参照してください。

図6-1「Oracle Internet DirectoryのOracle Label Securityメタデータ記憶域」に、Oracle Internet Directoryのメタデータ記憶域の構造を示します。

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

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

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

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

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

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

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

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

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


関連項目:

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

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


6.2 Oracle Internet Directory対応Label Securityの構成

データベースの作成後、またはカスタム・データベースの作成中は、いつでもデータベースをOracle Internet Directory対応Label Security用に構成できます。Oracle Internet Directory対応のLabel Securityは、Entrerprise User Security機能に依存します。


関連項目:

  • ディレクトリを使用するためのデータベースの構成の前提条件および手順は、『Oracle Databaseエンタープライズ・ユーザー・セキュリティ管理者ガイド』の「エンタープライズ・ユーザー・セキュリティの構成タスクとトラブルシューティング」を参照。

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


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

Database Configuration Assistant(DBCA)を使用してOracle Internet Directory対応のOracle Label Securityを実行するユーザーには、追加の権限が必要です。次の手順では、必要な権限と付与方法について説明します。

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


    関連項目:

    管理グループへのユーザーの追加の詳細は、『Oracle Databaseエンタープライズ・ユーザー・セキュリティ管理者ガイド』のアイデンティティ管理レルム管理者の管理を参照

  • ユーザーを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
    
  • olsadmintoolコマンドライン・ツールを使用してユーザーをpolicyCreatorsグループに追加します。DBCAにより、Oracle Internet DirectoryからのOracle Label Securityポリシー情報を使用してデータベースがブートストラップされます。このブートストラップを実行できるのはpolicyCreatorsのみです。

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

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

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

この操作の主要タスクは次のとおりです。

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


関連項目:

『Oracle Databaseエンタープライズ・ユーザー・セキュリティ管理者ガイド』のディレクトリを使用するためのデータベースの構成

6.2.2.2 タスク2: OID対応Oracle Label Security用のデータベースの構成

  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ポリシーの変更をデータベースに伝播するためのプロビジョニング・プロファイルが作成されます。このDirectory Integration Platform(DIP)プロビジョニング・プロファイルは、デフォルトで有効化されます。

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

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


    関連項目:

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

6.2.2.3 タスク2: OID対応OLS用のデータベースの構成の代替方式

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

  1. DBCAを起動します。

  2. 「データベース内のデータベース・オプションの構成」を選択して「次へ」をクリックします。

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

  4. 「データベースを登録する」をクリックします。

  5. 該当する管理者のOracle Internet Directory資格証明と、作成されるデータベースWallet用の対応するパスワードを入力します。

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

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

  7. OID対応Label Security構成をクリックします。

  8. 残りのDBCA手順を続行し、「終了」をクリックします。

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

  1. コマンドライン・ツールoidprovtoolを使用してDIPユーザーのパスワードを設定し、そのデータベース用のDIPプロビジョニング・プロファイル内のインタフェース接続情報を新規パスワードで更新します。

  2. 作成時に、DIPプロファイルはデフォルトで3600秒のスケジュール値を使用します。これは、Oracle Label Securityの変更が1時間ごとにデータベースに伝播されることを意味します。oidprovtoolを使用して、デプロイメントの考慮事項で要求されている場合にこの値を変更できます。

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


関連項目:

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

6.2.3 Oracle Internet Directory対応OLSでのデータベースの登録解除

このタスクは、DBCAを使用して次の手順で実行します。

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

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


    注意:

    DBの登録解除に関する特殊指示は、『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を構成する必要があります。

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

データベースからOracle Internet Directory対応Oracle Label Securityを削除するには、最初にDBCAを使用してデータベースの登録を解除してから、次のスクリプトを実行します。

$ORACLE_HOME/rdbms/admin/catnools.sql

6.4 Oracle Label Securityプロファイル

ユーザー・プロファイルとは、ユーザーの認証と権限のセットです。プロファイルは、ディレクトリに格納された各Oracle Label Securityポリシーの一部としてメンテナンスされます。

プロファイルに追加されたユーザーには、そのポリシーに対してプロファイルに定義されている認可と権限が付与されます。これには次の属性が含まれます。

  • 5つのラベル認可

    • 最大読取りラベル

    • 最大書込みラベル

    • 最小書込みラベル

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

    • デフォルトの行ラベル

  • 権限

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


    関連項目:

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

    • エンタープライズ・ユーザーの作成と管理の詳細は、『Oracle Databaseエンタープライズ・ユーザー・セキュリティ管理者ガイド』のエンタープライズ・ユーザー・セキュリティ・スタート・ガイドに関する項を参照してください。

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


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

6.5 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属性に即時にアクセスします。これらの属性には、ユーザーのラベル認可と権限が含まれています。

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

Oracle Internet Directoryでは、Oracle関連のメタデータはcn=OracleContextの下に格納されます。Label Security内では、各ポリシーに、図6-1「Oracle Internet DirectoryのOracle Label Securityメタデータ記憶域」に示す情報とパラメータが保持されます。

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

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

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

ポリシー名

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

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

列名

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

データベースに列が追加されます。関連項目: 「ポリシーのラベル列とラベル・タグ」

「ラベル付きデータの挿入」

「HIDEポリシー列オプション」

付録E「リファレンス」

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

olsadmintool createpolicy

施行オプション

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

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

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

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

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つのプロファイルにグループ化されます。各プロファイルは、ラベル、権限およびユーザーのそれぞれのセットを表します。ポリシー内の各プロファイルは一意です。

データ・ラベル

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

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

管理者

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

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


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

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

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

6.8 2つの管理者タイプ

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

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

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

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

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

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

    • 権限

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

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

    • ラベル・プロファイル

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

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

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

新規データベースを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>

For example, 
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から新規ポリシーが作成されるのみで、リフレッシュ中にエラーが発生すると停止します。

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

この項の内容は次のとおりです。

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

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

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

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

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

DIPプロファイル内でデータベース接続情報を変更する手順は、次のとおりです。

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

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

  3. プロファイルを有効化します。


    注意:

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

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



    関連項目:


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

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

表6-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の下のイベント・サブスクリプション(すべてのMODIFY、ADDおよびDELETEイベントなど)

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の下のADD、MODIFYおよびDELETEイベントをすべてDIPに送信

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

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

このコマンドでは、コンフィグセット0およびインスタンス番号0を使用してdb2(Oracle Internet Directoryデータベース)に接続し、DIPサーバーを起動します。


関連項目:

DIPプロビジョニング・プロファイルの詳細は、『Oracle Internet Directory管理者ガイド』を参照してください。

6.10.3 プロビジョニング・プロファイルの無効化、変更および有効化

oidprovtool modifyコマンドを使用すると、データベース・パスワードであるinterface_connect_infoのパスワードを変更できますが、最初にプロファイルを無効化する必要があります。パスワードの変更後に、プロファイルを再び有効化します。

oidprovtoolを使用し、無効化操作と次に示す最初の6つのオリジナル・パラメータを指定すると、Oracle Label Securityのプロビジョニング・プロファイルを無効化できます(他のオリジナル・パラメータは不要です)。(他のオリジナル・パラメータは不要です。)コマンドの書式は次のとおりです。

oidprovtool operation=disable ldap_host=< > ldap_port=< > ldap_user_dn=< >  
   ldap_user_password=< > application_dn=< >  organization_dn=< >

前項の例に示したパラメータを使用すると、このコマンドは次のようになります。

oidprovtool operation=disable 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"

接続情報のうちパスワードを変更するには、oidprovtoolコマンドを使用して、modify操作、最初の6つのオリジナル・パラメータおよび接続情報に指定されている新規のDIPuserパスワードを指定します。コマンドの書式は次のとおりです。

oidprovtool operation=modify  ldap_host=< > ldap_port=< >
ldap_user_dn=< >  ldap_user_password=< > application_dn=< >
organization_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 

同様に、次のようにoidprovtoolを使用してDirectory Integration Platformプロビジョニング・プロファイルを再び有効にできます。この場合も、目的の操作と最初の6つのオリジナル・パラメータを指定します。(他のオリジナル・パラメータは不要です。)コマンドの書式は次のとおりです。

oidprovtool operation=enable  ldap_host=< > ldap_port=< >  ldap_user_dn=< >  
ldap_user_password=< > application_dn=< >   organization_dn=< >

再び前項の例に示したパラメータを使用すると、このコマンドは次のようになります。

oidprovtool operation=enable 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"

6.10.4 Oracle Data GuardでのOracle Directory対応Oracle Label Securityの構成

この項の内容は次のとおりです。

6.10.4.1 Oracle Internet DirectoryでのOracle Label Securityフェイルオーバーの登録について

この項では、プライマリ・データベースの設定方法について説明し、Oracle Internet Directory対応環境でOracle Label Securityのスタンバイ・データベースにスイッチオーバーした後で従う手順を示します。

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

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

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

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

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

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

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

      olsadmintoolユーティリティの使用の詳細は、付録B「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/network/adminディレクトリにあります。(このファイルは、スタンバイ・データベースにコピーする前にバックアップします。)

    • ldap.oraは、$ORACLE_HOME/network/adminディレクトリにあります。

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

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

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

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

この手順では、スイッチオーバーを実行し、「手順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サーバーを再起動します。

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

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

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

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

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

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

ポリシー作成者

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

ポリシー管理者

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

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

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


表6-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を変更できます。

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

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

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

6.12 置き換えられるPL/SQL文

Oracle Label SecurityでOracle Internet Directoryが有効化されている場合は、次の表に示すプロシージャが置き換えられます。これらのプロシージャの実行が許可されるのはLBACSYSのみです。

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

表6-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

なし


6.13 ポリシー管理者専用プロシージャ

次のプロシージャを実行できるのは、ポリシー管理者(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