Oracle Database Vaultにおいて、この職務分掌と権限分離を実現するために新たに加わった主な技術要素として Realm があり、複数要素に基づいた厳密な管理を行うための技術要素としてCommand Rule やSecure Application Role がある。
Realm(レルム):
新たな「Realm(レルム)」という単位は仮想的にデータベース内部を分割し、保護したい表・ビューなど(スキーマ・オブジェクト)を割り付けることができる。Realmには個別に管理者を設けることができるようになり、これらは通常アプリケーション管理者となる。アプリケーション管理者が明示的に許可しない限り、Realmで保護されている表・ビューなどにはDBAであってもアクセスすることはできない。その一方DBAが使用する表・ビューなどは別の専用Realmで保護されているため、他のアプリケーション管理者はアクセスできない。こうして各管理者の権限を分割・制限することで職務分掌と整合性のとれたアクセス管理を実現することになる。
Command Rule:
特定のSQL(データベースに対して使われる問い合わせ言語)コマンドの使用条件を定義したもの。権限管理のための論理的な条件がRule、複数のRuleを組み合わせてより高度な管理を実現する論理セットがRule Setである。この Rule/Rule Set を使って詳細な条件を設定すると、使用が許可されているコマンドであっても、その使用条件をさらに細かく制限することが可能になる。例えば、平日の日中10:00~18:00のみ、特定の静的IPアドレスを持つ端末からだけコマンドを使用できる、といった管理が簡単に設定できるようになる。
Secure Application Role:
通常は、特定のRoleを付与されたユーザーはそのRoleに含まれている全ての権限を常に使うことができるが、このSecure Application Roleを使うと前述のRule Setで決められた条件を満たす場合にのみ動的使用許可を与えることができるようになる。
オラクルエンジニア通信:「【技術資料】Oracle Database Vault 概要」
オラクルエンジニア通信:「【技術記事】特権ユーザー管理の確立と効率化」
このようにオラクルでは標準機能であるオブジェクト権限やRole、仮想プライベート・データベース(Enterprise Edition)などで細かい権限管理を実装することができる。さらに高度なセキュリティを求められるシステムでは、Oracle Database Vaultを使うことで従来制限できなかったDBAの権限を分離・制限することも可能である。詳しくはホワイト・ペーパーやOracle Database 11g セキュリティガイドなども参照されたい。
次回は皆様からご関心の高い、ログの取得と監査機能について取り上げることにするのでご期待頂きたい。
関連資料
・ ユーザー・アカウントおよびセキュリティの管理|オラクルエンジニア通信
※この記事はoracletech.jpからの転載です。