QueryPieにGCPを同期してポリシー管理やサーバー連携するやり方

QueryPieとGCPの仮想サーバーを連携させる!
2024.03.05

巷で噂のSaaS型のデータ保護プラットフォームQueryPieとGCPをつなげてポリシー管理とかするやり方をお伝えします。

前提条件

  • GCPのプロジェクトは作成済
  • GCPのサービスアカウントも作成済
  • Compute Engine APIを有効化している
  • GCPでVMインスタンス作成済

今回サーバーはGCPで作成したVMインスタンスを使ってみます。
GCPでVMインスタンスを作成するやり方は以下記事を参考にしてください。

QueryPieにGCPを同期する

まずQueryPieにGCPを同期するには上部メニューのSettings > Server Settingsから左メニューのCloud Providers for Serverを開き、Create Providerをクリックします。
server-cloud1

表示される画面で各項目を入力します。
NameはQueryPieで表示される名前になります。
server-cloud2

保存すると「Cloud Providers for Server」に上記で決めた名前のリストが表示されます。
server-cloud3

同期をする際は作成されたリストをクリックし、Synchronizeをクリックします。
server-cloud4

GCPのサービスアカウントのJSONを入力してOKをクリックします。
server-cloud5

問題なければ左メニューのServerのリストに作成しているVMインスタンスが反映されます。
server-cloud6

これで同期は完了です。

同期したサーバーのアクセスポリシー管理

同期したサーバーは引き続きServerのリストからアクセスポリシー管理をすることができます。
server-cloud7

サーバーのアクセスポリシーでは以下の構成が設定できます。

  • アクセス開始時刻:指定したタイムゾーンでの接続のアクセシビリティの開始時刻を指定
  • アクセス終了時刻:指定したタイムゾーンでの接続のアクセス可能性の終了時刻を指定
  • 平日アクセス許可:接続にアクセスできる曜日を選択
  • 最大ログイン失敗数:この接続で許可されるログイン失敗の最大数を定義
  • ロックアウト前の指定時間間隔:ログイン失敗の最大数をカウントする時間間隔を設定
  • 許可されるセッション数:サーバー上でユーザーごとに許可されるセッションの最大数を決定
  • コマンドの制限 (SSH) :サーバー上の Web ターミナル経由で実行されるコマンドのポリシーを定義
  • 許可される最大試行数:禁止されたコマンドを実行できる回数を制限
  • ロックアウト前の指定時間間隔:禁止されたコマンドの実行をカウントする時間を設定
  • キーワード:禁止コマンドをキーワードとして指定
  • RegExr:禁止コマンドを正規表現で指定
  • コマンドの制限 (SFTP) :Web SFTP 経由で実行されるアクションのポリシーを設定。ディレクトリ/ファイルの削除、ファイルのアップロード、ファイルのダウンロード、ディレクトリの作成などのさまざまなアクションを制限するオプションがあり
  • コマンド監査:このサーバーで実行されたコマンドをログに記録するかどうかを選択

同期したサーバーにQueryPieからつなぐための準備

同期したサーバーをQueryPieにつなぐにあたり「Server Account」と「Server Access Control」の設定が必要になります。

Server Account

Server Accountでサーバー接続用のアカウントを作成します。
右上の+Add Accountをクリック。
server-cloud8

以下を設定します。

  • アカウント:個々のアカウントを区別するための名前を入力
  • 認証タイプ:アカウントの認証方法を選択
  • 権限:パスワードを選択した場合、認証用のパスワードを入力。SSH KeyはSSH Key Configurationsに登録されている鍵から選択
  • 自動ログイン:自動ログインのオンまたはオフを切り替え。オフの場合、パスワード認証方法のみが使用可能
  • SSH/SFTP:このアカウントで SSH または SFTP アクセスを許可するかどうかを決定
  • テスト:[接続のテスト] ボタンをクリックして、接続情報の有効性を確認

Server Access Control

Access Controlでサーバーアクセス制御を設定します。
右上のGrant Accessをクリック。
server-cloud9

アクセス許可をしたいサーバーを選択し、権限をあたえたいアカウントを選択します。
server-cloud10

有効期限、許可ゾーン、ポリシーを設定しGrantをクリックしたらアクセスが許可されます。
server-cloud11

サーバーとQueryPieをつなぐ

サーバーとQueryPieをつなぎます。
上部メニューのServers > Connectionsからアクセス許可をしたサーバーが選択できます。
サーバーを選択し、認証のパスワードを入力し、Connectをクリックすればサーバーをつなげることができます。
server-cloud12

これでサーバーとQueryPieの連携は完了です。

まとめ

今回単一のサーバーをQueryPieと連携する何ちゃない作業でしたが、複数のサーバーを横断的に運用する組織では各サーバーごとのガバナンスを取りまとめるのに苦労する部分もあるかと思います。
QueryPieを使うと、複数サーバーによるガバナンスまわりの対応はかなり楽になるかなと感じました。