テーブル同期では、スキーマ同期、シャドウテーブル同期、空のデータベースの初期化、テーブル一貫性修復がサポートされており、セキュリティルールを使用してこれらを制御できます。
基本設定
テーブル同期の基本設定項目では、デフォルトの承認テンプレートの設定、実行機能の有効化、分析フェーズのスクリプト有効期限を設定できます。
-
実行機能の有効化:このオプションを無効にすると、テーブル同期は SQL 実行機能を使用できなくなり、テーブルスキーマの差分比較のみが可能になります。その他のすべての設定項目とチェックポイントのセキュリティルールも無効になります。
-
テーブル同期のデフォルト承認テンプレート:デフォルト値を使用するか、[承認テンプレートの切り替え] をクリックして、デフォルトの承認テンプレートの承認プロセスを変更できます。 詳細については、「デフォルトの承認テンプレートを変更する」をご参照ください。
-
分析フェーズのスクリプト有効期限 (時間単位):適切な有効期限を設定することで、タスク実行前のターゲットテーブルスキーマの変更によるリスクを軽減できます。
チェックポイント
Table Sync には 4 つの機能に対応する 4 つのチェックポイントがあります。これらのチェックポイントは互いに独立しています。例えば、[スキーマ同期] チケットを提出すると、[基本設定項目] と [スキーマ同期検証] のチェックポイントのみがトリガーされます。
-
[スキーマ同期検証]: [スキーマ同期] チケットに制約を適用するか、承認プロセスを設定します。
-
[シャドーテーブル同期の検証]: [シャドーテーブル同期] チケットに制約を適用するか、承認プロセスを設定します。
-
[空のデータベース初期化の検証]: [空のデータベースの初期化] チケットに対して制約を適用するか、承認プロセスを設定します。
-
[テーブル一貫性修復検証]: [テーブル一貫性修復] チケットに対して、制約を適用するか、承認プロセスを設定します。
各チェックポイントでは、テンプレートデータベースに用意されているルールを使用するか、カスタムルールを作成できます。詳細については、「ルールの追加」をご参照ください。
ファクターとアクション
ファクター
ファクターとは、SQL タイプや影響を受ける行数など、セキュリティルールの検証のためのコンテキスト情報を提供する、組み込みのシステム変数です。すべてのファクターは @fac. プレフィックスで始まり、その後にファクター名が続きます。各モジュール内のチェックポイントは、それぞれ異なるファクターを提供します。次の表では、[テーブル同期] で利用可能なファクターについて説明します。
|
ファクター |
説明 |
|
@fac.env_type |
環境タイプ。値は |
|
@fac.schema_name |
スキーマの名前。 |
アクション
アクションは、IF 条件が満たされたときに実行されるシステムの動作です。 チケットの送信の禁止、ワークフローの選択、実行の許可または拒否などのアクションは、セキュリティルールの主な目的を表します。 すべてのアクションは、プレフィックス @act. で始まり、その後にアクション名が続きます。 各モジュール内のチェックポイントによって、使用できるアクションが異なります。 次の表では、[Table Sync] で使用可能なアクションについて説明します。
|
アクション |
説明 |
|
@act.forbid_submit_order |
チケットの送信を禁止します。構文: |
|
@act.do_not_approve |
Specifies the ID of an approval template. For more information, see Set the approval process. |
|
@act.choose_approve_template |
|
|
@act.choose_approve_template_with_reason |
テンプレートデータベース
セキュリティルールは、要件に合わせて直接有効化したり、カスタマイズしたりできる多数のルールテンプレートを提供します。次の表では、[テーブル同期] のテンプレートについて説明します。
|
チェックポイント |
テンプレート |
|
Schema Synchronization Validation |
「スキーマ同期」- テストデータベースの承認不要同期の設定 |
|
「スキーマ同期」- SQL 実行機能の無効化 |
|
|
「スキーマ同期」- 本番データベースの SQL 実行機能の無効化 |
|
|
「スキーマ同期」- 本番データベースの同期に対する承認プロセスの設定 |
|
|
Shadow Table Synchronization Validation |
「シャドウテーブル同期」- テストデータベースの承認不要同期の設定 |
|
「シャドウテーブル同期」- SQL 実行機能の無効化 |
|
|
「シャドウテーブル同期」- 本番データベースの SQL 実行機能の無効化 |
|
|
「シャドウテーブル同期」- 本番データベースの同期に対する承認プロセスの設定 |
|
|
Empty Database Initialization Validation |
「空のデータベースの初期化」- テストデータベースの承認不要同期の設定 |
|
「空のデータベースの初期化」- SQL 実行機能の無効化 |
|
|
「空のデータベースの初期化」- 本番データベースの SQL 実行機能の無効化 |
|
|
「空のデータベースの初期化」- 本番データベースの同期に対する承認プロセスの設定 |
|
|
Table Consistency Repair Validation |
「テーブル一貫性修復」- テストデータベースの承認不要同期の設定 |
|
「テーブル一貫性修復」- SQL 実行機能の無効化 |
|
|
「テーブル一貫性修復」- 本番データベースの SQL 実行機能の無効化 |
|
|
「テーブル一貫性修復」- 本番データベースの同期に対する承認プロセスの設定 |
実行機能の有効化
基本設定項目で [実行機能の有効化] を有効にする必要があります。このオプションが無効になっている場合、Table Sync はテーブルスキーマの差異を比較することしかできず、SQL 文を実行することはできません。
DMSコンソールV5.0 にログインします。
左上隅にある
アイコンにポインターを移動し、 を選択します。説明DMS コンソールを通常モードで使用している場合は、上部のナビゲーションバーで を選択します。
-
[セキュリティルール] タブで、目的のセキュリティルールセットを見つけ、[操作] 列の [編集] をクリックします。
-
[詳細] ページの左側のナビゲーションペインで、 を選択します。
-
[テーブル同期] タブで、[基本設定項目] をクリックします。
-
[実行機能の有効化 (無効になっている場合、他のルールは無効です)] ルールを探し、[編集] をクリックします。
-
[設定項目の編集] ダイアログボックスで、[設定内容] スイッチをオンにします。
-
[送信] をクリックします。
デフォルトの承認テンプレートの変更
DMSコンソールV5.0 にログインします。
左上隅にある
アイコンにポインターを移動し、 を選択します。説明DMS コンソールを通常モードで使用している場合は、上部のナビゲーションバーで を選択します。
-
[セキュリティルール] タブで、対象のセキュリティルールセットを見つけ、[操作] 列の [編集] をクリックします。
-
[詳細] ページの左側のナビゲーションペインで、 を選択します。
-
[Table Sync] タブで、[基本設定項目] をクリックします。
-
[Table Sync のデフォルト承認テンプレート] ルールを探し、[編集] をクリックします。
-
[設定項目の編集] ダイアログボックスで、[承認テンプレートの切り替え] をクリックします。
-
目的の [テンプレート名] の右にある [操作] 列の [選択] をクリックします。
説明また、[承認不要にリセット] をクリックすると、チケットが承認プロセスをバイパスできるようになります。
-
[送信] をクリックします。
ルールの追加
DMSコンソールV5.0 にログインします。
左上隅にある
アイコンにポインターを移動し、 を選択します。説明DMS コンソールを通常モードで使用している場合は、上部のナビゲーションバーで を選択します。
-
[セキュリティルール] タブで、対象のセキュリティルールセットを探し、[操作] 列の [編集] をクリックします。
-
[詳細] ページの左側のナビゲーションペインで、 を選択します。
-
[テーブル同期] タブで、[アクション] の右にある [ルールを追加] をクリックします。
-
[ルールの追加 - テーブル同期] ダイアログボックスで、次のパラメーターを設定します。
パラメータ
説明
[チェックポイント] (必須)
ルールのチェックポイントを選択します。テーブル同期では、次のチェックポイントを使用できます。
-
Schema Synchronization Validation
-
Shadow Table Synchronization Validation
-
Empty Database Initialization Validation
-
Table Consistency Repair Validation
[テンプレートライブラリ] (任意)
[チェックポイント] を選択すると、必要に応じて [テンプレートデータベース] からルールテンプレートをロードできます。 利用可能なテンプレートのリストについては、「テンプレートデータベース」をご参照ください。
[ルール名] (必須)
ルールのカスタム名を入力します。[テンプレートデータベース] からテンプレートを読み込んだ場合、このフィールドは自動的に入力されます。
[ルール DSL] (必須)
ルール DSL を入力します。構文の詳細については、「セキュリティルールの DSL 構文」をご参照ください。[テンプレートデータベース] からテンプレートをロードすると、このフィールドは自動的に入力されます。
-
-
[送信] をクリックします。
-
デフォルトでは、新しいルールは[無効]状態です。ルールの[操作]列で[有効化]をクリックします。
-
表示される確認ダイアログボックスで、[OK] をクリックします。