Data Management (DMS) では、セキュリティルールと承認プロセスは相互に関連しています。組み込みのチケット承認テンプレートがビジネスニーズを満たさない場合は、カスタムの承認プロセスを作成できます。これにより、本番環境に送信されるすべてのデータベース変更チケットで、カスタムの承認プロセスが使用されるようになります。
概要
-
承認ノードの作成
チケットを承認する DMS ユーザーを承認ノードに追加します。
-
承認テンプレートの作成
カスタムチケット承認フローを定義します。
-
インスタンスに関連付けられているセキュリティルールへの承認テンプレートの適用
カスタム承認テンプレートを有効化するには、インスタンスに関連付けられているセキュリティルールに適用します。
前提条件
-
ユーザーが DBA または管理者であること。詳細については、「自分のシステムロールの表示」をご参照ください。
-
インスタンスがセキュリティコラボレーション コントロールモードを使用していること。
使用上の注意
-
1 つのインスタンスに関連付けることができるセキュリティルールは 1 つだけで、デフォルトルールまたはカスタムルールのいずれかです。
-
誤承認や遅延を防ぐため、チケット承認プロセスには少なくとも 2 人の承認者を設定することを推奨します。
-
インスタンスレベルのセキュリティルールを使用すると、インスタンスやデータベースごとに異なる承認プロセスを設定できますが、実際には制限が生じることがあります。例:
-
データベースインスタンスに DBA が 1 人しかいない場合、単一承認者によるボトルネックを避けるために、DBA ロールを持つ複数のユーザーに承認業務を割り当てる必要がある場合があります。
-
1 つのデータベースインスタンスが、複数の事業部門に属するデータベースによって共有されている場合、各事業部門がそれぞれのデータベースのチケットを処理できるように、承認プロセスに各事業部門を含める必要がある場合があります。
-
ステップ1:承認ノードの作成
DMSコンソールV5.0 にログインします。
左上隅にある
アイコンにポインターを移動し、 を選択します。説明DMS コンソールを通常モードで使用している場合は、上部のナビゲーションバーで を選択します。
-
[Approval Node] タブで [Create Approval Node] をクリックし、ダイアログボックスでパラメーターを設定します。
この例では、テスト管理者の
db_docとテストユーザーのdmsuser_test用に、2 つの承認ノードを作成します。ダイアログボックスには、[Name]、[Remarks]、[Approver] の 3 つの必須フィールドがあります。設定が完了したら、 [Submit] をクリックします。
説明承認ノードには、1 人以上の承認者を追加できます。承認ノードに複数の承認者がいる場合、いずれかの承認者がリクエストを承認できます。
-
[Submit] をクリックします。
送信後、作成した 2 つの承認ノードがリストに表示されます: [Test User] (ID 4505448、データベース
db_doc、ユーザー名dmsuser_test) と [Test Admin] (ID 4505433、データベースdb_doc、ユーザー名db_doc)。これらの [Type] は [Custom] であり、[Edit] または [Delete] が可能です。
ステップ2:承認テンプレートの作成
-
[Approval Template] タブで [Create Approval Template] をクリックし、ダイアログボックスでパラメーターを設定します。
この例では、テンプレートに [Test User->Test Admin] という名前を付け、備考に「 テストユーザーが最初に承認し、次にテスト管理者が承認する承認フロー」と追加します。次に、Test User、Test Admin の順序で承認ノードを追加します。
-
[Submit] をクリックします。
-
テンプレートの作成後、新しい [テンプレート ID] を記録します。
この例では、Template ID は 4399383 です。
新しい承認テンプレートには、 [Test User->Test Admin] の承認フローがあります。その [Type] は [Custom]、[Associated Object] は
db_doc、[Approval Levels] は 2 です。これは、チケットが最初にテストユーザー、次にテスト管理者による承認を必要とすることを示しています。
ステップ3:セキュリティルールへのテンプレートの適用
左上隅にある
アイコンにポインターを移動し、 を選択します。説明DMS コンソールを通常モードで使用している場合は、上部のナビゲーションバーで を選択します。
-
「セキュリティルール」ページで、対象のルールを見つけ、「操作」列の[編集]をクリックします。
-
セキュリティルールの詳細ページで、[SQL Correct] をクリックします。
-
[チェックポイント] を [リスク承認ルール] に設定し、[編集] ([中リスク承認プロセス] の横) をクリックします。
-
[Rule DSL] テキストボックスで、既存の承認プロセス ID を新しい ID の 4399383 に置き換えます。
ルール DSL コードの例:
if @fac.risk_level=='middle' then select_approve_template(4399383) end。変更後、 [Submit] をクリックします。 -
[Submit] をクリックします。
-
ルールの詳細ページで、中リスクの承認プロセスルールを [Enable] にします。
-
リスク承認ルールをリスク識別ルールに関連付けます。
で、ルールを設定し、必要なデータベースにカスタム承認プロセスを適用します。
ナビゲーションペインで [SQL Correct] をクリックし、[Risk Identification Rules] タブを選択します。[Production environment, default is medium risk] ルールの行で、[Actions] 列の [Edit] をクリックします。
以下の [Production environment, default is medium risk] ルールのサンプルルール DSL は、本番環境のデータベースでデータインポート操作を実行すると、DMS がその操作を中リスクとしてマークすることを示しています。この場合、新しく作成された [Test User->Test Admin] 承認テンプレートが承認を処理します。
if @fac.env_type in ['product'] then @act.mark_risk 'middle' 'Medium risk: production environment' end -
設定が成功したことを確認します。
たとえば、本番環境のデータベース向けのデータインポートチケットを送信します。チケットの承認段階で、承認ダイアログボックスの承認プロセスが設定と一致する場合、設定は正しいです。詳細については、「データインポート」をご参照ください。
たとえば、 [Preview Details] ダイアログボックスには、[Submit Application] (ユーザー db_doc が送信)、[Test User] (ユーザー dmsuser_test が承認)、[Test Admin] (ユーザー db_doc が承認) の 3 つの承認ノードを持つ承認プロセスが表示されます。
次のステップ
チケット承認プロセスをカスタマイズした後、承認者が承認通知を受け取る方法 (SMS、DingTalk、メールなど) を設定する必要がある場合もあります。詳細については、「ユーザー管理」および「DingTalk または Lark を使用した通知の送信」をご参照ください。
よくある質問
Q:データベースごとに異なる承認者を指定するにはどうすればよいですか?
A:データベースごとに異なるリソースオーナーを設定し、承認テンプレートに ['Owner'] システムノードを追加します。