D Oracle RAC 環境でのOracle Label Security
Oracle Label Securityは、Oracle Real Application Clusters (Oracle RAC)環境で使用できます。
- Oracle RAC環境におけるOracle Label Securityポリシー・ファンクション
あるインスタンスに対するポリシー変更は、Oracle Real Application Clusters (Oracle RAC)環境内の他のインスタンスで即時に使用可能になります。 - Oracle Label Securityでの透過的アプリケーション・フェイルオーバー
セッション情報は、透過的アプリケーション・フェイルオーバー時に保持されます。
親トピック: 「付録」
D.1 Oracle RAC環境におけるOracle Label Securityポリシー・ファンクション
あるインスタンスに対するポリシー変更は、Oracle Real Application Clusters (Oracle RAC)環境内の他のインスタンスで即時に使用可能になります。
変更内容を使用するために他方のインスタンスを再起動する必要はありません。
あるデータベース・インスタンス上で行われた重要な変更は、自動的に他のインスタンスに伝播します。その一例が、新規ポリシーの作成です。また、ポリシー・オプションの変更も同様です。
このような変更の伝播により、次の2つの貴重な保護が保証されます。
-
表の全ユーザーには、同じポリシーが適用されます。
-
いずれかのインスタンスが失敗すると、他のインスタンスによる処理の継続には、失敗直前に有効だったのと同じポリシーおよびパラメータが使用されます。そのため、ポリシーが有効化または無効化されていた場合、それがすべてのインスタンスでそのまま表示されます。
管理者が、あるインスタンスで表D-1に示すポリシー・ファンクションを使用してポリシー情報を変更すると、Oracle Label Securityでは、そのファンクション・コールで変更された内容の関連情報が格納されます。新規の情報はOracle RACの他のアクティブなインスタンスで即時に使用可能になり、影響を受けるポリシーのユーザー間で均一に使用可能になります。
表D-1 Oracle RAC環境でステータスを保持するポリシー・ファンクション
ポリシー・ファンクション | 説明 |
---|---|
|
新規ポリシーの作成 |
|
既存のポリシーの削除 |
|
既存のポリシーの有効化 |
|
既存のポリシーの無効化 |
|
既存のポリシーの変更 |
D.2 Oracle Label Securityでの透過的アプリケーション・フェイルオーバー
セッション情報は、透過的アプリケーション・フェイルオーバー時に保持されます。
表D-2に示すセッション・ファンクションを使用してセッションの情報を変更すると、その内容は透過的アプリケーション・フェイルオーバー時に保持されます。
たとえば、ユーザーScott
がデフォルトのラベルTop Secret
を使用してログオンするとします。このユーザーがsa_session.set_label()をコールしてセッション・ラベルをSecret
に変更した場合、他のインスタンスへのフェイルオーバーが発生すると、変更は表示されませんが、セッション・ラベルはSecret
のままになっています。
現行のユーザー・セッション情報を保持することにより、そのユーザーが表示または操作できるデータに対するアクセス権限および制限は変更されずに残ります。フェイルオーバーが発生しても、ユーザーが表示および操作できるのは、フェイルオーバー前にアクセス可能だった表および行のみです。保持されていない場合は、他のインスタンスにフェイルオーバーすると、ユーザーに異なるデータ・セットが表示されたり、この種のデータを表示できるようになる可能性があります。
表D-2に示すセッション・ファンクションの1つを使用すると、Oracle Label Securityではそのファンクション・コールによる変更内容の関連情報が格納されます。
表D-2 Oracle RAC環境でステータスを保持するセッション・ファンクション
セッション・ファンクション | 説明 |
---|---|
|
ユーザーは、読取りアクセス権を持つ新規レベル、新規区分およびグループを設定できます。 |
|
ユーザーは新規の行に適用するデフォルトの行ラベルを設定できます。 |
|
ユーザーは、現行のセッション・ラベルと行ラベルを将来のセッションのデフォルトとして格納できます。 |
|
ユーザーは、現行のセッション・ラベルと行ラベルを、格納されているデフォルト設定にリセットできます。 |
|
データベース・セッションのOracle Label Securityでの認可と権限を、指定したユーザーの認証と権限に設定します。 |