Oracle Label Securityメタデータを一元的なLDAPリポジトリで管理するメリットは数多くあります。ポリシーおよびユーザー・ラベルの認可は企業内で容易にプロビジョニングおよび配布が可能です。また、従業員が退職した場合は、そのラベル認可を1箇所で取り消すと、変更結果が全社に自動的に伝播します。この章では、Oracle Label Securityと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-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 Internet Directory対応Label Security用に構成できます。Oracle Internet Directory対応のLabel Securityは、Entrerprise User 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構成があるデータベースの登録を解除する管理者も、前述の権限を必要とすることに注意してください。
この操作の主要タスクは次のとおりです。
関連項目: 『Oracle Databaseエンタープライズ・ユーザー・セキュリティ管理者ガイド』のディレクトリを使用するためのデータベースの構成 |
DBCA(Database Configuration Assistant)を使用して、データベースをディレクトリに登録します。
関連項目: 『Oracle Databaseエンタープライズ・ユーザー・セキュリティ管理者ガイド』のディレクトリへのデータベースの登録に関する説明 |
データベースをディレクトリに登録した後、Label Securityを構成します。
DBCAを起動し、「データベース内のデータベース・オプションの構成」→「次へ」の順に選択します。
データベースを選択し、「次へ」をクリックします。
データベースの登録を解除するかどうかを確認するオプションで、「いいえ、データベースの登録を保持します。」を選択します。
データベースがOracle Internet Directoryに登録済の場合は、「データベース・オプション」画面で「Label Security」チェック・ボックスの横に「カスタマイズ」ボタンが表示されます。「Label Security」オプションを選択して「カスタマイズ」をクリックします。
この「カスタマイズ」ダイアログには、スタンドアロンOracle Label Security用とOracle Internet Directory対応Oracle Label Security用に1つずつ、2つの構成オプションが表示されます。OID対応Label Security構成をクリックし、該当する管理者のOracle Internet Directory資格証明を入力します。「OK」をクリックします。
残りのDBCA手順を続行し、「終了」が表示された時点でクリックします。
注意: Oracle Internet Directoryに登録済のデータベース上でスタンドアロンOracle Label Securityを構成できます。手順eでスタンドアロン・オプションを選択します。 |
Oracle Internet Directory対応Oracle Label Security用に構成する場合、DBCAではデータベース登録に加えて次の操作も実行されます。
Label Securityポリシーの変更をデータベースに伝播するためのプロビジョニング・プロファイルが作成されます。このDirectory Integration Platform(DIP)プロビジョニング・プロファイルは、デフォルトで有効化されます。
Oracle Internet Directory対応Oracle Label Securityのデータベース側に必要なパッケージがインストールされます。
Oracle Internet Directory内の既存のLabel Securityポリシー情報をすべて使用して、データベースがブートストラップされます。
DBCAを1回起動して、データベースの登録とOracle Label Securityの構成を実行できます。
DBCAを起動します。
「データベース内のデータベース・オプションの構成」を選択して「次へ」をクリックします。
データベースを選択し、「次へ」をクリックします。
「データベースを登録する」をクリックします。
該当する管理者のOracle Internet Directory資格証明と、作成されるデータベースWallet用の対応するパスワードを入力します。
「データベース・オプション」画面で、「Label Security」チェック・ボックスの横に「カスタマイズ」ボタンが表示されます。「Label Security」オプションを選択して「カスタマイズ」をクリックします。
この「カスタマイズ」ダイアログ・ボックスが表示され、スタンドアロンOracle Label Security用とOracle Internet Directory対応Oracle Label Security用に1つずつ、2つの構成オプションが表示されます。
OID対応Label Security構成をクリックします。
残りのDBCA手順を続行し、「終了」をクリックします。
コマンドライン・ツールoidprovtool
を使用してDIPユーザーのパスワードを設定し、そのデータベース用のDIPプロビジョニング・プロファイル内のインタフェース接続情報を新規パスワードで更新します。
作成時に、DIPプロファイルはデフォルトで3600秒のスケジュール値を使用します。これは、Oracle Label Securityの変更が1時間ごとにデータベースに伝播されることを意味します。oidprovtool
を使用して、デプロイメントの考慮事項で要求されている場合にこの値を変更できます。
データベースがOracle Internet Directory対応Oracle Label Security用に構成された後、Enterprise User Securityに関する考慮事項がさらに適用される場合があります。
関連項目: 概念、ツール、手順およびプロシージャの詳細は、『Oracle Databaseエンタープライズ・ユーザー・セキュリティ管理者ガイド』を参照してください。 |
このタスクは、DBCAを使用して次の手順で実行します。
Oracle Label Security用に作成されたデータベースのDIPプロビジョニング・プロファイルを削除します。
スタンドアロン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を構成する必要があります。 |
データベースからOracle Internet Directory対応Oracle Label Securityを削除するには、最初にDBCAを使用してデータベースの登録を解除してから、次のスクリプトを実行します。
$ORACLE_HOME/rdbms/admin/catnools.sql
ユーザー・プロファイルとは、ユーザーの認証と権限のセットです。プロファイルは、ディレクトリに格納された各Oracle Label Securityポリシーの一部としてメンテナンスされます。
プロファイルに追加されたユーザーには、そのポリシーに対してプロファイルに定義されている認可と権限が付与されます。これには次の属性が含まれます。
5つのラベル認可
最大読取りラベル
最大書込みラベル
最小書込みラベル
デフォルトの読取りラベル
デフォルトの行ラベル
権限
これらの認可が適用されるエンタープライズ・ユーザーのリスト
関連項目:
|
エンタープライズ・ユーザーは、1つのプロファイルにのみ所属するか、またはどのプロファイルにも所属しません。
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関連のメタデータは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 各ポリシーの内容
エントリのタイプ | 内容 | 意味/使用例/参照先 |
---|---|---|
ポリシー名 |
このポリシーの作成時に割り当てられた名前 |
|
列名 |
このポリシー関連のラベル値を保持する列の名前 |
データベースに列が追加されます。関連項目: 「ポリシーのラベル列とラベル・タグ」 次のコマンドで使用します。
|
施行オプション |
次のエントリの任意の組合せ
|
第9章「ポリシー施行オプションとラベル付けファンクションの実装」および付録E「リファレンス」の説明を参照してください。 次のコマンドで使用します。
および |
オプション |
Enabled: |
次のコマンドで使用します。
|
レベル |
各レベルの名前と番号 |
次のコマンドで使用します。 |
区分 |
各区分の名前と番号 |
次のコマンドで使用します。 |
グループ |
各グループの名前、番号および親 |
次のコマンドで使用します。 |
プロファイル |
最大およびデフォルトの読取りラベル、最大および最小書込みラベル、デフォルトの行ラベル、ユーザー・リストおよびこのリストからの権限セット
|
ポリシーには1つ以上のプロファイルを使用して、各プロファイルを多数のユーザーに割り当てることができます。プロファイルにより、ユーザーのラベル認可を個別に設定する必要性が減少します。 同じラベルおよび権限セットを持つユーザー全員が1つのプロファイルにグループ化されます。各プロファイルは、ラベル、権限およびユーザーのそれぞれのセットを表します。ポリシー内の各プロファイルは一意です。 |
データ・ラベル |
有効な各データ・ラベルのフルネームと番号 |
「新規データ・ラベル作成の制限」を参照してください。 |
管理者 |
このポリシー内でパラメータの変更を認可されている各管理者の名前 |
ポリシー管理者は、ポリシー内のパラメータを変更できます。ポリシーまたはポリシー管理者を作成または削除する権利があるポリシー作成者を兼務する必要はありません。「セキュリティ・ロールと許可されるアクション」を参照してください。 |
Oracle Label SecurityをOracle Internet Directoryと併用する場合は、データ・ラベルをディレクトリ内で事前定義する必要があります。
データ・ラベルは、ラベル付けファンクションで動的に作成できません。また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> 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から新規ポリシーが作成されるのみで、リフレッシュ中にエラーが発生すると停止します。
この項の内容は次のとおりです。
Oracle Directory Integration and Provisioning(DIP)プロビジョニング・プロファイル
Oracle Data GuardでのOracle Directory対応Oracle Label Securityの構成
ディレクトリ内の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プロファイル内でデータベース接続情報を変更する手順は、次のとおりです。
プロビジョニング・プロファイルを無効化します。これにより、ディレクトリからデータベースへのLabel Securityの変更の伝播が一時的に停止しますが、データは消失しません。プロファイルを有効化すると、プロファイルが無効化された後にディレクトリ内で発生したLabel Securityのすべての変更がデータベースと同期化されます。
プロファイル内でデータベース接続情報を更新します。
プロファイルを有効化します。
注意: Oracle Internet Directory対応Oracle Label Securityが正常に動作するには、データベース・キャラクタ・セットとOracle Internet Directoryに互換性がある必要があります。その場合にのみ、Oracle Internet Directory内のLabel Securityメタデータをデータベースと正常に同期化できます。キャラクタ・セットおよびグローバリゼーション・サポート・パラメータの詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』の第2章と第3章を参照してください。 |
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、つまり変更が実行される管理コンテキスト |
|
起動するコールバック・ファンクションLBACSYS.OLS_DIP_NTFY |
|
データベース接続情報(データベースのホスト名、データベース接続に使用するポート番号、データベースSID、データベース・ユーザー名およびパスワード) |
|
Oracle Internet Directoryのcn=LabelSecurityの下のイベント・サブスクリプション(すべてのMODIFY、ADDおよびDELETEイベントなど) |
operation |
同期化の時間隔 |
|
ここでは、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管理者ガイド』を参照してください。 |
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"
この項では、プライマリ・データベースの設定方法について説明し、Oracle Internet Directory対応環境でOracle Label Securityのスタンバイ・データベースにスイッチオーバーした後で従う手順を示します。
データベース用にOracle Data Guardを構成します。
Oracle Data Guardのインストールの詳細は、『Oracle Data Guard Broker』を参照してください。
プライマリ・データベースのOracle Internet DirectoryにOracle Label Securityを登録します。
詳細は、データベースの登録とOracle Internet Directory対応Oracle Label Securityの構成を参照してください。
ポリシーがプライマリ・データベースに伝播されたことを確認します。
olsadmintool
ユーティリティを使用するかOracle Enterprise Manager Cloud Controlで、Oracle Internet DirectoryにOracle Label Securityポリシーを作成します。
olsadmintool
ユーティリティの使用の詳細は、付録B「Oracle Internet Directoryを使用したLabel Security用コマンドライン・ツール」を参照してください。
ユーザーLBACSYS
としてプライマリ・データベースに接続します。
DBA_SA_POLICIES
データ・ディクショナリ・ビューを問い合せて、ポリシーがプライマリ・データベースに伝播されたことを確認します。
SELECT POLICY_NAME FROM DBA_SA_POLICIES;
ユーザーLBACSYS
としてスタンバイ・データベースに接続し、REDOログ適用プロセスを通じてSELECT POLICY_NAME FROM DBA_SA_POLICIES;
問合せを実行して、プライマリ・データベース上に伝播されたポリシーがスタンバイ・データベース上にあることを確認します。
OLS-OID登録の完了後に、ewallet.p12
、sqlnet.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
ディレクトリにあります。
ewallet.p12
ファイルをコピーしたディレクトリに移動します。
次の構文を使用して、PKCS#12ウォレット(ewallet.p12
)に関連付けられたSSOウォレット・ファイル(cwallet.sso
)を作成します。
orapki wallet create -wallet wallet_location -auto_login [-pwd password]
この手順では、スイッチオーバーを実行し、「手順1: Data Guardでのディレクトリ対応Oracle Label Securityの設定」の手順5、6および7を完了した後で、Oracle Internet Directoryのプロビジョニング・プロファイルを新しいプライマリ・データベースの接続情報で更新する準備ができます。次の手順を完了しない場合、ポリシーは新しいスタンバイ・データベースに伝播され続け、古いプライマリ・データベースは「ORA-16000 データベースは読取り専用アクセスでオープンされています。」
エラーで失敗します。プロビジョニング・プロファイルを新しいプライマリ・データベース接続情報で更新した後で、ポリシーの伝播が新しいプライマリ・データベースで行われます。また、これらのポリシーはREDO適用プロセスを通じて新しいスタンバイに伝播されます。
プライマリまたはスタンバイ・コンピュータで、新しいプライマリ・データベースに対して次の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
設定がリストされます。
プロンプトが表示されたら、LDAPユーザー・パスワードを入力します。
Please enter the LDAP password:
プロンプトが表示されたら、インタフェース接続情報を次の形式で入力します。
host:port:service_name:dip:password
DIP
は、Oracle Label SecurityとともにインストールされるOracle Directory Integration and Provisioning (DIP)のアカウントです。このアカウントは、Oracle Internet Directory対応Oracle Label Securityのインストール・プロセスの一部として自動的に作成されます。
インタフェース接続情報がないことを指定するには、設定を省略し、[Return]を押します。
プロビジョニング・プロファイルの完成後に、DIP
サーバーを再起動します。
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を変更できます。
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 |
|
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 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