8 Oracle Database Vaultのセキュア・アプリケーション・ロールの構成
セキュア・アプリケーション・ロールを使用すると、ユーザーのアプリケーションに対するアクセス権限を制御できます。
- Oracle Database Vaultのセキュア・アプリケーション・ロールの概要
Oracle Database Vaultでは、Oracle Database Vaultルール・セットで有効にするセキュア・アプリケーション・ロールを作成できます。 - Oracle Database Vaultセキュア・アプリケーション・ロールのセキュリティ
データベース管理権限を持つユーザーは、DROP ROLE
文を使用して、Oracle Database Vaultセキュア・アプリケーション・ロールを削除する場合があります。 - Oracle Database Vaultセキュア・アプリケーション・ロールの作成
セキュア・アプリケーション・ロールは、作成時に、そのロールが有効になる場合と無効になる場合を決定するOracle Database Vault管理対象ルール・セットに関連付けます。 - Oracle Database Vaultで使用するためのOracle Databaseセキュア・アプリケーション・ロールの有効化
既存のセキュア・アプリケーション・ロールを変更できるのは、それがOracle Database Vaultで作成された場合のみです。 - セキュア・アプリケーション・ロールの変更
Oracle Database Vaultセキュア・アプリケーション・ロールの定義は変更可能です。 - Oracle Database Vaultセキュア・アプリケーション・ロールの削除
Oracle Database Vaultセキュア・アプリケーション・ロールは、そのロールをアプリケーションが使用していない場合に削除できます。 - Oracle Database Vaultセキュア・アプリケーション・ロールの動作
Oracle Database Vaultセキュア・アプリケーション・ロールのプロセス・フローは、セキュア・アプリケーション・ロールを作成した後に開始されます。 - チュートリアル: Database Vaultセキュア・アプリケーション・ロールによるアクセス権限の付与
このチュートリアルでは、セキュア・アプリケーション・ロールを作成して、作業時間中にユーザーのOE.ORDERS
表へのアクセスを制御する方法を示します。 - セキュア・アプリケーション・ロールのパフォーマンスへの影響
システム・パフォーマンスは、Oracle Enterprise Manager Cloud ControlなどのOracle Databaseのツールを使用して確認できます。 - セキュア・アプリケーション・ロールに関連するレポートおよびデータ・ディクショナリ・ビュー
Oracle Enterprise ManagerとOracle Database Vaultを一緒に使用すると、Oracle Database Vaultセキュア・アプリケーション・ロールの分析に使用できる、レポートとデータ・ディクショナリ・ビューが提供されます。
8.1 Oracle Database Vaultのセキュア・アプリケーション・ロールの概要
Oracle Database Vaultでは、Oracle Database Vaultルール・セットで有効にするセキュア・アプリケーション・ロールを作成できます。
通常のOracle Databaseセキュア・アプリケーション・ロールはカスタムPL/SQLプロシージャによって有効になります。セキュア・アプリケーション・ロールは、ユーザーによるアプリケーション外からのデータへのアクセスを阻止します。これにより、ユーザーはロールに付与されているアプリケーション権限のフレームワーク内での作業を強制されます。
CDBルートまたはアプリケーション・ルートではなく、PDBでのみセキュア・アプリケーション・ロールを作成できます。
ルール・セットを基準にしてロールのデータベース・アクセスを行う利点は、データベース・セキュリティ・ポリシーをすべてのアプリケーションに保存するのではなく、中央の1つの場所に保存できることです。ルール・セットに基づいたロールにより、一貫性と柔軟性を兼ね備えたメソッドを作成し、ロールが提供するセキュリティ・ポリシーを実行できます。この方法では、アプリケーション・ロールのセキュリティ・ポリシーを更新する必要がある場合、1つの場所、つまりルール・セットで行うことができます。さらに、ユーザーがどのようにしてデータベースに接続しても、ルール・セットがロールにバインドされているため、結果は同じです。ユーザーは、ロールを作成して、それをルール・セットに関連付けるのみです。関連付けられているルール・セットでは、ロールの有効化を試行するユーザーが検証されます。
8.2 Oracle Database Vaultセキュア・アプリケーション・ロールのセキュリティ
データベース管理権限を持つユーザーは、DROP ROLE
文を使用して、Oracle Database Vaultセキュア・アプリケーション・ロールを削除する場合があります。
Oracle Database Vaultセキュア・アプリケーション・ロールが作成されると、必ずDatabase Vaultによりセキュア・アプリケーション・ロールがOracle Database Vaultレルムに追加されます。これにより、データベース管理者はDROP ROLE
文を使用してセキュア・アプリケーション・ロールを削除できません。
8.3 Oracle Database Vaultセキュア・アプリケーション・ロールの作成
セキュア・アプリケーション・ロールは、作成時に、そのロールが有効になる場合と無効になる場合を決定するOracle Database Vault管理のルール・セットに関連付けます。
関連トピック
8.4 Oracle Database Vaultで使用するためのOracle Databaseセキュア・アプリケーション・ロールの有効化
既存のセキュア・アプリケーション・ロールを変更できるのは、それがOracle Database Vaultで作成された場合のみです。
関連トピック
8.6 Oracle Database Vaultセキュア・アプリケーション・ロールの削除
Oracle Database Vaultセキュア・アプリケーション・ロールは、そのロールをアプリケーションが使用していない場合に削除できます。
関連トピック
8.7 Oracle Database Vaultセキュア・アプリケーション・ロールの動作
Oracle Database Vaultセキュア・アプリケーション・ロールのプロセス・フローは、セキュア・アプリケーション・ロールを作成した後に開始されます。
-
Oracle Database Vault Administrator、または
DBMS_MACADM
パッケージのセキュア・アプリケーション・ロール固有のファンクションを使用してロールを作成または更新します。 -
DBMS_MACSEC_ROLES.SET_ROLE
ファンクションを使用して、そのロールを呼び出すようにアプリケーションを変更します。 -
Oracle Database Vaultにより、セキュア・アプリケーション・ロールに関連付けられているルール・セットが評価されます。
ルール・セットがTrueと評価されると、ロールが現行のセッションに対して有効になります。ルール・セットがFalseと評価されると、ロールは有効になりません。どちらの場合も、Oracle Database Vaultにより、セキュア・アプリケーション・ロールに関連付けられているルール・セットの関連する監査およびカスタム・イベント・ハンドラが処理されます。
8.8 チュートリアル: Database Vaultセキュア・アプリケーション・ロールによるアクセス権限の付与
このチュートリアルでは、作業時間中にユーザーのOE.ORDERS
表へのアクセスを制御するセキュア・アプリケーション・ロールを作成する方法を示します。
- このチュートリアルについて
このチュートリアルでは、OE
スキーマのORDERS
表に対するSELECT
文を特定のユーザーに制限します。 - ステップ1: このチュートリアル用のユーザーの作成
最初に、チュートリアル用のユーザーを作成する必要があります。 - ステップ2: OEユーザー・アカウントの有効化
OE
スキーマがこのチュートリアル用に使用されます。 - ステップ3: ルール・セットとそのルールの作成
ルール・セットおよびルールは、OE.ORDERS
表の順序を変更できるユーザーを制限します。 - ステップ4: Database Vaultセキュア・アプリケーション・ロールの作成
Database Vaultセキュア・アプリケーション・ロールは、ルール・セット条件が満たされた場合に、設定されます。 - ステップ5: セキュア・アプリケーション・ロールへのSELECT権限の付与
セキュア・アプリケーション・ロールにはSELECT
権限を付与する必要があります。 - ステップ6: Database Vaultセキュア・アプリケーション・ロールのテスト
すべてのコンポーネントを準備したら、Database Vaultセキュア・アプリケーション・ロールをテストできます。 - ステップ7: このチュートリアルのコンポーネントの削除
コンポーネントが不要になった場合、このチュートリアルで作成したコンポーネントを削除できます。
8.8.1 このチュートリアルについて
このチュートリアルでは、OE
スキーマのORDERS
表に対するSELECT
文を特定のユーザーに制限します。
さらに、これらのユーザーは、リモート接続からではなく、オフィス内でのみOE.ORDERS
表に対してこれらの文を実行できます。これを実行するには、Oracle Database Vaultセキュア・アプリケーション・ロールを作成し、これに関連付けたルール・セットによって実施されるチェックに合格した場合のみ、ユーザーにこのロールが有効化されるようにします。
8.8.5 ステップ4: Database Vaultセキュア・アプリケーション・ロールの作成
Database Vaultセキュア・アプリケーション・ロールは、ルール・セット条件が満たされた場合に、設定されます。
この段階で、Database Vaultセキュア・アプリケーション・ロールとそれに関連付けられたルール・セットが作成されますが、ロールにはまだ権限がありません。
8.8.7 ステップ6: Database Vaultセキュア・アプリケーション・ロールのテスト
すべてのコンポーネントを準備したら、Database Vaultセキュア・アプリケーション・ロールをテストできます。
8.9 セキュア・アプリケーション・ロールのパフォーマンスへの影響
システム・パフォーマンスは、Oracle Enterprise Manager Cloud ControlなどのOracle Databaseのツールを使用して確認できます。
他に使用できるツールとして、自動ワークロード・リポジトリ(AWR)およびTKPROF
があります。
8.10 セキュア・アプリケーション・ロールに関連するレポートおよびデータ・ディクショナリ・ビュー
Oracle Enterprise ManagerとOracle Database Vaultを一緒に使用すると、Oracle Database Vaultセキュア・アプリケーション・ロールの分析に役立つレポートおよびデータ・ディクショナリ・ビューが提供されます。
表8-1に、Oracle Database Vaultレポートを示します。
表8-1 セキュア・アプリケーション・ロールに関連するOracle Enterprise Managerレポート
レポート | 説明 |
---|---|
「セキュア・アプリケーション・ロールの監査」レポート |
Oracle Database Vaultセキュア・アプリケーション・ロールを有効にする操作によって生成された監査レコードが表示されます。 このタイプの監査レコードを生成するには、ロールに関連付けられているルール・セットの監査を有効にします。 |
「セキュア・アプリケーション構成の問題」レポート |
存在しないデータベース・ロールや、不完全または無効なルール・セットのあるセキュア・アプリケーション・ロールが表示されます。 |
「ルール・セット構成の問題」レポート |
ルールが定義されていないか、有効ではなく、それらを使用するセキュア・アプリケーション・ロールに影響を与える可能性のあるルール・セットが表示されます。 |
強力なデータベース・アカウントおよびロールのレポート |
強力な権限のあるデータベース・アカウントおよびロールに関する情報が示されます |
DBA_DV_ROLE
データ・ディクショナリ・ビューには、権限管理で使用されるOracle Database Vaultセキュア・アプリケーション・ロールが表示されます。