データ管理 (DMS) では、データ変更のためにSQL文を実行できます。 しかし、このようなSQL文の実行には高度なセキュリティが必要です。 DMSを使用すると、[SQL Correct] タブでセキュリティルールを設定して、データ変更のチケットの送信と承認を検証できます。 セキュリティルールによって検証されたSQL文のみを実行できます。
前提条件
DMS管理者、データベース管理者 (DBA) 、またはセキュリティ管理者です。
背景情報
DMSを使用すると、ドメイン固有言語 (DSL) ステートメントを作成してセキュリティルールを定義できます。 ビジネス要件に基づいて、データ変更のリスクレベルを指定できます。 次に、さまざまなリスクレベルでデータ変更チケットに対してさまざまな承認プロセスを指定できます。 たとえば、SQL文の実行を制御するための厳密な承認プロセスや、すべてのSQL文の実行を許可するための緩い承認プロセスを指定できます。
[SQLの修正] タブで提供されるチェックポイント
チェックポイント | 説明 | 例 |
基本設定アイテム | デフォルトでは、次の5つのルールが提供されます。
| - |
SQL実行ルール | SQL実行ルールを使用して、SQLコンソールモジュールで実行できるSQL文を指定できます。 説明 2つの競合するルールが有効になっている場合、より厳格なルールが優先されます。 たとえば、次の2つのルールが両方とも有効になっている場合、2番目のルールが優先されます。
| オンライン環境で特定のDMLステートメントを実行してデータベースのデータを変更できるようにするには、次のSQL実行ルールを作成します。
上記のコードは、データベースがオフライン環境にある場合、 |
リスク識別ルール | リスク識別ルールは、データ変更のリスクを識別および分類するために使用されます。 データベース環境、データが影響を受ける行数、SQL文のカテゴリとサブカテゴリに基づいて、リスク識別ルールを作成できます。 説明 データ変更は、複数のセキュリティルールによって複数のリスクレベルでマークすることができます。 最高のリスクレベルが優先されます。 たとえば、データ変更は、5つのルールによって低リスクでマークされ、3つのルールによって中リスクでマークされ、1つのルールによって高リスクでマークされます。 この場合、データ変更はリスクの高い操作として識別されます。 | オフライン環境にあるデータベースのデータ変更を低リスクでマークする場合は、次のリスク識別ルールを作成できます。
上記のコードは、関連するデータベースがオフライン環境にある場合、データ変更が低リスクでマークされることを示しています。 |
リスク承認ルール | リスク承認ルールは、さまざまなリスクレベルでマークされたデータ変更を含むチケットの組み込みまたはカスタム承認ルールを指定するために使用されます。 リスク識別ルールチェックポイントに設定されたすべてのルールによってデータ変更がチェックされたが、リスクレベルのマークが付けられなかった場合、基本構成項目チェックポイントのデータ変更デフォルト承認テンプレートルールに指定された承認プロセスが使用されます。 | デフォルトでは、オフライン環境はリスクの低い要因として識別され、承認は必要ありません。 |
バッチデータのインポートルール | これらのルールは、データインポートチケットの検証にのみ適用されます。 | INSERTステートメントの一括インポートを許可する |
デフォルトの承認テンプレートの変更
DMSコンソールV5.0 にログインします。
上部のナビゲーションバーで、を選択します。
説明DMSコンソールをシンプルモードで使用する場合は、左上隅のアイコンの上にポインターを移動し、
を選択します。セキュリティルールタブで、管理するセキュリティルールセットを見つけて、編集で、アクション列を作成します。
詳細ページで、左側の正しいSQLタブをクリックします。
正しいSQLタブで、Checkpointsパラメーターに基本設定アイテムを選択します。
データ変更デフォルト承认テンプレートルールを見つけ、アクション列で編集をクリックします。
設定アイテムの変更ダイアログボックスで、承認テンプレートの切り替え をクリックします。
[承認テンプレートの切り替え] ダイアログボックスで、使用するテンプレートを見つけて、[操作] 列の [選択] をクリックします。
説明デフォルトでチケットの承認が必要ない場合は、[承認なしにリセット] をクリックして承認プロセスをスキップできます。
クリック送信.
[SQLの修正] タブで提供される要因とアクション
要素
因子は、DMSにおける所定の変数である。 要因を使用して、セキュリティルールによって検証されるコンテキストを取得できます。 コンテキストには、SQL文のカテゴリと影響を受ける行数が含まれます。
因子名は、プレフィックス
@ facで構成されます。
と要素の表示名を指定します。セキュリティルールセットの [詳細] ページの各タブは、チェックポイントごとに異なる要素を提供します。
表 1. [SQLの修正] タブで提供される要因
要素 | 説明 |
@ fac.env_type | 環境のタイプ。 値は、 |
@ fac.sql_type | SQL 文のタイプです。 値は、 |
@ fac.de tail_type | データ変更チケットのタイプ。 有効な値:
|
@ fac.is_logic | 影響を受けるデータベースが論理データベースであるかどうかを示すブール値。 |
@ fac.extra_info | チケットに関するその他の情報。 この要因は使用されていません。 |
@ fac.is_ignore_affect_rows | 検証をスキップするかどうかを示すブール値。 |
@ fac.insert_rows | 挿入するデータ行の数。 |
@ fac.update_delete_rows | 更新するデータの行数。 |
@ fac.max_alter_table_size | 変更するテーブルが格納されている最大のテーブルスペースのサイズ。 |
@ fac.is_has_security_column | 実行するSQL文に機密フィールドが含まれるかどうかを示すブール値。 |
@ fac.security_column_list | 実行されるSQLステートメントに含まれる機密フィールド。 |
@ fac.risk_level | SQL文によって実行されるデータ変更のリスクレベル。 |
@ fac.risk_reason | データの変更に基づく理由は、このリスクレベルでマークされます。 |
@ fac.table_name_list | データ変更に関与するテーブルの名前。 サンプルコード:
進行コードは、データ変更に関与するテーブルの名前がtb_orderまたはtb1_orderである場合、データ変更が高リスクでマークされることを示します。 |
Action
アクションは、if
ステートメントで指定された条件が満たされた場合にシステムが実行する操作です。 セキュリティルールに指定したアクションは、セキュリティルールの目的を示しています。 たとえば、チケットの送信を禁止したり、承認プロセスを選択したり、チケットを承認したり、チケットを拒否したりできます。
アクション名は、プレフィックス
@ actで構成されます。
とアクションの表示名を指定します。セキュリティルールセットの [詳細] ページの各タブは、異なるチェックポイントに対して異なるアクションを提供します。
表 2. [SQLの修正] タブで提供されるアクション
Action | 説明 |
@ act.allow_submit | SQL文の送信をチケットで実行できるようにします。 |
@ act.allow_execute_direct | SQLコンソールでのSQL文の実行を許可します。 |
@ act.forbid_execute | SQL文の実行を禁止します。 |
@ act.mark_risk | データの変更をリスクレベルでマークします。 例: |
@ act.do_not_approve | 承認テンプレートのIDを指定します。 詳細については、「承認プロセスの設定」をご参照ください。 |
@ act.choose_approve_template | |
@ act.choose_approve_template_with_reason |