この付録では、Oracle Label Securityに関する一般的な質問に回答します。
Oracle Label Securityのユーザーは誰ですか?
機密性ラベルは、ほぼすべての産業において、データを分類するために使用されます。これらの産業には、医療、警察、エネルギー産業、小売業、国家安全保障、軍需産業などがあります。次に、機密性ラベルの例をいくつか示します。
内部
ConfidentialPhysician OnlyHighly SensitiveWidget CorporationConfidential、Chicago OperationSensitive、Finance、EuropeTop SecretUnclassified
Oracle Label Securityはセキュリティ・ニーズにどのように対応できますか?
Oracle Label Securityを使用すると、データにラベルを付け、データへのアクセスを細かいレベルで制限できます。これは、複数の組織や会社で1つのアプリケーションを共有する場合に特に役立ちます。また、機密性ラベルを使用すると、アプリケーション・ユーザーによる組織へのアクセス、または組織内の一部のデータへのアクセスを制限できます。
コンシューマにとってデータのプライバシは重要であるため、規制措置が次々と公表されています。Oracle Label Securityを使用すると、データに対するプライバシ・ポリシーを実装して、データを参照する必要があるユーザーのみにアクセスを制限できます。
すべての表の保護にOracle Label Securityを使用する必要がありますか?
いいえ。ほとんどの場合、Oracleの従来の任意アクセス制御(DAC)オブジェクト権限(SELECT
、INSERT
、UPDATE
、DELETE
など)にデータベース・ロールとストアド・プロシージャを組み合せる方法で十分です。
Oracle Virtual Private DatabaseとOracle Label Securityの違いは何ですか?
Oracle Virtual Private Database(VPD)はOracle Database Enterprise Editionに無償で付属しています。Oracle Label Securityは、Oracle Database Enterprise Editionの追加セキュリティ・オプションです。
Oracle VPDは、ファイングレイン・アクセス・コントロール(FGAC)、アプリケーション・コンテキスト、グローバル・アプリケーション・コンテキストなどの強力なセキュリティ機能に対して使用する用語です。VPDポリシーはPL/SQL
を使用して記述し、個別の表またはビューに割り当てることができます。VPDで保護された表またはビューにアクセスする情報要求は、その表またはビューに割り当てられているポリシーに従って変更されます。
VPDポリシーは、アクセスを業務時間内に制限するというような簡単な設定が可能です。VPDポリシーによって、各行の属性値とアプリケーション・コンテキスト値を比較してアクセスを制限できます。グローバル・アプリケーション・コンテキストでは、複数のデータベース・セッションにわたって1つのアプリケーション・コンテキストをアクセスできるため、ユーザー・セッションごとに個別のアプリケーション・コンテキストを作成する必要がありません。
Oracle Label Securityは、行レベルのセキュリティに対して設定が容易なソリューションを提供します。コーディングやソフトウェア開発が不要なため、管理者はポリシーに完全に集中できます。Oracle Label Securityには、ポリシーの作成、施行オプションの指定、データ機密性ラベルの定義、ユーザー・ラベル認可の確立、および個別の表やスキームの保護のためのインタフェースが用意されています。
データ機密性ラベルは、データへのアクセスを強力かつ柔軟に制御する手段を提供します。たとえば、異なる組織または会社に属するデータは、データ機密性ラベルを使用して区別されるため、データ機密性ラベルの変更によって会社間で選択的に共有できます。
セキュリティ・ポリシーの複雑さによっては、Oracle Virtual Private Databaseがセキュリティ・ポリシーを実装するための最適な方法である場合があります。Oracle Label Securityは、情報の機密性に基づいてアクセス制御を決定する必要がある場合に最適です。
Oracle Virtual Private DatabaseとOracle Label Securityを組み合せることはできますか?
はい。次の使用方法が可能です。
WHERE
句をOLSポリシーに追加すると、さらに細かいレベルを追加できます。たとえば、ユーザーに対しては、各自のラベル認可に関係なく、特定のIPアドレスまたはサブネットからの接続を許可し、その接続を業務時間内のみに制限できます。
VPDポリシーでは、列を区別するかどうかに関係なく、ユーザー・ラベルを評価して列と行へのアクセスを判断でき、このためにデータ・ラベルを適用する必要はありません。
Oracle Label SecurityはOracle E-Business Suiteと併用できますか?
Oracle Applicationsでは、新機能やセキュリティ保護を提供するために、Oracle VPDを使用しています。
Oracle Label SecurityはOracle Database Vaultと併用できますか?
Oracle Database Vaultの表は、Oracle Databaseの表の場合と同様に、Oracle Label Securityを使用して保護できます。
さらに、Oracle Label SecurityはOracle Database Vaultの機能と併用できます。Oracle Label Securityのラベルは、Database Vaultファクタに割り当てることができます。これらのラベルは、OLS管理者ガイドの4.4.5章「MERGE_LABELファンクションを使用したラベルのマージ」に記述されているアルゴリズムに従って、ユーザー・クリアランス・ラベルとマージされ、その後に、マージされたユーザー・ラベルが行ラベルと比較されてアクセス制御が判断されます。
Oracle Label securityをOracle Database Vaultの機能と併用する例については、次のOracle Technology Network Webサイトを参照してください。
http://www.oracle.com/technology/deploy/security/database-security/howtos/ols_dbv-how-to.html
Oracle Label Securityでは列レベルのアクセス制御が提供されていますか?
いいえ。Oracle Label Securityは列を認識しません。この動作は、Virtual Private Database (VPD)で可能です。VPDポリシーは、保護された表に対するSQL文に特定の列が含まれる場合のみアクティブとなるように記述できます。列の機密性スイッチがオンの場合、VPDは、機密列の値がユーザーにとってアクセス可能である行のみを戻すか、または、ユーザーが参照を許可されている値以外は機密列のすべてのセルを空白にしてすべての行を戻します。
例については、次のOracle Technology Network Webサイトを参照してください。
列を識別するVPDポリシーにより、OLSユーザー・ラベルを評価して特定の列へのアクセスを判断できます。
Oracle Label Securityに基づいたセキュアなアプリケーション・ロールは可能ですか?
はい。SET ROLE
コマンドが実行されるかどうかを判断するプロシージャによって、OLSユーザー・ラベルを評価できます。この場合、行ラベルはこのソリューションに含まれないため、OLSポリシーを表に適用する必要はありません。
トラステッド・ストアド・プログラム・ユニットとは何ですか?
ストアド・プロシージャ、ファンクションおよびパッケージは、定義者のシステム権限とオブジェクト権限(DAC)を使用して実行されます。実行者がOracle Label Securityユーザー・クリアランス(ラベル)を持つユーザーの場合、プロシージャは、定義者のDAC権限と実行者のセキュリティ・クリアランスの組合せを使用して実行されます。
トラステッド・ストアド・プロシージャは、OLS権限のFULL
またはREAD
のいずれかが付与されたプロシージャです。トラステッド・ストアド・プログラム・ユニットの実行時に有効なポリシー権限は、コール側ユーザーの権限とプログラム・ユニットの権限との組合せです。
VPDまたはOLSでは、保護された表に列が追加されますか?
Oracle Label Security(OLS)ポリシーを表に適用すると、ポリシーによって表に列が追加されます。この列の名前は、ポリシーを最初に作成するときに指定する必要があります。
既存の列は、OLS行ラベルを格納するために使用できます。この列は、NUMBER(10)
データ型である必要があります。
Virtual Private Database(VPD)では、保護された表に列は追加されません。
追加したOLS行ラベル列を非表示にする理由は何ですか?
ほとんどのアプリケーションの設計ではアクセス制御メカニズムが考慮されないため、Oracle Label Security(OLS)ではラベル列の透過性が必要になります。
アプリケーションでSELECT FROM
tablename
文を使用して表を問い合せると、非表示でないラベル列も含めてすべての列が戻されます。既存のアプリケーションでは、追加の列を表示するように設計されていないために、障害が発生する場合があります。ただし、非表示のラベル列は、SQL文にその名前が含まれている場合のみ表示されます。SELECT FROM
tablename
文は、非表示のOLS列を除いて、アプリケーションの指示どおりにすべての列を戻します。
Oracle Label Securityはどこで入手できますか?
Oracle Label Securityは、Oracle Database Enterprise EditionのCDに付属しています。Oracle Label Securityは、デフォルトのOracleインストールではインストールされません。Oracle Label Securityをデータベースに追加するには、カスタム・インストールを実行する必要があります。