Skip to main content

データベースのデータ保護機微データ。ゲートし、マスクする。

データベース層でのデータ保護は 2 つの統制に集約されます。ゲートはデータに誰がどの期間到達できるかを決め、マスクは到達した人が何を見るかを決めます。

データベースのデータ保護アーキテクチャ

2 つの統制。1 つの機微なデータセット。

ゲート

誰が、どのロールで、どのくらいの時間接続できるか。Just-in-Time の付与が常設の資格情報を置き換える。申請は理由を伴って承認者へ流れ、時計で失効する。常設の権限はゼロ近くに落ち、すべてのアクセスに記録された証跡が残る。

マスク

実際に何が返るか。動的データマスキングは、申請者のロールに基づいてクエリ時に機微値を変換する — あるユーザーには完全な値、別のユーザーにはハッシュ、3 番目には末尾 4 桁のみ。保存データは変わらず、SELECT の結果が変わる。

エンジン別の動的データマスキング

エンジン別にマスクする。

各エンジンは独自のマスキングプリミティブを備える — 拡張、ビューベース、ネイティブポリシー。各比較記事はそれらをワークフロー型ゲートウェイの代替と並べて評価する。

Bytebase のデータベースのデータ保護

申請でゲートし、クエリでマスクする。

Bytebase はデータベースの前段に立ち、両方の統制を回します。アクセス申請はデータベース、ロール、期間を伴い、承認者がサインオフし、付与は自動失効します。クエリ時には、環境、プロジェクト、テーブル、カラム、分類への CEL 条件で書かれたマスキングルールが、申請者のロールに基づいて機微値を変換します。

1 つのワークフロー。すべてのエンジン。

データベースのデータ保護に関する質問

よくある質問。

データベースのデータ保護とは?
データベースのデータ保護とは、機微な値が持つべきでない人やシステムに届かないようにするすべての仕掛けです。大きな括りは、暗号化 (保存時・通信時)、アクセス制御 (そもそも誰が接続できるか)、結果集合の制御 (接続できた人が実際に何を見るか) です。本シリーズは後者 2 つに焦点を当てます — 本番インシデントのリスクが最も集まる場所です。前者は通常、クラウドプロバイダーやアプリケーションスタックがインフラ層で解決します。
ゲートとマスクの両方が必要なのは?片方で済むのは?
ゲートだけで足りるのは、承認されたすべてのユーザーが、クエリするカラムのすべての値を見てよい場合です — ロール自体が信頼を表すバックオフィスツールが典型。マスクが上乗せで必要になるのは、異なるユーザーが同じカラムをクエリしてよいが、見えるべきものが違うとき — アナリストにはハッシュ化されたメール、サポートには末尾 4 桁、調査官にはフル値。JIT のゲートと DDM は補完的: JIT は常設アクセスをゼロ近くに保ち、DDM は付与されたアクセスが実際に返すものをフィルタする。
行レベルセキュリティ (RLS) とは何が違うか?
RLS はポリシーに基づいて行全体を隠します。マスキングは行を隠さずに特定のカラム値を変換します。Postgres、SQL Server、Oracle は RLS をネイティブに備えますが、エンジンネイティブの RLS は性能の地雷とバイパスのリスクを伴います (リンク先の Postgres RLS 記事を参照)。ワークフロー型ゲートウェイは DB の前段に立ち、エンジン横断で同じように動くマスキングとゲートのポリシーを、中央集約の監査証跡とともに適用します。

シリーズのすべての投稿。

データベース開発のスタンダードを体験する