Data Management (DMS) は、データベース操作を制御するために、3 層構造のフレームワークを採用しています。承認ノードは承認可能な担当者を定義し、承認テンプレートは承認の順序(シーケンス)を定義し、セキュリティルールは承認が必要な操作を定義するとともに、それらの操作を特定のテンプレートにマップします。インスタンスにセキュリティルールを関連付けることで、データベースフリート全体にわたって一貫したアクセス制御および変更制御を適用できます。
3 層構造の連携動作
ユーザーがチケット(例:データ変更またはデータエクスポートのリクエスト)を提出すると、DMS は該当するインスタンスに対して適用されるセキュリティルールを評価します。対象操作が承認を要するルール制御に該当する場合、DMS はその制御に紐付けられた承認テンプレートに基づき、チケットをルーティングします。テンプレートは、たとえば「データ所有者」→「DBA」といった順序でノードを実行し、すべての必須承認者が承認アクションを完了するまで処理を継続します。
承認ノード
承認ノードは、チケットの承認が可能なロールまたは個人を表します。DMS では、システムノードとカスタムノードの 2 種類が提供されます。
システムノード
システムノードは組み込みであり、編集および削除できません。
| ノード | 承認可能な担当者 |
|---|---|
| Admin | 任意の DMS 管理者。複数の管理者が存在する場合は、いずれか 1 名による承認で十分です。 |
| DBA | 管理対象インスタンスのデータベース管理者(DBA)。デフォルトでは、インスタンス登録時に指定された管理者または DBA が割り当てられますが、他の DBA ロールへ再割り当て可能です。 |
| DBA Roles | DMS 内のすべての DBA(管理対象リソースの DBA を含む)。 |
| Owner | データベースまたはテーブルのデータ所有者。DBA は、インスタンス登録およびデータディクショナリ収集時にデータ所有者を割り当てることができます。管理者もデータ所有権を割り当てることができ、ユーザーは自身をデータ所有者として申請することも可能です。 |
カスタムノード
カスタムノードは、必要に応じて編集および削除できます。ノード名を定義し、承認者を指定してください。
承認テンプレート
承認テンプレートは、チケットが通過すべき承認ノードの順序(シーケンス)を定義します。DMS では、システムテンプレートおよびカスタムテンプレートが提供されます。
システムテンプレート
システムテンプレートは組み込みであり、編集および削除できません。
| テンプレート | 承認シーケンス |
|---|---|
| Admin | 管理者のみ |
| DBA | DBA のみ |
| Owner | データ所有者のみ |
| Owner->DBA | データ所有者 → DBA |
| Owner->DBA->Admin | データ所有者 → DBA → 管理者 |
カスタムテンプレート
カスタムテンプレートは、必要に応じて編集および削除できます。システムノードとカスタムノードを組み合わせることで、ご自身のワークフローに最適化された承認シーケンスを構築できます。
セキュリティルール
セキュリティルールは、承認を要するデータベース操作を定義し、各操作を承認テンプレートにリンクします。DMS には、組み込みの 3 段階のセキュリティレベル(low、medium、high)が含まれており、これらは編集可能ですが削除はできません。カスタムセキュリティルールは、必要に応じて編集および削除できます。
1 つのインスタンスには 1 つのセキュリティルールのみを関連付けることができます。ビジネス要件に応じて、テスト環境では厳格な制御を適用し、バックエンドシステムの本番環境では緩やかな制御を適用することが可能です。
以下では、各モジュールで利用可能な制御機能について説明します。
SQL コンソール
SQL コンソールで直接実行されるクエリに対する制御を設定します。
データ操作言語(DML)ステートメントの実行可否を設定します。行数しきい値を設定でき、しきい値を超えると DML ステートメントはブロックされます。
データ定義言語(DDL)ステートメントの実行可否を設定します。テーブルサイズしきい値を設定でき、しきい値を超えると DDL ステートメントはブロックされます。
高リスクの DDL 操作(例:テーブルの削除、フィールドの削除など)の実行可否を設定します。
他の SQL ステートメントが実行可能か。
データ変更
DMS を通じて提出されるデータ変更チケットに対する制御を設定します。
DML ステートメントの実行可否を設定します。影響を受ける行数しきい値を設定でき、しきい値を超えると DML ステートメントはブロックされます。
DDL ステートメントの実行可否を設定します。テーブルサイズしきい値を設定でき、しきい値を超えると DDL ステートメントはブロックされます。
高リスクの DDL 操作(例:テーブルの削除、フィールドの削除など)の実行可否を設定します。
その他の SQL ステートメントの実行可否を設定します。
上記のいずれかの制御を有効化する場合、要件に応じて承認テンプレートおよび承認プロセスフローを選択してください。
データエクスポート
データエクスポートチケットに承認を要するかどうかを指定します。有効化した場合:
データエクスポートのしきい値を設定または変更します。
異なるしきい値に対して異なる承認テンプレートを割り当てます。
エクスポート対象のデータに機密データを含む行が存在する場合、これらの行をスキップする承認テンプレートを設定してください。機密データのエクスポートが必要な場合は、そのケース専用の承認テンプレートを設定してください。
権限申請
以下の権限リクエストタイプに対する承認ワークフローを設定します。
データベース、テーブル、または列に対する権限
| 権限タイプ | 説明 |
|---|---|
| データベースまたはテーブル | データベースまたはテーブルへのアクセスに対する承認フロー |
| 機密列 | 機密列へのアクセスに対する承認フロー |
| 機密列(Confidential) | 機密列(Confidential)へのアクセスに対する承認フロー |
データ所有者
| シナリオ | 説明 |
|---|---|
| データ所有者が存在する場合 | データベースまたはテーブルに既にデータ所有者が割り当てられている場合の承認フロー |
| データ所有者が存在しない場合 | データ所有者が割り当てられていない場合の承認フロー |
感度レベルの変更
| 変更 | 説明 |
|---|---|
| 機密から機微へ | セキュリティレベルを機密から機微へ引き下げるための承認フロー |
| 機密から内部へ | セキュリティレベルを機密から内部へ引き下げるための承認フロー |
| 機微から内部へ | セキュリティレベルを機微から内部へ引き下げるための承認フロー |