この章の内容は次のとおりです。
Oracle Database Vaultは、管理アクセス権を持つユーザーを含め、あらゆるユーザーからのOracleデータベースの特定領域へのアクセスを制限します。たとえば、従業員の給与、顧客の医療記録、またはその他の機密情報に対する管理アクセス権を制限できます。
これにより、様々な方法で機密情報へのファイングレインアクセス制御を適用できます。ファイングレイン・アクセス・コントロールを適用することで、Oracle Databaseインスタンスのセキュリティは強化され、特権を持つユーザーからの職務分離に関しては業界標準の対応が可能です。最も重要なのは、ファイングレインアクセス制御により管理権限ユーザーからデータを保護する一方で、管理権限ユーザーによりOracleデータベースを維持できるということです。Oracle Database Vaultは、企業に不可欠なコンポーネントです。
Oracle Database Vaultを使用することで、内部関係者、法令順守要件、および職務分離の実施という、現在も課題である最も難しいセキュリティ問題に対応できます。
Oracle Database Vaultは、個々のOracle Databaseインスタンスのセキュリティを管理するために構成します。Oracle Database Vaultは、Oracle Databaseのスタンドアロン・インストール、複数のOracleホーム、およびOracle Real Application Clusters(Oracle RAC)環境にインストールできます。
Oracle Database Vaultに関するよくある質問は、次のサイトにアクセスしてください。
http://www.oracle.com/technetwork/database/focus-areas/security/dbv-faq-083210.html
Oracle Database Vaultに関するOracle Technology Network(OTN)情報は、次のサイトにアクセスしてください。
http://www.oracle.com/technetwork/database/options/database-vault/index-085211.html
Oracle Database Vaultには次のコンポーネントが含まれます。
Oracle Database Vaultを使用して次のコンポーネントを作成し、データベース・インスタンスのセキュリティを管理できます。
レルム。レルムとは、保護が必要なデータベース・スキーマ、オブジェクトおよびロールを機能でグループ化したものです。たとえば、会計、販売、人事に関する一連のスキーマ、オブジェクトおよびロールをグループ化できます。これらをレルムにグループ化すると、レルムを使用してシステム権限の利用を特定のアカウントまたはロールに限定することができます。そのため、これらのスキーマ、オブジェクトおよびロールを使用する任意のユーザーで詳細なアクセス制御が可能になります。レルムの詳細は、第4章「レルムの構成」で説明しています。
コマンド・ルール。コマンド・ルールとは、ユーザーによるSELECT
文、ALTER SYSTEM
文、データベース定義言語(DDL)文およびデータ操作言語(DML)文などのほぼすべてのSQL文の実行方法を制御するために作成する特別なルールです。文が許可されるかどうかを判断するには、コマンド・ルールをルール・セットとともに使用する必要があります。コマンド・ルールの詳細は、第6章「コマンド・ルールの構成」で説明しています。
ファクタ。ファクタとは、ユーザー・ロケーション、データベースIPアドレス、セッション・ユーザーなどOracle Database Vaultで認識および保護できる名前付きの変数または属性です。ファクタは、データベースに接続するためのデータベース・アカウントの認可や、データの可視性および管理性を制限するフィルタ・ロジックの作成などのアクティビティに使用できます。各ファクタは1つ以上のアイデンティティを持ちます。アイデンティティは、ファクタの実際の値です。ファクタの取得メソッド、またはそのアイデンティティ・マッピング・ロジックによって、ファクタは複数のアイデンティティを持つ場合があります。ファクタの詳細は、第7章「ファクタの構成」で説明しています。
ルール・セット。ルール・セットとは、レルム認可、コマンド・ルール、ファクタ割当て、保護アプリケーション・ロールに関連付けることのできる1つ以上のルールの集まりです。ルール・セットは、それに含まれる各ルールと評価タイプ(「すべてのTrue」または「いずれかTrue」)に基づいて、trueまたはfalseに評価されます。ルール・セット内のルールは、trueまたはfalseに評価されるPL/SQL式です。複数のルール・セットに同じルールを作成できます。ルール・セットの詳細は、第5章「ルール・セットの構成」で説明しています。
セキュア・アプリケーション・ロール。セキュア・アプリケーション・ロールは、Oracle Database Vaultルール・セットの評価に基づいて有効化できる特別なOracle Databaseロールです。セキュア・アプリケーション・ロールの詳細は、第8章「Oracle Database Vaultのセキュア・アプリケーション・ロールの構成」で説明しています。
これらのコンポーネントを補強するため、Oracle Database Vaultには一連のPL/SQLインタフェースおよびパッケージが用意されています。「Oracle Database Vault PL/SQLインタフェースおよびパッケージ」で概要を説明しています。第16章「Oracle Database Vaultのデータ・ディクショナリ・ビュー」では、Oracle Database Vaultに固有のデータ・ディクショナリ・ビューに関して説明します。
一般的に、最初の手順は、保護するデータベース・スキーマまたはデータベース・オブジェクトを含むレルムを作成することです。ルール、コマンド・ルール、ファクタ、アイデンティティ、ルール・セットおよびセキュア・アプリケーション・ロールを作成すると、さらに強固にレルムを保護できます。また、これらのコンポーネントが監視および保護するアクティビティでレポートを実行できます。第3章「Oracle Database Vaultの開始」には、Oracle Database Vaultの基本的な機能を紹介する簡単なチュートリアルが用意されています。第18章「Oracle Database Vaultレポート」では、構成を確認するレポートの実行方法や、Oracle Database Vaultが実行するその他のアクティビティの詳細が説明されています。
Oracle Database Vault Administrator(DVA)は、Oracle Database VaultのPL/SQL Application Programming Interface(API)上に作成されたJavaアプリケーションです。このアプリケーションを使用すると、PL/SQLに精通していないセキュリティ管理者でも、わかりやすいインタフェースを使用してアクセス制御ポリシーを構成できます。Oracle Database Vault Administratorには、ベースライン・セキュリティ構成の理解をサポートするセキュリティ関連のレポートが多数用意されています。これらのレポートは、このベースラインからの偏差の特定にも役立ちます。
第4章から第9章では、Oracle Database Vault Administratorを使用して、レルム、コマンド・ルール、ファクタ、ルール・セットおよびセキュア・アプリケーション・ロールに定義されているアクセス制御ポリシーを構成する方法、およびOracle Database Vaultをその他のOracle製品と統合する方法が説明されています。第18章「Oracle Database Vaultレポート」では、Oracle Database Vaultのレポートについて説明しています。
Oracle Database Vaultには、OracleデータをOracle Database Vault用に処理する際に必要なデータベース・オブジェクトを保存するDVSYS
スキーマが用意されています。このスキーマには、Oracle Database Vaultが使用するロール、ビュー、アカウント、ファンクションおよびその他のデータベース・オブジェクトが含まれます。DVF
スキーマには、Oracle Database Vaultアクセス制御構成内に設定されたファクタ値を(実行時に)取得するパブリック・ファンクションが含まれます。
これらのスキーマの詳細は、第11章「Oracle Database Vaultオブジェクト」で説明しています。
Oracle Database Vaultには、セキュリティ管理者またはアプリケーション開発者が必要に応じてアクセス制御ポリシーを構成できるよう、PL/SQLインタフェースおよびパッケージが多数用意されています。PL/SQLプロシージャおよびファンクションを使用すると、指定されたデータベース・セッションのコンテキスト内にあるアクセス制御ポリシーの範囲内において、通常のデータベース・アカウントでの操作が可能になります。
詳細は、第15章「Oracle Database Vault PL/SQLインタフェースの使用方法」および第12章「DBMS_MACADMパッケージの使用方法」を参照してください。
Oracle Database Vaultには、Oracle Label Securityと統合できるアクセス制御機能があります。Oracle Label Securityデータベース・オプションは、セキュリティ管理者によるLabel Securityポリシーの定義や、その定義のデータベース・オブジェクトへの適用を可能にする、Oracle Enterprise Manager Database Controlと統合されています。Oracle Label Securityには、データベース・アプリケーション開発者がラベル・セキュリティ・ポリシーや保護の実現に使用できるPL/SQLパッケージも多数用意されています。
Oracle Database VaultがOracle Label Securityとどのように連携して機能するかは、「Oracle Database VaultとOracle Label Securityの統合」を参照してください。また、Oracle Policy Managerの詳細は、『Oracle Label Security管理者ガイド』を参照してください。
Oracle Database Vaultが監視する様々なアクティビティ上でレポートを生成できます。また、ポリシー変更、セキュリティ違反未遂行為、およびデータベースの構成や構造の変更も監視できます。
生成可能なレポートの詳細は、第18章「Oracle Database Vaultレポート」を参照してください。第17章「Oracle Database Vaultの監視」では、Oracle Database Vaultの監視方法について説明しています。
法令を順守することで得られる最も大きな副産物の1つは、セキュリティに対する意識の向上です。これまで、情報技術(IT)部門は高可用性とパフォーマンスを重視してきました。法令順守に重点を置くことで、ITインフラストラクチャ、データベースおよびアプリケーションをセキュリティという観点から客観的に見ることが必要になりました。共通する疑問には次のものがあります。
誰がこの情報へのアクセス権を持っているのか。
どこに機密情報が保存されているのか。
サーベンス・オクスリー法(Sarbanes-Oxley Act)、医療保険の相互運用性と説明責任に関する法律(Health Insurance Portability and Accountability Act、HIPAA)、国際業務を行う銀行の自己資本比率に関する国際統一基準(改定版)(バーゼルII、International Convergence of Capital Measurement and Capital Standards: a Revised Framework)、日本の個人情報保護法、PCIデータ・セキュリティ基準(Payment Card Industry Data Security Standard、PCI DSS)、欧州連合のプライバシと電子通信に関する指令(European Union Directive on Privacy and Electronic Communications)などの規制には、内部規制、職務分離およびアクセス制御を含む共通のテーマがあります。
サーベンス・オクスリーやHIPAAなどの規制による変更の多くは手続き上のものであるのに対し、その他は技術的な投資を必要とする場合があります。規制に共通に見られるセキュリティ要件は厳密な内部規制です。Oracle Database Vaultを使用することで企業が達成できるコンプライアンスのレベルは規制によって異なります。一般的に、Oracle Database Vaultレルム、職務の分離機能、コマンド・ルールおよびファクタは、規制により世界的に対応が求められている、全体的なセキュリティ・リスクを削減します。
表1-1に、潜在的なセキュリティの脅威に対応している規制を示します。
表1-1 潜在的なセキュリティの脅威に対応している規制
規制 | 潜在的なセキュリティの脅威 |
---|---|
サーベンス・オクスリー法(Sarbanes-Oxley)302条 |
データの不正な変更 |
サーベンス・オクスリー法(Sarbanes-Oxley)404条 |
データの変更、不正なアクセス |
サーベンス・オクスリー法(Sarbanes-Oxley)409条 |
サービス妨害、不正なアクセス |
グラム・リーチ・ブライリー(Gramm-Leach-Bliley) |
不正なアクセス、変更または公開 |
医療保険の相互運用性と説明責任に関する法律(Health Insurance Portability and Accountability Act、HIPAA)164.306 |
データへの不正なアクセス |
HIPAA 164.312 |
データへの不正なアクセス |
バーゼルII(Basel II) - 内部リスク管理 |
データへの不正なアクセス |
CFR Part 11 |
データへの不正なアクセス |
日本の個人情報保護法 |
データへの不正なアクセス |
欧州連合のプライバシと電子通信に関する指令(EU Directive on Privacy and Electronic Communications) |
データへの不正なアクセス |
PCIデータ・セキュリティ基準(Payment Card Industry Data Security Standard、PCI DSS) |
データの不正な変更 |
長年に渡り、ワーム、ウイルスおよび外部侵入者(ハッカー)はコンピュータ・システムの最大の脅威として認識されてきました。残念なことに、特別な権限のある信頼されているユーザーがデータを盗用または変更する可能性が見落とされてきました。
Oracle Database Vaultは、レルム、ファクタおよびコマンド・ルールを使用して内部関係者から保護します。さらに、これらのコンポーネントはデータベース、アプリケーションおよび機密情報への安全なアクセスを支援する強力なセキュリティ・ツールを提供します。ルールとファクタを結合して、データベースのコマンドの実行が可能な条件の制御や、レルムによって保護されているデータへのアクセスの制御ができます。たとえば、ルールとファクタを作成し、IPアドレス、日時および特定のプログラムに基づいてデータへのアクセスを制御できます。これにより、指定の条件を満たす接続のみにアクセスを制限することができます。また、認可されていないアプリケーションによるデータベースへのアクセスとともに、アプリケーション・データへの不正なアクセスも防ぐことができます。
Oracle Database Vaultには、データベース、レルムによって保護されているアプリケーションおよびデータベース内のコマンドへのアクセスを制御するためにルールと組み合せて使用できる組込みのファクタが用意されています。
ルールおよびファクタをデータベース内の多数のコマンドに関連付けて、データベースの内部制御を強化できます。また、サイトの運用ポリシーに合せてカスタマイズできます。たとえば、ルールを定義してALTER SYSTEM
文の実行を特定のIPアドレスやホスト名に制限することができます。
Oracle Database Vaultは、データベースの柔軟なセキュリティ・ポリシーの設計を支援します。たとえば、DBA
ロールを持つSYSTEM
などの任意のデータベース・ユーザーによる、データベースの基本的なパラメータの変更を可能にできます。システム権限を持つ経験の浅い管理者が、特定の時間に新規REDOログ・ファイルを開始するとデータベースに問題が発生することに気付かずに、その実行を決定したとします。Oracle Database Vaultを使用すると、このユーザーのALTER SYSTEM SWITCH LOGFILE
文の使用を制限することで、そのような変更が行われるのを防ぐコマンド・ルールを作成できます。また、文の実行を次のようにして制限するなど、アクティビティをさらに制限するルールをコマンド・ルールに追加できます。
時間で制限(金曜日の午後4時から5時の間のみなど)
リモートではなく、ローカル・アクセスのみに制限
IPアドレスで制限(指定した範囲のIPアドレスにのみアクションを許可するなど)
この方法では、システムを慎重に制御および保護できます。必要な場合には、コマンド・ルールを無効にすることも再度有効にすることも可能で、Oracle Database Vault Administratorを使用して中央の1つの場所から簡単に管理できます。
今日においても、非常に多くのOracleデータベースがエンタープライズ、さらには世界中に分散しています。しかし、今後数年間もデータベース統合はコスト削減対策として継続されるでしょう。分散データベース・アーキテクチャにより実現された物理的なセキュリティは、統合環境でも実現される必要があります。Oracle Database Vaultは、データベース統合に関する主要なセキュリティの問題に対応します。
図1-1に、次のデータベースのセキュリティ問題にOracle Database Vaultがどのように対応するかを示します。
管理権限のあるアカウントからのアプリケーション・データへのアクセス: この場合、Oracle Database Vaultが許可しないため、DBAはFINレルムにより保護されているスキーマにアクセスできません。DBAは最も権限が多く信頼されているユーザーですが、データベースに存在するアプリケーション・データへのアクセス権を付与する必要はありません。
アプリケーション・データへのアクセスに関する職務の分離: この場合、Oracle Database Vault内に作成されたFINレルムの所有者には、FINレルムのスキーマへのアクセス権があります。
データベースを統合すると、複数の強力なユーザー・アカウントが1つのデータベース内に存在することになります。つまり、データベース全体のDBAだけでなく、個々のアプリケーション・スキーマの所有者も強力な権限を持つ可能性があるということです。権限の取消しは、既存のアプリケーションに悪影響を及ぼす可能性があります。Oracle Database Vaultレルムを使用すると、アプリケーションへのアクセスを、信頼できるパスを介したものにすることができます。これにより、明確にアクセスを認可されていないデータベース・ユーザーが、強力な権限を使用してアプリケーション・データを参照するのを防ぐことができます。たとえば、SELECT ANY TABLE
権限を持つDBAが、その権限を使用してアプリケーション・データを表示するのを防ぐことができます。