7 Oracle Label SecurityとOracle Internet Directoryとの併用
Oracle Label Securityは、Oracle Internet Directoryと併用できます。
- Oracle Internet Directoryでのラベル管理について
Oracle Label Securityメタデータを一元的なLDAPリポジトリで管理するメリットは数多くあります。 - Oracle Internet Directory対応Label Securityの構成
Oracle Internet Directory対応Oracle Label Securityを構成できます。 - Oracle Label Securityプロファイル
ユーザー・プロファイルとは、ユーザーの認可と権限のセットです。 - Label Securityでディレクトリを使用する場合に統合される機能
Oracle Label SecurityとOracle Internet Directoryの統合により、いくつかの機能が使用可能になります。 - Oracle Internet Directory内のOracle Label Securityポリシー属性
Oracle Internet Directoryでは、Oracle関連のメタデータはcn=OracleContext
の下に格納されます。 - Oracle Internet Directory対応Oracle Label Securityでのポリシーのサブスクライブ
Oracle Internet Directory対応Oracle Label Securityで、ポリシーをサブスクライブしてから適用する必要があります(SA_POLICY_ADMIN.APPLY_TABLE_POLICY
またはSA_POLICY_ADMIN.APPLY_SCHEMA_POLICY
を使用)。 - 新規データ・ラベル作成の制限
Oracle Label SecurityをOracle Internet Directoryと併用する場合は、データ・ラベルをディレクトリ内で事前定義する必要があります。 - Oracle Internet DirectoryおよびOracle Label Securityに対する管理者の責任
ポリシーには、次に示すポリシー固有の管理タスクの実行を認可されている管理者がリストされます。 - データベースのブートストラップ
新規データベースをOracle Internet Directoryに登録した後、そのデータベースにOracle Internet Directory対応Oracle Label Securityをインストールできます。 - データベースとOracle Internet Directoryの同期化
Oracle Internet DirectoryとOracle Label Securityをインストールして構成した後、データベースをOIDおよびOLSと同期化する必要があります。 - セキュリティ・ロールと許可されるアクション
Oracle Label Securityは、Oracle Internet Directoryに固有のタスクおよびアクセス・レベルを許可します(Oracle Internet Directory対応OLSポリシー作成者に対する制限も含む)。 - OLSでOIDが有効になっている場合に置き換えられるPL/SQL文
Oracle Label SecurityでOracle Internet Directoryが有効になっている場合、いくつかのプロシージャが置き換えられます。 - ポリシー管理者用のOracle Label Securityプロシージャ
SA_POLICY_ADMIN
PL/SQLパッケージ内のいくつかのプロシージャは、ポリシー管理者(Oracle Internet Directoryで定義済のエンタープライズ・ユーザー)のみが実行を許可されます。
親トピック: Oracle Label Securityの機能の使用
7.1 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 Label Securityのポリシーは、Oracle Label Security管理ツール(olsadmintool
)を使用してディレクトリ内で直接管理できます。
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を使用してデータベース内のポリシー情報と同期化されます。
図7-1に、Oracle Internet Directoryのメタデータ・ストレージの構造を示します。
図7-1 Oracle Internet DirectoryのOracle Label Securityメタデータ記憶域
「図7-1 Oracle Internet DirectoryのOracle Label Securityメタデータ記憶域」の説明
図7-2に、様々なエンタープライズ・ユーザーがアクセスするデータベースに対して、Oracle Internet Directoryに格納されている異なるポリシーを適用する状況を示します。ユーザーおよびアクセスされるデータベースに対応するディレクトリ・エントリによって、適用されるポリシーが決まります。
図7-2 Oracle Internet Directoryを介して適用されるOracle Label Securityのポリシー
「図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に示すように、様々なデータベースとディレクトリの間の接続が、Transport Layer Security (TLS) (図ではSSLとしてリストされている)またはSASLの上に確立されます。データベースは、パスワードベース認証を使用し、既知の識別情報として常にディレクトリにバインドします。データベースとそのクライアント(SQL*Plusセッション、任意のPL/SQLプログラムなど)の間のリンクには、TLS接続または非TLS接続のどちらかを使用できます。図7-2の例では、ユーザーがパスワード認証を通じてログオンしていることを想定します。どの接続タイプを選択するかは、エンタープライズ・ユーザー・モデルによって異なります。
Oracle Label Securityのポリシー管理ツールは、Oracle Internet Directory内のメタデータに対して直接動作します。ディレクトリ内の変更は、特定の間隔でデータベースに変更を送信するよう構成されているOracle Directory Integration and Provisioningサーバーに伝播します。
データベースは、表またはスキーマにポリシーが適用されている場合にのみ、Oracle Internet Directory内でポリシー情報を更新します。この更新により、使用中のポリシーがディレクトリから削除されないことが保証されます。
関連項目:
エンタープライズ・ドメイン、ユーザー・モデルおよび認証アクティビティの詳細は、『Oracle Databaseエンタープライズ・ユーザー・セキュリティ管理者ガイド』を参照してください
7.2 Oracle Internet Directory対応Label Securityの構成
Oracle Internet Directory対応Oracle Label Securityを構成できます。
- Oracle Internet Directory対応Label Securityの構成について
データベースの作成後、またはカスタム・データベースの作成中は、データベースをOracle Internet Directory対応Label Security用に構成できます。 - OID対応Oracle Label Securityを構成するための権限の付与
Database Configuration Assistant(DBCA)を使用してOracle Internet Directory対応Oracle Label Securityを実行するユーザーには、追加の権限が必要です。 - データベースの登録とOID対応Oracle Label Securityの構成
登録および構成プロセスでは、ディレクトリ用のOracleホームの構成、構成の実行、パスワードの設定とデータの接続を行います。 - OID対応Oracle Label Securityへのデータベース登録の解除
Oracle Internet Directory対応Oracle Label Securityへのデータベース登録を解除するには、DBCAを使用できます。
7.2.1 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エンタープライズ・ユーザー・セキュリティ管理者ガイド』を参照してください。
7.2.2 OID対応Oracle Label Securityを構成するための権限の付与
Database Configuration Assistant(DBCA)を使用してOracle Internet Directory対応のOracle Label Securityを実行するユーザーには、追加の権限が必要です。
次のステップでは、必要な権限と付与方法について説明します。
Oracle Internet Directory対応のOracle Label Security構成があるデータベースの登録を解除する管理者も、前述の権限を必要とすることに注意してください。
7.2.3 データベースの登録とOID対応Oracle Label Securityの構成
登録および構成プロセスでは、ディレクトリ用のOracleホームの構成、構成の実行、パスワードの設定、およびデータの接続を行います。
- ステップ1: ディレクトリを使用するためのOracleホームの構成
まず、Oracle Internet Directoryを使用できるようにOracleホーム・ディレクトリを構成する必要があります。 - ステップ2: Oracle Label Security用のOracle Internet Directoryの構成
次に、Oracle Label Securityに対してOracle Internet Directoryを構成します。 - ステップ2の代替: OID対応Oracle Label Security用のデータベースの構成
DBCAを1回起動して、データベースの登録とOracle Label Securityの構成を実行できます。 - ステップ3: DIPパスワードの設定とデータの接続
DIP
ユーザーはOracle Internet Directoryを管理します。
7.2.3.1 ステップ1: ディレクトリを使用するためのOracleホームの構成
まず、Oracle Internet Directoryを使用できるようにOracleホーム・ディレクトリを構成する必要があります。
-
ディレクトリを使用できるようにOracleホームを構成するには、『Oracle Databaseエンタープライズ・ユーザー・セキュリティ管理者ガイド』に記載された手順に従ってください。
7.2.3.2 ステップ2: Oracle Label Security用のOracle Internet Directoryの構成
次に、Oracle Label Securityに対してOracle Internet Directoryを構成します。
-
Database Configuration Assistant (DBCA)を使用して、データベースをディレクトリに登録します。
『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ポリシーの変更をデータベースに伝播するためのプロビジョニング・プロファイルが作成されます。
-
Oracle Internet Directory対応Oracle Label Securityのデータベース側に必要なパッケージがインストールされます。
-
Oracle Internet Directory内の既存のLabel Securityポリシー情報をすべて使用して、データベースがブートストラップされます。
7.2.3.3 ステップ2の代替: OID対応Oracle Label Security用のデータベースの構成
DBCAを1回起動して、データベースの登録とOracle Label Securityの構成を実行できます。
7.2.3.4 ステップ3: DIPパスワードの設定とデータの接続
DIP
ユーザーはOracle Internet Directoryを管理します。
このユーザーのパスワードを構成した後、DIP
プロビジョニング・プロファイル内のインタフェース接続情報を更新する必要があります。
- コマンドライン・ツール
oidprovtool
を使用してDIP
ユーザーのパスワードを設定し、そのデータベース用のDIP
プロビジョニング・プロファイル内のインタフェース接続情報を新規パスワードで更新します。 - 作成時に、
DIP
プロファイルはデフォルトで3600秒のスケジュール値を使用します。これは、Oracle Label Securityの変更が1時間ごとにデータベースに伝播されることを意味します。oidprovtool
を使用して、デプロイメントの考慮事項で要求されている場合にこの値を変更できます。
データベースがOracle Internet Directory対応Oracle Label Security用に構成された後、Enterprise User Securityに関する考慮事項がさらに適用される場合があります。
関連項目:
-
Oracle Directory Integration and Provisioning(DIP)プロビジョニング・プロファイル
-
概念、ツール、ステップおよびプロシージャの詳細は、『Oracle Databaseエンタープライズ・ユーザー・セキュリティ管理者ガイド』を参照してください
7.2.4 OID対応Oracle Label Securityへのデータベース登録の解除
Oracle Internet Directory対応Oracle Label Securityへのデータベース登録を解除するには、DBCAを使用できます。
DBCAはこのプロセスで次の処理を実行します。
-
Oracle Label Security用に作成されたデータベースの
DIP
プロビジョニング・プロファイルを削除します。 -
スタンドアロン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を構成する必要があります。
-
7.3 Oracle Label Securityプロファイル
ユーザー・プロファイルとは、ユーザーの認証と権限のセットです。
プロファイルは、ディレクトリに格納された各Oracle Label Securityポリシーの一部としてメンテナンスされます。プロファイルに追加されたユーザーには、その特定のポリシーに対してプロファイルで定義されている認可および権限が付与されます。これには次の属性が含まれます。
-
5つのラベル認可:
-
最大読取りラベル
-
最大書込みラベル
-
最小書込みラベル
-
デフォルトの読取りラベル
-
デフォルトの行ラベル
-
-
権限
-
これらの認可が適用されるエンタープライズ・ユーザーのリスト
エンタープライズ・ユーザーは、1つのプロファイルにのみ所属するか、またはどのプロファイルにも所属しません。
関連項目:
-
エンタープライズ・ユーザーの作成および管理の詳細は、『Oracle Databaseエンタープライズ・ユーザー・セキュリティ管理者ガイド』を参照してください
-
Oracle Label Securityのプロファイルおよびポリシーの作成と管理の詳細は、Oracle Enterprise Managerのヘルプを参照してください。
7.4 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属性に即時にアクセスします。これらの属性には、ユーザーのラベル認可と権限が含まれています。
-
7.5 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 各ポリシーの内容
エントリのタイプ | 目次 | 意味/使用例/参照先 |
---|---|---|
Policy Name |
このポリシーの作成時に割り当てられた名前 |
|
列名 |
このポリシー関連のラベル値を保持する列の名前 |
データベースに列が追加されます。「ポリシーのラベル列とラベル・タグの動作」を参照してください Oracle Label Securityの表およびビュー。 使用場所
|
強制オプション |
次のエントリの任意の組合せ
|
「ポリシー強制オプションとラベル付けファンクションの実装」および「Oracle Label Securityの表およびビュー」の説明を参照してください。 使用場所
および |
オプション |
Enabled: |
使用場所
|
レベル |
各レベルの名前と番号 |
次のコマンドで使用します。 |
区分 |
各区分の名前と番号 |
次のコマンドで使用します。 |
グループ |
各グループの名前、番号および親 |
次のコマンドで使用します。 |
プロファイル |
最大およびデフォルトの読取りラベル、最大および最小書込みラベル、デフォルトの行ラベル、ユーザー・リストおよびこのリストからの権限セット
|
ポリシーには1つ以上のプロファイルを使用して、各プロファイルを多数のユーザーに割り当てることができます。プロファイルにより、ユーザーのラベル認可を個別に設定する必要性が減少します。 同じラベルおよび権限セットを持つユーザー全員が1つのプロファイルにグループ化されます。各プロファイルは、ラベル、権限およびユーザーのそれぞれのセットを表します。ポリシー内の各プロファイルは一意です。 |
データ・ラベル |
有効な各データ・ラベルのフルネームと番号 |
「新規データ・ラベル作成の制限」を参照してください。 |
管理者 |
このポリシー内でパラメータの変更を認可されている各管理者の名前 |
ポリシー管理者は、ポリシー内のパラメータを変更できます。ポリシーまたはポリシー管理者を作成または削除する権利があるポリシー作成者を兼務する必要はありません。「セキュリティ・ロールと許可されるアクション」を参照してください。 |
7.6 Oracle Internet Directory対応Oracle 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
ファンクションを直接使用できるため、サブスクライブする必要はありません。
7.7 新規データ・ラベル作成の制限
Oracle Label SecurityをOracle Internet Directoryと併用する場合は、データ・ラベルをディレクトリ内で事前定義する必要があります。
データ・ラベルは、ラベル付けファンクションで動的に作成できません。またLabel Securityがディレクトリと統合されていない場合もデータ・ラベルを作成できない可能性があります。
7.8 Oracle Internet DirectoryおよびOracle Label Securityに対する管理者の責任
ポリシーには、次に示すポリシー固有の管理タスクの実行を認可されている管理者がリストされます。
-
既存のポリシー・オプションと監査設定の変更
-
ポリシー監査の有効化または無効化
-
レベル、区分、グループまたは子グループの作成または削除
-
レベル、区分またはグループのフルネームまたは詳細名の変更
-
このポリシー内での次のエンタープライズ・ユーザー設定の定義または変更
-
権限
-
最大レベルまたは最小レベル
-
レベル、区分またはグループの読取り、書込みまたは行アクセス
-
ラベル・プロファイル
-
-
ポリシーからのエンタープライズ・ユーザーの削除
さらに上位の管理者をポリシー作成者と呼びます。ポリシー作成者は、Oracle Label Securityポリシーとそこに指定されているポリシー管理者を作成または削除できます。
7.9 データベースのブートストラップ
新規データベースをOracle Internet Directoryに登録した後、そのデータベースにOracle Internet Directory対応Oracle Label Securityをインストールできます。
このインストール・プロセスでは、Directory Integration Platform(DIP)プロビジョニング・プロファイルが自動的に作成され、それをデータベースにダウンロードすることでポリシー情報を定期的にリフレッシュできるようになります。
Oracle Internet Directory対応Oracle Label Security用にデータベースを構成する場合、Database Configuration Asssitant (DBCA)はOracle Internet Directory内のすべてのポリシー情報を新しく登録されたデータベースに入れて、データベースに情報を移入します。このプロセスはブートストラップと呼ばれます。
-
データベースをブートストラップするには、次のパラメータを使用して、
$ORACLE_HOME/bin/olsoidsync
にあるブートストラップ・ユーティリティ・スクリプトを実行します。olsoidsync --dbconnectstring "database_connect_string_in_host:port:sid_format" --dbuser database_user [-c] [-r] [-b admin_context] -h OID_host [-p port] -D bind_DN Enter Database password: database_user_password Enter bind password: bind_password
たとえば:
olsoidsync --dbconnectstring sales_srvr:1521:ora101 --dbuser lbacsys -c -b "ou=Americas,o=ExampleCorp,c=US" -h sales_srvr -D cn=policycreator Enter Database password: database_user_password Enter bind password: bind_password
データベースのTNS名、データベース・ユーザー名、データベース・ユーザーのパスワード、管理コンテキスト(存在する場合)、Oracle Internet Directoryホスト名、バインドDNとバインド・パスワードおよびOracle Internet Directoryポート番号(オプション)を指定する必要があります。c
パラメータおよびr
パラメータはオプションです。c
はデータベース内のすべての既存のポリシーを削除し、Oracle Internet Directoryからのポリシー情報を使用してリフレッシュします。r
は(ポリシー自体は削除せずに)すべてのポリシー・メタデータを削除し、Oracle Internet Directoryからの新しいメタデータでポリシーをリフレッシュします。
7.10 データベースとOracle Internet Directoryの同期化
Oracle Internet DirectoryとOracle Label Securityをインストールして構成した後、データベースをOIDおよびOLSと同期化する必要があります。
- データベースとOracle Internet Directoryの同期化について
Directory Integration Platform Oracle Directoryプロビジョニング・サービスによって、OIDディレクトリ内のOracle Label Securityメタデータがデータベースと同期化されます。 - Oracle Directory Integration and Provisioning (DIP)プロビジョニング・プロファイル
DIPサーバーは、各データベース用に個別に作成されたDIPプロビジョニング・プロファイルを使用して、ディレクトリ内のポリシー変更を接続先データベースと同期化します。 - プロビジョニング・プロファイルの変更
oidprovtool
modify
コマンドは、interface_connect_info
接続文字列のパスワードを変更します。 - プロビジョニング・プロファイルのデータベース接続情報の変更
DIP
プロファイル内のデータベース接続情報を変更できます。 - Oracle Data GuardでのOID対応Oracle Label Securityの構成
Oracle Directory対応Oracle Label SecurityをOracle Data Guardと連携するよう構成するには、まずプライマリ・データベースを構成してから、セカンダリ・データベースを構成します。
7.10.1 データベースとOracle Internet Directoryの同期化について
Directory Integration Platform Oracle Directoryプロビジョニング・サービスによって、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のプロビジョニング・プロファイル内で更新する必要があります。
7.10.2 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ポート番号 |
|
Oracle Internet Directoryにバインドしてポリシー情報を取得するためのユーザーDNとパスワード |
|
データベースDN |
|
組織DN、つまり変更が実行される管理コンテキスト |
|
起動するコールバック・ファンクション |
|
データベース接続情報(データベースのホスト名、データベース接続に使用するポート番号、データベースSID、データベース・ユーザー名およびパスワード) |
|
Oracle Internet Directoryの |
|
同期化の時間隔 |
|
ここでは、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
に設定されたconfig
およびインスタンス番号0
を使用してdb2
(Oracle Internet Directoryデータベース)に接続し、DIPサーバーを起動します。
7.10.3 プロビジョニング・プロファイルの変更
oidprovtool
modify
コマンドは、interface_connect_info
接続文字列のパスワードを変更します。
7.10.5 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を設定する必要があります。 - ステップ2: スイッチオーバー後のOIDプロビジョニング・プロファイルの更新
スイッチオーバー操作が完了したら、Oracle Internet Directoryプロビジョニング・プロファイルを更新する必要があります。
7.10.5.1 ステップ1: Data Guardでのディレクトリ対応Oracle Label Securityの設定
Oracle Data Guardでディレクトリ対応Oracle Label Securityを設定する必要があります。
-
データベース用にOracle Data Guardを構成します。
Oracle Data Guardのインストールの詳細は、『Oracle Data Guard Broker』を参照してください。
-
プライマリ・データベースのOracle Internet DirectoryにOracle Label Securityを登録します。
詳細は、「データベースの登録とOID対応Oracle Label Securityの構成」を参照してください。
-
ポリシーがプライマリ・データベースに伝播されたことを確認します。
-
olsadmintool
ユーティリティを使用するかOracle Enterprise Manager Cloud Controlで、Oracle Internet DirectoryにOracle Label Securityポリシーを作成します。olsadmintool
ユーティリティの使用の詳細は、「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/dbs
ディレクトリにあります。(このファイルは、スタンバイ・データベースにコピーする前にバックアップします。) -
ldap.ora
は、$ORACLE_HOME/dbs
ディレクトリにあります。
-
-
ewallet.p12
ファイルをコピーしたディレクトリに移動します。 -
次の構文を使用して、PKCS#12ウォレット(
ewallet.p12
)に関連付けられたSSOウォレット・ファイル(cwallet.sso
)を作成します。orapki wallet create -wallet wallet_location -auto_login [-pwd password]
7.10.5.2 ステップ2: スイッチオーバー後のOIDプロビジョニング・プロファイルの更新
スイッチオーバー操作が完了したら、Oracle Internet Directoryプロビジョニング・プロファイルを更新する必要があります。
このステップでは、スイッチオーバーを実行し、「ステップ1: Data Guardでのディレクトリ対応Oracle Label Securityの設定」のステップ5、6および7を完了した後で、Oracle Internet Directoryのプロビジョニング・プロファイルを新しいプライマリ・データベースの接続情報で更新する準備ができます。
次の手順を完了しない場合、ポリシーは新しいスタンバイ・データベースに伝播され続け、古いプライマリ・データベースは「ORA-16000 データベースは読取り専用アクセスでオープンされています。」
エラーで失敗します。プロビジョニング・プロファイルを新しいプライマリ・データベース接続情報で更新した後で、ポリシーの伝播が新しいプライマリ・データベースで行われます。また、これらのポリシーはREDO適用プロセスを通じて新しいスタンバイに伝播されます。
7.11 セキュリティ・ロールと許可されるアクション
Oracle Label Securityは、Oracle Internet Directoryに固有のタスクおよびアクセス・レベルを許可します(Oracle Internet Directory対応OLSポリシー作成者に対する制限も含む)。
- Oracle Internet Directoryで許可されるタスクおよびアクセス・レベル
Oracle Internet DirectoryでOracle Label Securityポリシーを管理するために、ディレクトリ内で特定のエンティティにアクセス制御の権利が付与されます。 - Oracle Internet Directory対応Oracle Label Securityのポリシー作成者の制限
ポリシー作成者グループのメンバーが実行できる操作は、Oracle Label Securityポリシーの作成、参照および削除のみです。
7.11.1 Oracle Internet Directoryで許可されるタスクおよびアクセス・レベル
Oracle Internet DirectoryでOracle Label Securityのポリシーを管理するために、ディレクトリ内で特定のエンティティにアクセス制御の権利が付与されます。
アクセス制御メカニズムはOracle Internet Directoryにより提供されます。
表7-3に、これらのエンティティと各エンティティが実行できるタスクの概要を示します。
表7-3 特定のエンティティが実行できるタスク
エンティティ | このエンティティが実行できるタスク |
---|---|
ポリシー作成者 |
新規ポリシーの作成(または既存のポリシーの削除)、新規ポリシー管理者の作成(または既存のポリシー管理者の削除)。 |
ポリシー管理者 |
ポリシーの場合: 既存のポリシー・オプションと監査設定の変更、ポリシー監査の有効化または無効化。 ラベル・コンポーネントの場合: フルネームまたは詳細名の変更、あるいは(グループの場合)子グループの作成または削除などによる、レベル、区分およびグループの作成、変更または削除。 エンタープライズ・ユーザーの場合: ポリシーからのエンタープライズ・ユーザーの削除、エンタープライズ・ユーザーの最大または最小レベル、読取り、書込みおよび行アクセス(区分またはグループの場合)、権限(ポリシーの場合)およびラベル・プロファイルの変更。 |
表7-4には、ポリシー作成者、ポリシー管理者およびLabel Securityユーザーについて、特定のアクセス・レベルで許可または禁止される操作を示します。
表7-4 OIDでユーザー別に許可されるアクセス・レベル
エントリ | ポリシー作成者 | ポリシー管理者 | データベース |
---|---|---|---|
|
変更可能 |
アクセスなし |
アクセスなし |
|
変更可能 |
アクセスなし |
アクセスなし |
|
参照可能 |
参照可能 |
変更可能 |
|
アクセスなし脚注1 |
アクセスなし |
アクセスなし |
|
参照および削除可能 |
変更可能 |
アクセスなし |
|
参照および削除可能 |
変更可能 |
アクセスなし |
|
参照および削除可能 |
変更可能 |
アクセスなし |
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を変更できます。
親トピック: セキュリティ・ロールと許可されるアクション
7.11.2 Oracle Internet Directory対応Oracle Label Securityのポリシー作成者の制限
ポリシー作成者グループのメンバーが実行できるのは、Oracle Label Securityのポリシーの作成、参照および削除のみです。
このユーザーは、そのポリシーのPolicy Adminsグループに明示的に追加されていても、ラベル・コンポーネントの作成やユーザーの追加のようなポリシー管理タスクを実行できません。つまり、ポリシー作成者をポリシーの管理者にすることはできません。
親トピック: セキュリティ・ロールと許可されるアクション
7.12 OLSでOIDが有効になっている場合に置き換えられるPL/SQL文
Oracle Label SecurityでOracle Internet Directoryが有効になっている場合、いくつかのプロシージャが置き換えられます。
これらのプロシージャの実行が許可されるのは、ユーザーLBACSYS
のみです。
この表に示す一部のプロシージャについては、その機能が2列目に示すolsadmintool
コマンドに置き換えられます(「Oracle Label Securityの表およびビュー」を参照)。
表7-5 Oracle Internet Directoryの使用時にolsadmintoolで置き換えられるプロシージャ
無効化されるプロシージャ | 代替olsadmintoolコマンド |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
なし |
|
なし |
|
なし |
|
なし |
|
なし |
|
なし |
|
なし |
|
なし |
|
なし |
|
なし |
|
なし |
|
|
|
なし |
|
なし |
|
|
|
|
|
|
|
|
|
なし |
|
なし |
7.13 ポリシー管理者用の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