Google Cloud SQL for PostgreSQL

ネットワークトラフィックの暗号化

Looker アプリケーションとデータベース間のネットワーク トラフィックを暗号化することをおすすめします。セキュアなデータベースアクセスを可能にするドキュメント ページに記載されているオプションのいずれかを検討してください。

SSL 暗号化の使用を検討している場合は、PostgreSQL のドキュメントをご覧ください。

アプリケーションのデフォルト認証情報(ADC)を使用して接続する

Looker(Google Cloud コア)インスタンスでは、Google Cloud SQL for PostgreSQL の認証方法としてアプリケーションのデフォルト認証情報(ADC)がサポートされています。Google Cloud SQL for PostgreSQL 用に ADC を設定する場合は、次の手順を行う必要があります。

完全な手順については、Looker(Google Cloud コア)ドキュメントをご覧ください。

ユーザーとセキュリティ

データベースでアクションを実行するには、Looker がデータベース上のユーザーアカウントを持っている必要があります。

Looker(Google Cloud コア)インスタンスで ADC を使用する場合は、Cloud SQL データベースに追加したサービス アカウントのユーザー名の権限を借用します。サービス アカウントのユーザー名は service-<project number>@gcp-sa-looker.iam.gserviceaccount.com の形式になります。サービス アカウントのユーザー名の末尾が .gserviceaccount.com である場合は、ユーザー名の .gserviceaccount.com の部分を削除します。切り捨てられ後、ユーザー名は service-<project number>@gcp-sa-looker.iam のようになります。

Looker が使用するデータベース ユーザーを構成するには、データベースで次の操作を行います。

  1. データベース ユーザーとパスワードを作成します。

    CREATE USER USERNAME WITH ENCRYPTED PASSWORD 'PASSWORD';
    
  2. Looker がデータベースでアクションを実行できるように、データベース ユーザーに権限を付与します。

    GRANT CONNECT ON DATABASE DATABASE_NAME to USERNAME;
    \c DATABASE_NAME
    GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO USERNAME;
    GRANT SELECT ON ALL TABLES IN SCHEMA public TO USERNAME;
    
  3. public 以外のスキーマを使用している場合は、次のコマンドを実行して Looker に使用権限を付与します。

    GRANT USAGE ON SCHEMA SCHEMA_NAME TO USERNAME;
    
  4. public スキーマに今後追加するテーブルを Looker ユーザーが確実に利用できるようにするには、次のコマンドを実行します。

    ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON tables TO USERNAME;
    ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON sequences TO USERNAME;
    

ご利用の設定によっては、上記のコマンドを変更する必要がある場合があります。Looker ユーザーが今後の権限を必要とするテーブルを別のユーザーまたはロールが作成している場合、Looker ユーザーの権限の付与を適用する対象のロールまたはユーザーを指定する必要があります。

ALTER DEFAULT PRIVILEGES FOR USER ANOTHER_USERNAME IN SCHEMA SCHEMA_NAME GRANT SELECT ON tables TO USERNAME;
ALTER DEFAULT PRIVILEGES FOR ROLE TARGET_ROLE IN SCHEMA SCHEMA_NAME GRANT SELECT ON sequences TO USERNAME;

たとえば、web_app ユーザーがテーブルを作成し、looker ユーザーがそれらのテーブルを使用できるようにするには、GRANT ステートメントを実行して、looker ユーザーに web_app ユーザーにより作成されたそのテーブルに対する権限を付与する必要があります。この場合の対象ロールまたはユーザーは web_app ユーザーです。つまり、web_app によって作成されたテーブルに対する権限を変更して、looker ユーザーにテーブルの読み取り権限を付与します。以下に例を示します。

ALTER DEFAULT PRIVILEGES FOR USER web_app IN SCHEMA public GRANT SELECT ON tables TO looker;

詳細については、PostgreSQL のウェブサイトの ALTER DEFAULT PRIVILEGES をご覧ください。

一時的スキーマ設定

スクラッチスキーマを作成します。

CREATE SCHEMA SCHEMA_NAME;

管理者ユーザーにユーザーロールのメンバー権限を付与します。

GRANT USERNAME TO ADMIN_USER;

スクラッチスキーマの所有権をLookerユーザーに変更します。

ALTER SCHEMA SCHEMA_NAME OWNER TO USERNAME;

search_path の設定

Looker をデータベースに接続する前に、Looker SQL Runner がデータベースから特定のメタデータを取得するために使用できる適切な search_path を設定する必要があります。

ALTER USER USERNAME SET search_path TO '$user',SCHEMA_NAME,SCHEMA_NAME_2,SCHEMA_NAME_3
                                                            ^^^^^^^^^^^^^^^^^^
                                                            ^^^^^^^^^^^^^^^^^^
                                             include a comma-separated list of
                                            all schemas you'll use with Looker

データベースへの Looker 接続の作成

Looker からデータベースへの接続を作成するには、次の手順を行います。

  1. Looker の [管理者] セクションで [接続] を選択し、[新しい接続] をクリックします。
  2. [言語] プルダウン メニューから [Google Cloud PostgreSQL] を選択します。
  3. 接続の詳細を入力します。設定の大部分は、ほとんどのデータベース言語に共通するものです。詳細については、Looker をデータベースに接続するのドキュメント ページをご覧ください。
  4. 接続が成功したことを確認するには、[テスト] をクリックします。トラブルシューティング情報については、データベース接続のテストのドキュメント ページをご覧ください。
  5. これらの設定を保存するには、[接続] をクリックします。

機能のサポート

一部の機能については、Looker でサポートするには、データベース言語が同じ機能に対応している必要があります。

Google Cloud PostgreSQL では、Looker 25.18 の時点で、次の機能がサポートされています。

機能 サポート対象
サポートレベル
サポート対象
Looker(Google Cloud コア)
はい
対称集計
はい
派生テーブル
はい
永続的な SQL 派生テーブル
はい
永続的なネイティブ派生テーブル
はい
安定したビュー
はい
クエリの強制終了
はい
SQL ベースのピボット
はい
タイムゾーン
はい
SSL
はい
Subtotals
はい
JDBC の追加パラメータ
はい
大文字と小文字の区別
はい
ロケーション タイプ
はい
リストの種類
はい
パーセンタイル
はい
個別のパーセンタイル
はい
SQL Runner の表示プロセス
はい
SQL Runner の説明テーブル
はい
SQL Runner 表示インデックス
はい
SQL Runner Select 10
はい
SQL ランナーの数
はい
SQL の説明
はい
OAuth 2.0 認証情報
いいえ
コンテキスト コメント
はい
接続プーリング
はい
HLL スケッチ
いいえ
集約テーブルの自動認識
はい
増分PDT
はい
ミリ秒
はい
マイクロ秒
はい
マテリアライズド ビュー
いいえ
前期比指標
いいえ
Approximate Count Distinct
いいえ