データ管理 (DMS) を使用すると、[セキュリティルール] タブの [アクセス適用] タブでセキュリティルールを設定して、データベースインスタンス、データベース、テーブルのアクセス許可など、アプリケーションのアクセス許可を検証できます。
背景情報
DMSは、セキュリティルールを記述するドメイン固有言語 (DSL) を提供します。 ビジネス要件に基づいてリスクレベルを指定できます。 次に、さまざまなリスクレベルのオブジェクトに対する権限の申請に対して、さまざまな承認プロセスを指定できます。 たとえば、さまざまな方法でデータベースインスタンスに対するアクセス許可のアプリケーションを検証するセキュリティルールを設定できます。 基本構文の詳細については、「セキュリティルールのDSL構文」をご参照ください。
前提条件
DMS管理者、データベース管理者 (DBA) 、またはセキュリティ管理者です。
基本設定アイテム
[アクセス適用] タブには、8つの基本的な設定項目があります。
- [インスタンス許可アプリケーション] デフォルトの承認テンプレート: デフォルトでは、[インスタンス許可アプリケーションの検証] チェックポイントで、異なるリスクレベルのインスタンス許可アプリケーションに対して異なる承認プロセスを指定しない場合、この承認テンプレートが有効になります。 [設定項目の変更] ダイアログボックスで、[承認テンプレートの切り替え] をクリックして、既定の承認テンプレートの承認プロセスを変更できます。 詳細については、「データ変更」トピックの「デフォルトの承認テンプレートの変更」セクションをご参照ください。
- [DB権限申請] 既定の承認テンプレート: デフォルトでは、この承認テンプレートは、[データベース権限申請の検証] チェックポイントで異なるリスクレベルのデータベース権限申請に対して異なる承認プロセスを指定しない場合に有効になります。
- テーブル権限リクエストの既定の承認テンプレート: デフォルトでは、この承認テンプレートは、[テーブル権限アプリケーションの検証] チェックポイントで異なるリスクレベルのテーブル権限アプリケーションに対して異なる承認プロセスを指定しない場合に有効になります。
- [プログラマブルオブジェクト権限アプリケーション] 既定の承認テンプレート: デフォルトでは、この承認テンプレートは、プログラマブルオブジェクト検証チェックポイントの下で異なるリスクレベルでプログラマブルオブジェクト権限アプリケーションに対して異なる承認プロセスを指定しない場合に有効になります。
- [フィールド権限申請] 既定の承認テンプレート: デフォルトでは、この承認テンプレートは、[機密フィールドアプリケーションの検証] チェックポイントの下で、異なるリスクレベルで機密フィールド権限申請に対して異なる承認プロセスを指定しない場合に有効になります。
- Line-permission application default approval Template: デフォルトでは、この承認テンプレートは、Line permission application verificationチェックポイントで異なるリスクレベルの行権限アプリケーションに対して異なる承認プロセスを指定しない場合に有効になります。
- [所有者アプリケーション] デフォルトの承認テンプレート (リソースに所有者がない場合): デフォルトでは、この承認テンプレートは、所有者アプリケーション検証チェックポイントで異なるリスクレベルのデータ所有権アプリケーションに対して異なる承認プロセスを指定せず、アプリケーションに関連するデータに所有者がない場合に有効になります。
- [所有者アプリケーション] デフォルトの承認テンプレート (リソースに所有者がある場合): デフォルトでは、この承認テンプレートは、所有者アプリケーション検証チェックポイントで異なるリスクレベルのデータ所有権アプリケーションに対して異なる承認プロセスを指定せず、アプリケーションに含まれるデータに1人以上の所有者がいる場合に有効になります。
Checkpoints
チケットを送信して権限を申請すると、DMSは、チケットがチェックポイントで指定されたルールに準拠しているかどうかを確認します。 チケットは、チェックポイントで指定されたすべてのルールに準拠しているとDMSが判断した後にのみ送信できます。 [アクセス適用] タブでは、7つのチェックポイントがサポートされます。
- Owner Application Validation: Instances-OWNER、Table-OWNER、およびDatabase-OWNERチケットの承認プロセスまたは制約を指定できます。
- インスタンス許可アプリケーションの検証: インスタンス-パフォーマンスおよびインスタンス-ログインチケットの承認プロセスまたは制約を指定できます。
- データベース権限アプリケーションの検証: Database-Permissionチケットの承認プロセスまたは制約を指定できます。
- Table Permission Application Validation: Table-Permissionチケットの承認プロセスまたは制約を指定できます。
- プログラマブルオブジェクト検証: プログラマブルオブジェクトチケットの承認プロセスまたは制約を指定できます。
- 機密フィールドアプリケーションの検証: 機密列-許可チケットの承認プロセスまたは制約を指定できます。
- ライン権限アプリケーションの検証: Row-permissionチケットの承認プロセスまたは制約を指定できます。
要因とアクション
因子は、DMSにおける所定の変数である。 要因を使用して、セキュリティルールによって検証されるコンテキストを取得できます。 コンテキストには、SQL文のカテゴリとデータベース名が含まれます。 因子名は、プレフィックス
@ fac.と変数の表示名で構成されます。 [セキュリティルール] タブの各タブは、チェックポイントごとに異なる要素を提供します。 次の表に、[アクセス適用] タブのチェックポイントに提供される要素を示します。要素 説明 @ fac.env_type 環境のタイプ。 値は、 DEVやPRODUCTなどの環境タイプの表示名です。 詳細については、「インスタンスの環境タイプの変更」をご参照ください。@ fac.schema_name データベースの名前。 @ fac.perm_apply_duration 要求された権限が有効である期間。 単位:時間。 @ fac.column_security_level フィールドのセキュリティレベル。 有効な値: - 敏感
- 機密
- インナー
@ fac.perm_type 要求された権限のタイプ。 ['CORRECT','EXPORT'] などの文字列のリストが返されます。 有効な値:- クエリ
- エクスポート
- 正しい
- ログイン
- PERF
@ fac.perm_type要素は、@ fun.listEqualIgnoreOrder関数と一緒に使用して、チケットで要求されたアクセス許可のタイプを評価できます。 たとえば、@ fun.listEqualIgnoreOrder(@ fac.perm_type, ['QUERY']) 関数を使用して、クエリ許可のみが要求されているかどうかを評価します。
セキュリティルール内のアクションは、ルール内のIF条件が満たされたときにDMSが実行する操作です。 例えば、DMSは、チケットの提出を禁止し、承認プロセスを選択し、チケットを承認し、またはチケットを拒否することができる。 セキュリティルールのアクションは、セキュリティルールの目的を示します。 アクション名は、プレフィックス
@ act.と操作の表示名で構成されます。 [セキュリティルール] タブの各タブは、異なるチェックポイントに対して異なるアクションを提供します。 次の表に、[アクセス適用] タブのチェックポイントに提供されるアクションを示します。Action 説明 @ act.forbid_submit_order チケットの提出を禁止します。 @ act.do_not_approve 承認テンプレートのIDを指定します。 詳細については、「承認プロセスの設定」をご参照ください。 @ act.choose_approve_template @ act.choose_approve_template_with_reason
セキュリティルールテンプレート
DMSは、定義済みの多数のセキュリティルールテンプレートを提供します。 テンプレートを使用したり、ビジネス要件に基づいてテンプレートを変更したりできます。 次の表に、[アクセス適用] タブで提供されるセキュリティルールテンプレートを示します。
| チェックポイント | テンプレート機能 |
| 所有者アプリケーションの検証 | 運用環境でのデータの所有権のアプリケーションを許可しないことを指定します。 |
| データの所有権のアプリケーションを許可しないことを指定します。 | |
| テスト環境でのデータの所有権に関するアプリケーションの承認が不要であることを指定します。 | |
| データベース権限アプリケーションの検証 | データベースに対するアクセス許可のアプリケーションを許可しないことを指定します。 |
| 運用環境のデータベースに対するアクセス許可のアプリケーションを許可しないことを指定します。 | |
| テスト環境のデータベースに対するアクセス許可のアプリケーションに承認が必要ないことを指定します。 | |
| 表権限アプリケーションの検証 | テーブルに対する権限のアプリケーションを許可しないことを指定します。 |
| 運用環境のテーブルに対する権限のアプリケーションを許可しないように指定します。 | |
| テスト環境のテーブルに対するアクセス許可のアプリケーションに承認が必要ないことを指定します。 | |
| プログラム可能なオブジェクト検証 | プログラマブルオブジェクトに対するアクセス許可のアプリケーションを許可しないことを指定します。 |
| 運用環境のプログラマブルオブジェクトに対する権限のアプリケーションを許可しないことを指定します。 | |
| テスト環境のプログラマブルオブジェクトに対するアクセス許可のアプリケーションに承認が必要ないことを指定します。 | |
| 敏感なフィールドアプリケーションの検証 | 機密フィールドに対する権限のアプリケーションを許可しないことを指定します。 |
| 機密フィールドに対する権限の申請の承認プロセスを指定します。 | |
| 行権限申請の検証 | 行のアクセス許可のアプリケーションを許可しないことを指定します。 |
| 本番環境の行に対する権限のアプリケーションを許可しないように指定します。 | |
| 行のアクセス許可に対するアプリケーションの承認プロセスを指定します。 |
セキュリティルールの作成
- にログインします。 DMSコンソールV5.0
- 上部のナビゲーションバーで、 をクリックします。 左側のナビゲーションウィンドウで、[セキュリティルール] をクリックします。
- [セキュリティルール] タブで、管理するセキュリティルールセットを見つけ、[操作] 列の [編集] をクリックします。
- [詳細] ページで、左側のウィンドウの [アクセス適用] タブをクリックします。
- [アクセス適用] タブで、[操作] の横にある [ルールの作成] をクリックします。
- では、ルールの作成-アクセスの適用ダイアログボックスで、次の表で説明するパラメーターを設定します。
パラメーター 説明 チェックポイント 必須。 セキュリティルールを作成するチェックポイント。 [アクセス適用] タブには、7つのチェックポイントがあります。 - 所有者アプリケーションの検証
- インスタンス許可アプリケーションの検証
- データベース権限アプリケーションの検証
- 表権限アプリケーションの検証
- プログラム可能なオブジェクト検証
- 敏感なフィールドアプリケーションの検証
- 行権限申請の検証
テンプレートデータベース オプションです。 セキュリティルールの作成に使用するテンプレート。 DMSは、多数のセキュリティルールテンプレートを提供します。 チェックポイントを選択した後、[テンプレートデータベースからロード] をクリックし、必要に応じてテンプレートを選択できます。 使用可能なテンプレートの詳細については、「セキュリティルールテンプレート」をご参照ください。 ルール名 必須。 カスタムセキュリティルールの名前。 テンプレートからセキュリティルールを読み込むと、ルール名が自動的に入力されます。 ルールDSL 必須。 セキュリティルールの設定に使用するDSLステートメント。 詳細については、「セキュリティルールのDSL構文」をご参照ください。 テンプレートからセキュリティルールを読み込むと、DSLステートメントが自動的に入力されます。 - [送信] をクリックします。
- デフォルトでは、作成するセキュリティルールは [無効] 状態です。 [操作] 列の [有効化] をクリックします。
- プロンプトメッセージで、[OK] をクリックします。