Skip to main content

Just-in-Time データベースアクセス

Tianzhou · 2024年11月21日

Just-In-Time (JIT) データベースアクセスは、データベースのアクセス権を必要なときだけ一時的に付与し、指定期間後に自動失効させるセキュリティの実践です。ねらいは、不正アクセスのリスクを減らし、攻撃対象面を最小化し、ユーザーやアプリケーションが特定タスクの遂行に必要なときだけアクセス権を持つことでセキュリティを高めることにあります。

従来のワークフロー

既存の JIT データベースアクセスソリューションが提供する典型的なワークフローは次の通りです。

  1. インシデント発生。
  2. オンコール担当者が JIT システムを訪れ、データベースの昇格権限を申請。
  3. 申請が承認され、JIT システムが一時的な DB ユーザーを払い出し、オンコール担当者に渡す。
  4. オンコール担当者は SQL クライアントから一時 DB ユーザーで本番 DB に接続し、トラブルシュート開始。
  5. インシデント収束。
  6. JIT システムが一時 DB ユーザーを失効、または自動失効を待つ。

既存の JIT ソリューションは一定の自動化と中央管理を提供しますが、JIT を申請・払い出しするシステムと、エンドユーザーが実際に DB に接続するシステムが切り離されているため、限界があります。

  1. ユーザーは毎回 SQL クライアントに別の DB 資格情報を設定する必要がある。

  2. システムは JIT アクセスの申請をレビュー・監査できても、エンドユーザーが実行する SQL を記録・制御できない。

Bytebase のワークフロー

Bytebase は JIT データベースアクセスのために同様のセルフサービス申請ワークフローを提供します。加えて次の利点があります。

細粒度の DB 権限

Bytebase は細粒度の DB 権限を有効化し、デフォルトでは開発者に EXPLAIN 権限のみを付与する、といった運用ができます。インシデント時に開発者は一時的に昇格権限を取得でき、問題解決後は速やかに失効させます。これによりZero Standing Privileges (ZSP) — 組織の IT 環境に常設のアクセス権を残さない運用 — を実現します。

統合された SQL Editor

sql-editor

Bytebase は組み込みの SQL Editorを備えているため、ユーザーは DB を点検するために別の SQL クライアントへ移動する必要がありません。さらに Bytebase は SQL ステートメントを制限し、動的データマスキングを適用できます。

API ファースト

Bytebase は API を介して既存の Internal Developer Portal (IDP) に統合できます。次のチュートリアルでは、SQL Editor を埋め込み、API 経由で DB 権限を設定する方法を紹介します。

比較

JIT データベースアクセス機能従来型Bytebase
セルフサービスの申請・承認フロー
自動失効
申請の監査ログ
SQL の監査ログ
統合 SQL クライアント
動的データマスキング
カスタム統合⚠️ 組み込み SQL クライアントが無いため限定的
ブログに戻る

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