BytebaseによるDBアクセス制御と運用効率の最適化
note株式会社 / Shogo Tanaka
メンバー / SRE
利用プラン | 利用機能 | ツールの利用規模 | ツールの利用開始時期 | 事業形態 |
---|---|---|---|---|
エンタープライズ | SQLエディタ、動的データマスキング、ロールベースのアクセス制御 | 11名〜50名 | 2024年10月 | B to B C to C |
利用プラン | エンタープライズ |
---|---|
利用機能 | SQLエディタ、動的データマスキング、ロールベースのアクセス制御 |
ツールの利用規模 | 11名〜50名 |
ツールの利用開始時期 | 2024年10月 |
事業形態 | B to B C to C |
アーキテクチャ
アーキテクチャの意図・工夫
- BytebaseはECS上でセルフホストしており、自社環境で運用
- Bytebaseへの接続は社内VPN経由に限定
- 各データベースとはVPCピアリングを通じて接続
- データベースの認証情報はAWS Secrets Managerに格納し、Bytebaseが参照
導入の背景・解決したかった問題
導入背景
ツール導入前の課題
従来のデータベース接続は、以下のように複数のツールを組み合わせて運用していました。
GitHub Actions上で動作する社内ツールを用いてユーザー発行申請を実施
有効期限付きのMySQLユーザーのIDおよびパスワードを払い出し
ローカルのGUIツールまたはCLIから、踏み台用ECSタスクを経由してデータベースに接続
この仕組みには以下の課題がありました。
申請者の課題
- 有効期限が切れるたびにMySQLユーザーを再申請する必要がある
- GUIツールやCLIでのID・パスワード設定を都度行う必要がある
管理者の課題
- 社内ツールや踏み台サーバーの運用管理が必要
- トラブル対応に多くの工数がかかる
- ロール追加・変更時にはツールの改修が発生する
どのような状態を目指していたか
- 柔軟かつ安全にアクセス権限を払い出せる仕組みの構築
- 利用者の属性に応じた接続先や操作範囲の細かな制御
- 従来の仕組みより高いセキュリティレベルの確保
- ツールの一元化による、接続作業・管理作業の効率化
- IDとパスワードを毎回入力せずにデータベースへ接続できること
- 接続に関するトラブルシュート対応の工数低減
選定理由
Bytebaseを導入することで、複数のツールを一元化し、よりセキュアかつ効率的にデータベースへアクセスできると判断しました。以下の点が決め手となりました。
- セルフホストが可能で、自社環境での運用が可能
- SSOによるログイン認証で、ユーザーの登録・削除の手間を省略できる
- 権限申請・承認のワークフロー機能により、既存の仕組みを代替できる
- 細かなアクセス制御により、社員や業務委託など多様な属性に対応可能
- 監査ログに対応しており、有事の際のログ確認が可能
導入の成果
改善したかった課題はどれくらい解決されたか
Bytebaseの導入により、当初改善を目指していた課題はすべて解決されました。
どのような成果が得られたか
- 属性ごとのアクセス制御と権限払い出しの実現
- ロールベースのアクセス制御によって柔軟な権限管理が可能になり、ユーザーをグループ分けすることで適切なアクセス権を簡単に付与できるようになりました。
- 管理工数の低減
- 複数ツールをBytebaseに統合し、SSOによる接続を実現したことで運用負荷を大幅に軽減しました。
- 他プロジェクトへの展開
- 最初はnoteへの導入から始まり、得られた知見をもとにnoteマネーやTalesなど他プロジェクトにも展開し、現在は3つのプロダクトでBytebaseを活用しています。
導入時の苦労・悩み
導入時に最も苦労したのは、権限設計です。Bytebaseではユーザー、グループ、ロール、パーミッションといった概念で権限管理を行うため、属性と必要権限を整理し、星取表を作成して設計・設定を行いました。
導入に向けた社内への説明
上長・チームへの説明
導入前には以下のポイントを整理し、上長に説明を行いました。課題や期待される効果を伝え、導入への理解を得ることができました。
- 検討の背景
- ツールの概要とコスト
- Bytebaseが代替する現行の仕組み
- Bytebaseで実現できること・できないこと
- トライアル環境でのフィードバック
- セキュリティ機能の確認結果
導入後は、SREチーム向けの運用マニュアルと、エンジニア向けの利用手順書を整備し、利用者への周知を行いました。
活用方法
エンジニア、プロダクトマネージャー、データアナリストが以下の用途でBytebaseを活用しています。
- 問い合わせ対応時のデータ確認
- 機能開発時のデータ確認
- データ分析時のデータ確認
- 一部の開発環境でのデータ書き込み
よく使う機能
- WebベースのSQLエディタ
- 最も頻繁に利用されている機能。ブラウザ上からSQLを実行し、結果をCSV形式などで出力可能。
- 動的データマスキング
- 秘匿性の高いカラムの情報をマスキングするために活用。
- IssueベースのDML実行
- 一部プロジェクトの開発環境でのデータ書き込みに使用。
ツールの良い点
- 高い柔軟性を持つ権限設定
- 詳細な制御が可能なデータマスキング
- SlackやGitHubとの連携対応
ツールの課題点
- SCIM連携がEntra ID(旧 Azure AD)のみに限定されている (2025年4月現在)
- データマスキングのアンマスク権限にワークフローが対応していない (2025年4月現在)
ツールを検討されている方へ
Bytebaseには無料のコミュニティプランがあり、ローカル環境で検証することも可能です(一部の機能を除く)。公式が提供するPOC Checklistを活用し、自社の要件に合致するかどうかを確認するのがおすすめです。
今後の展望
- CI/CD機能の活用拡大
- 現在は主に読み取り専用クエリを使用していますが、今後はDML・DDL・オンラインスキーママイグレーションなどに対してもBytebaseのCI/CD機能の活用を検討していく予定です。
- 運用効率のさらなる向上
- 導入から半年が経過し、運用に関する知見が蓄積されてきたため、今後はより効率的な運用体制を構築していきます。
note株式会社 / Shogo Tanaka
メンバー / SRE
note株式会社 / Shogo Tanaka
メンバー / SRE
レビューしているツール
目次
- アーキテクチャ
- 導入の背景・解決したかった問題
- 活用方法