高度な SQL Editor の主要機能
データベース DevOps が急速に進化する中、アプリケーション開発者と DBA はデータベース変更管理に共に関わるようになりました。アプリケーション開発者はスキーマやデータ変更を DB に適用する SQL を書き、クエリ結果を確認する責任を負います。一方で DBA は、各種ポリシーを整備し、アプリケーション開発者と連携してデータベース変更を実施することで、すべての DB が円滑・安全・効率的に稼働することを担保します。
ご存じのとおり SQL Editor は、SQL を実行し管理者コマンドで DB を操作するための重要なツールです。コマンドラインや従来型 SQL Editor のような古典的ツールに比べ、データベース DevOps チーム向けの高度な SQL Editor には次の機能が求められます。
- 使いやすい UI: SQL の記述・読解・実行、スキーマやクエリ結果の閲覧が容易であること。
- コラボレーション: SQL の保存、共有、追跡をチームで行えること。
- セキュリティ: 要件に応じたチームメンバーへの DB アクセス付与、クエリ実行時の機微データ保護、管理者コマンドの権限制御、監査ログの取得を提供すること。
Bytebase Console の SQL Editor
Bytebase v1.9.1 では、次のハイライトを備えた新しい SQL Editor をリリースしました。
- Admin モード: SQL Editor の Admin モードで DBA が管理者コマンドを実行できる。
- データベースベースのアクセス制御: 保護環境のすべての DB は SQL Editor で開発者がクエリできない。DBA は許可リストを設定し、一部の DB へのクエリ権限を開発者に付与できる。
- データマスキング: SQL Editor でクエリを実行する際、機微カラムの結果はマスクされる。サブクエリ、JOIN、Common Table Expression (CTE) などすべての形式に適用される。
- 監査ログ: Bytebase の監査ログが SQL Editor のすべてのクエリを記録し、DBA が確認できる。
- 共有シート: DBA と開発者は SQL Editor で SQL をシートとして保存し共有できる。本リリースでは、アップロードした SQL スクリプトをシートとして保存し、DB 変更適用の Issue で利用できる。1 シートで最大 100MB の SQL を扱える。
- 良好な UX: 一新された外観と、強化されたコード補完。
Admin モード
ユーザーが管理者コマンドで DB に接続したい場合、下記のように DBA アカウントで SQL Editor の Admin モードを使えます。詳細はドキュメント Admin Mode を参照してください。

データベースベースのアクセス制御
本番環境の一部 DB へのアクセスを開発者に許可したい場合、本番環境を保護環境としてマークし、許可リストを設定できます。詳細はドキュメント Database Access Control を参照してください。

データマスキング
開発者が SQL Editor で機微カラムを含むテーブルをクエリすると、そのカラムの結果は「**」と表示されます。設定の詳細はドキュメント Data Masking を参照してください。

監査ログ
DBA は監査ログで SQL Editor で実行されたすべてのクエリを閲覧できます。詳細はドキュメント Audit Log を参照してください。

共有シート
よく使う SQL はシートとして保存し、チームの公開 SQL ライブラリを整備できます。大きな SQL スクリプト (最大 100MB) はシートとしてアップロードしてから Issue で利用できます (下のスクリーンショット参照)。詳しくはドキュメント Manage SQL Scripts with Sheet を参照してください。

試してみる
Bytebase Console の新しい SQL Editor では、Admin モードで管理者コマンドを実行し、機微データをマスクしてクエリ結果を取得し、データベースアクセス許可を許可リストで管理し、よく使う SQL をシートとして保存してチームと共有できます。さらに、SQL Editor のすべてのクエリを監査ログで点検できます。
ご意見・ご質問はお気軽にどうぞ。Bytebase について詳しくは Discord でお話しできます。