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

前
次

D Oracle RAC 環境でのOracle Label Security

Oracle Real Application Clusters (Oracle RAC)環境で、Oracle Label Securityを使用できます。

内容は次のとおりです。

Oracle RAC環境におけるOracle Label Securityのポリシー機能

Oracle Real Application Clusters (Oracle RAC)環境では、あるインスタンス上で行われたポリシー変更が、他のインスタンスで即時に使用可能になります。

変更内容を使用するために他方のインスタンスを再起動する必要はありません。

あるデータベース・インスタンス上で行われた重要な変更は、自動的に他のインスタンスに伝播します。その一例が、新規ポリシーの作成です。また、ポリシー・オプションの変更も同様です。

このような変更の伝播により、次の2つの貴重な保護が保証されます。

  • 表の全ユーザーには、同じポリシーが適用されます。

  • いずれかのインスタンスが失敗すると、他のインスタンスによる処理の継続には、失敗直前に有効だったのと同じポリシーおよびパラメータが使用されます。そのため、ポリシーが有効化または無効化されていた場合、それがすべてのインスタンスでそのまま表示されます。

管理者が、あるインスタンスで表D-1に示すポリシー・ファンクションを使用してポリシー情報を変更すると、Oracle Label Securityでは、そのファンクション・コールで変更された内容の関連情報が格納されます。新規の情報はOracle RACの他のアクティブなインスタンスで即時に使用可能になり、影響を受けるポリシーのユーザー間で均一に使用可能になります。

表D-1 Oracle RAC環境でステータスを保持するポリシー・ファンクション

ポリシー・ファンクション 説明

SA_SYSDBA.CREATE_POLICY

新規ポリシーの作成

SA_SYSDBA.DROP_POLICY

既存のポリシーの削除

SA_SYSDBA.ENABLE_POLICY

既存のポリシーの有効化

SA_SYSDBA.DISABLE_POLICY

既存のポリシーの無効化

SA_SYSDBA.ALTER_POLICY

既存のポリシーの変更

Oracle Label Securityでの透過的アプリケーション・フェイルオーバー

セッション情報は、透過的アプリケーション・フェイルオーバー時に保持されます。

表D-2に示すセッション・ファンクションを使用してセッションの情報を変更すると、その内容は透過的アプリケーション・フェイルオーバー時に保持されます。

たとえば、ユーザーScottがデフォルトのラベルTop Secretを使用してログオンするとします。このユーザーがsa_session.set_label()をコールしてセッション・ラベルをSecretに変更した場合、他のインスタンスへのフェイルオーバーが発生すると、変更は表示されませんが、セッション・ラベルはSecretのままになっています。

現行のユーザー・セッション情報を保持することにより、そのユーザーが表示または操作できるデータに対するアクセス権限および制限は変更されずに残ります。フェイルオーバーが発生しても、ユーザーが表示および操作できるのは、フェイルオーバー前にアクセス可能だった表および行のみです。保持されていない場合は、他のインスタンスにフェイルオーバーすると、ユーザーに異なるデータ・セットが表示されたり、この種のデータを表示できるようになる可能性があります。

表D-2に示すセッション・ファンクションの1つを使用すると、Oracle Label Securityではそのファンクション・コールによる変更内容の関連情報が格納されます。

表D-2 Oracle RAC環境でステータスを保持するセッション・ファンクション

セッション・ファンクション 説明

SA_SESSION.SET_LABEL

ユーザーは、読取りアクセス権を持つ新規レベル、新規区分およびグループを設定できます。

SA_SESSION.SET_ROW_LABEL

ユーザーは新規の行に適用するデフォルトの行ラベルを設定できます。

SA_SESSION.SAVE_DEFAULT_LABELS

ユーザーは、現行のセッション・ラベルと行ラベルを将来のセッションのデフォルトとして格納できます。

SA_SESSION.RESTORE_DEFAULT_LABELS

ユーザーは、現行のセッション・ラベルと行ラベルを、格納されているデフォルト設定にリセットできます。

SA_SESSION.SET_ACCESS_PROFILE

データベース・セッションのOracle Label Securityでの認可と権限を、指定したユーザーの認証と権限に設定します。