Looker(Google Cloud コア)インスタンスがプロビジョニングされると、Google Cloud プロジェクトの [インスタンス] ページに表示されます。インスタンスの URL をクリックして、インスタンスにアクセスして認証します。
Looker(Google Cloud コア)インスタンスにログインしたら、Looker(Google Cloud コア)インスタンスへのデータベース接続を設定できます。
データベース接続を設定する
データ探索を有効にするには、Looker(Google Cloud コア)をデータベースに接続する必要があります。Looker(Google Cloud コア)でサポートされている言語については、サポートされている言語のリストをご覧ください。
次のいずれかの権限が付与されている場合、Looker(Google Cloud コア)インスタンス内にデータベース接続を作成できます。
Looker(Google Cloud コア)インスタンス内に動的に表示される Looker の設定ガイドに従って、データベースを接続するか、言語固有のドキュメント ページに表示されている手順に従います。設定の大部分は、ほとんどのデータベース言語に共通するものです。Looker 接続設定ウィンドウの一般的なフィールドについては、Looker をデータベースに接続するのドキュメント ページをご覧ください。
次のいずれかのオプションで Looker(Google Cloud コア)接続を設定するには、追加の手順が必要です。
プライベート IP 接続: Looker(Google Cloud コア)インスタンスがプライベート IP 接続を使用する場合、次のタイプのデータベースに接続するには、ルートまたはプライベート接続を設定する必要があります。
- Google Cloud 内の別のネットワーク内のデータベース
- 別のクラウド サービス プロバイダでホストされているデータベース
- オンプレミス データベース
プライベート ネットワークと外部サービスの詳細については、Looker(Google Cloud コア)によるプライベート IP ネットワーキングドキュメント ページをご覧ください。
BigQuery データベースと Cloud SQL データベースのアプリケーションのデフォルト認証情報で認証する: Looker(Google Cloud コア)インスタンスでは、次のセクションで説明するように、アプリケーションのデフォルト認証情報(ADC)を使用してデータベースに認証できます。
OAuth を使用して BigQuery データベースに認証する: BigQuery 接続の場合、Looker(Google Cloud コア)は、Looker 管理者が Looker(Google Cloud コア)インスタンスの作成時に使用した OAuth アプリケーション認証情報を自動的に使用できます。詳細については、このページの BigQuery での OAuth 認証の構成をご覧ください。
アプリケーションのデフォルト認証情報を使用した BigQuery データベースへの接続
Looker(Google Cloud コア)インスタンスでは、BigQuery 標準 SQL データベースへの接続を設定するときに、アプリケーションのデフォルト認証情報(ADC)を使用して認証できます。ADC を使用すると、接続は Looker(Google Cloud コア)プロジェクトのサービス アカウントの認証情報を使用してデータベースに対して認証を行います。
BigQuery データベースで ADC を使用するには、Looker インスタンスの [接続設定] ページの [認証] フィールドで [アプリケーションのデフォルト認証情報] を選択します。手順の詳細については、Looker を BigQuery データベースに接続するのドキュメントをご覧ください。
Looker(Google Cloud コア)インスタンスが BigQuery データセットで永続的な派生テーブルを使用する場合は、Looker サービス アカウントに BigQuery データ編集者 IAM ロールも付与する必要があります。
Looker(Google Cloud コア)インスタンスとは異なるプロジェクトにある BigQuery データベースに接続する場合は、追加の設定が必要です。別の Google Cloud プロジェクトの BigQuery データベースでアプリケーションのデフォルト認証情報を使用するセクションをご覧ください。
サービス アカウントの権限借用
Looker(Google Cloud コア)プロジェクトのサービス アカウント以外のサービス アカウントを使用して BigQuery データベースに対する認証を行う場合は、[権限を借用したサービス アカウント] フィールドに別のサービス アカウントまたはカンマ区切りのサービス アカウントのチェーンを入力し、委任リクエスト フローを作成できます。Looker(Google Cloud コア)サービス アカウントはチェーン内の最初のサービス アカウントとして自動的に使用され、フィールドに追加される必要はありません。チェーンの最後のサービス アカウント(権限を借用したサービス アカウントとも呼ばれます)がデータベースで認証されるサービス アカウントです。
サービス アカウントの権限借用を使用する場合は、次の操作を行います。
- Service Consumer Management API を有効にします。
- Looker(Google Cloud コア)プロジェクトのサービス アカウントを含む、チェーン内のすべてのサービス アカウントに適切な IAM 権限があることを確認します。
- 権限を借用したサービス アカウントに、Service Usage ユーザーのロール、BigQuery ジョブユーザーのロール、BigQuery データ閲覧者ロールがあることを確認します。
別の Google Cloud プロジェクトの BigQuery データベースでアプリケーションのデフォルト認証情報を使用する
Looker(Google Cloud コア)インスタンスを格納するプロジェクト外の BigQuery 標準 SQL データベースに対して ADC を使用する手順は、同じプロジェクトでの接続を設定する場合と同じです。ただし、Looker(Google Cloud コア)インスタンスで接続を設定する前に、Looker(Google Cloud コア)プロジェクトのサービス アカウントに次の IAM ロールが付与されている必要があります。
- BigQuery データセットを含むプロジェクトに対する BigQuery データ閲覧者ロール。
- [接続設定] ページに表示される請求先プロジェクトの BigQuery ジョブユーザーのロールと Service Usage ユーザーのロール。
- Looker(Google Cloud コア)インスタンスが BigQuery データセットで永続的な派生テーブルを使用する場合、サービス アカウントには、BigQuery データセットを含むプロジェクトに対する BigQuery データ編集者ロールも必要です。
Looker(Google Cloud コア)サービス アカウントに、BigQuery データセットを含むプロジェクトで IAM ロールがまだ付与されていない場合は、そのプロジェクトでロールを付与するときにサービス アカウントのメールアドレスを使用します。サービス アカウントのメールアドレスを確認するには、Google Cloud コンソールで [IAM] ページに移動し、[Google 提供のロール付与を含める] チェックボックスをオンにします。メールの形式は service-<project number>@gcp-sa-looker.iam.gserviceaccount.com
です。そのメールを使用して、サービス アカウントに適切なロールを付与します。
適切なロールが付与されたら、ADC を使用する手順に沿って操作します。
この BigQuery 標準 SQL データベースで ADC を使用できるようになりました。[接続設定] ページで指定されたサービス アカウントに関連付けられたプロジェクトは、請求に使用され、デフォルトのプロジェクトとしても機能します。
アプリケーションのデフォルト認証情報を使用して Cloud SQL データベースに接続する
Looker(Google Cloud コア)インスタンスでは、ADC を使用して、Cloud SQL データベース(Cloud SQL for PostgreSQL または Cloud SQL for MySQL)への接続を認証できます。ADC を使用して Cloud SQL データベースの認証を行う場合、Looker クエリの課金対象となるプロジェクトは、Cloud SQL データベースが実行されている Google Cloud プロジェクトです。
ADC を使用する Cloud SQL への Looker 接続の場合、ADC はサービス アカウントまたはサービス アカウントのチェーンを権限借用してデータベースにアクセスします。データベースへの Looker 接続を作成するときに、[IAM データベースのユーザー名] フィールドを使用して、ADC が権限を借用するサービス アカウントまたはサービス アカウントのチェーンを指定します。Looker(Google Cloud コア)インスタンスの作成時に自動的に作成された Looker サービス アカウントは、チェーン内の最初のサービス アカウントとして自動的に使用され、フィールドに追加される必要はありません。
Looker サービス アカウント以外のサービス アカウントを使用して Cloud SQL データベースに対する認証を行う場合は、別のサービス アカウント、またはカンマ区切りのサービス アカウントのチェーンを [IAM データベースのユーザー名] フィールドに入力して、委任リクエスト フローを作成できます。
チェーンの最後のサービス アカウント(権限を借用したサービス アカウントとも呼ばれます)がデータベースで認証されるアカウントであり、このアカウントを Cloud SQL データベースのユーザーとして追加する必要があります。Looker サービス アカウントをチェーンの最後のサービス アカウントとして使用している場合([IAM database username(s)] フィールドを空白のままにして)は、Looker サービス アカウントを Cloud SQL データベースのユーザーとして追加する必要があります。
ADC を使用して Cloud SQL for PostgreSQL または Cloud SQL for MySQL データベースを Looker に接続する一般的な手順は次のとおりです。
- Cloud SQL データベースに権限を借用したサービス アカウントを追加します。
- Cloud SQL データベースでサービス アカウントの権限借用を設定する。
- データベースに接続して、Cloud SQL for PostgreSQL または Cloud SQL for MySQL の追加の構成コマンドを実行します。
- データベースへの Looker 接続を作成します。
権限を借用したサービス アカウントを Cloud SQL データベースに追加する
データベースへの Looker 接続を作成するときに、[IAM データベース ユーザー名] フィールドを使用して、ADC がデータベースで操作を実行するために権限借用するサービス アカウントまたはサービス アカウントのチェーンを指定します。権限借用チェーン内の最後のサービス アカウントは、権限を借用したサービス アカウントとみなされます。
Cloud SQL で ADC を使用するには、権限を借用したサービス アカウントを Cloud SQL データベースに追加する必要があります。
- デフォルトでは、[IAM データベースのユーザー名] フィールドを空白のままにすると、ADC は Looker サービス アカウントの権限借用を行います。この場合、Looker サービス アカウントは権限を借用したサービス アカウントであるため、Looker サービス アカウントを Cloud SQL データベースに追加する必要があります。Looker サービス アカウントの詳細と、Looker サービス アカウントのメールアドレスを表示する手順については、Looker(Google Cloud コア)インスタンスを作成するのドキュメント ページをご覧ください。
- Looker サービス アカウント以外のサービス アカウントを指定する場合、または [IAM データベースのユーザー名] フィールドにサービス アカウントのチェーンを指定する場合は、権限借用のチェーンの最後のサービス アカウントを Cloud SQL データベースに追加する必要があります。
Cloud SQL データベースにサービス アカウントを追加するには、Cloud SQL 管理者 IAM ロールが必要です。
データベース ダイアレクトの「IAM ユーザーまたはサービス アカウントをデータベース インスタンスに追加する」手順に沿って、権限を借用したサービス アカウントを Cloud SQL データベースに追加します。
Cloud SQL データベースでのサービス アカウントの権限借用を設定する
データベースに Cloud SQL ユーザーを作成したら、次の手順に沿って、サービスの権限借用のために Cloud SQL データベースを設定する必要があります。
- 手順に沿って Cloud SQL Admin API を有効にする。
- Looker サービス アカウントを含むチェーン内のすべてのサービス アカウントに適切な IAM 権限があることを確認します。
Google Cloud コンソールでの単一ロールの付与の手順を行います。Cloud SQL データベースに追加した、権限を借用したサービス アカウントに、次の Cloud SQL ロールを付与します。
Looker サービス アカウント以外のサービス アカウントを指定する場合、または [IAM データベースのユーザー名] フィールドにサービス アカウントのチェーンを指定する場合は、チェーン内のすべてのサービス アカウントに次の権限を付与します。
Cloud SQL for MySQL の追加の構成コマンド
Cloud SQL for MySQL の場合は、データベース インスタンスに接続し、Cloud SQL for MySQL データベースで次のコマンドを実行します。
GRANT ALL on DATABASE_NAME.* to 'DATABASE_USER'@'%'
以下を置き換えます。
- DATABASE_NAME: データベースの名前。
- DATABASE_USER: Cloud SQL データベースに追加した、権限を借用したサービス アカウントの切り詰められたユーザー名。サービス アカウントの形式は
service-<project number>@gcp-sa-looker.iam.gserviceaccount.com
です。@
とその後のすべての文字を削除して、ユーザー名を切り詰めます。切り詰めると、ユーザー名はservice-<project number>
のようになります。
たとえば、サービス アカウントのユーザー名が [email protected]
で、データベース名が looker-test
の場合、コマンドは次のようになります。
GRANT ALL on looker-test.* to 'service-12345678901'@'%'
Cloud SQL for PostgreSQL の追加の構成コマンド
Cloud SQL for PostgreSQL の場合は、データベース インスタンスに接続し、Cloud SQL for PostgreSQL データベースで次の構成コマンドを実行します。
- PostgreSQL のドキュメント ページのユーザーとセキュリティのセクションに記載されているように、データベースに対するユーザー権限を付与します。
- Looker ドキュメントの PostgreSQL ページの
search_path
の設定セクションに記載されているように、データベースからメタデータを取得するために使用する Looker SQL Runner の検索パスを設定します。
Looker(Google Cloud コア)から Cloud SQL データベースへの接続を作成する
Looker からデータベースへの接続を作成する手順は次のとおりです。
- Looker の [管理者] セクションで [接続] を選択し、[新しい接続] をクリックします。
- [言語] プルダウン メニューから [Google Cloud PostgreSQL] を選択するか、Cloud SQL for MySQL の場合は、[Google Cloud SQL] を選択します。
- [認証] セクションで、[アプリケーションのデフォルト認証情報] オプションをクリックします。
[IAM データベースのユーザー名] フィールドに、データベースでアクションを実行するために ADC が権限を借用するサービス アカウントまたはサービス アカウントのチェーンを指定します。
- Looker で Looker(Google Cloud コア)プロジェクトのサービス アカウントを使用して Cloud SQL データベースに対する認証を行う場合は、このフィールドを空白のままにします。
- Looker で Looker(Google Cloud コア)プロジェクトのサービス アカウント以外のサービス アカウントを使用して Cloud SQL データベースに対する認証を行う場合は、別のサービス アカウントまたはカンマ区切りのサービス アカウントのチェーンを入力して、委任リクエスト フローを作成します。
接続の詳細を入力します。設定の大部分は、ほとんどのデータベース言語に共通するものです。詳細については、Looker をデータベースに接続するのドキュメント ページをご覧ください。
接続が成功したことを確認するには、[テスト] をクリックします。トラブルシューティング情報については、データベース接続のテストのドキュメント ページをご覧ください。
これらの設定を保存するには、[接続] をクリックします。
データベース接続を設定すると、LookML プロジェクトを設定できるようになります。
BigQuery での OAuth 認証の構成
Looker(Google Cloud コア)インスタンス上の BigQuery データベースへの接続で OAuth 認証オプションを選択すると、Looker 管理者が Looker(Google Cloud コア)インスタンスの作成時に使用した OAuth アプリケーション認証情報が自動的に使用されます。
この接続に別の OAuth 認証情報を手動で入力する場合は、[OAuth 認証情報を手動で構成する] 切り替えボタンを有効にして、[OAuth クライアント ID] フィールドと [OAuth クライアント シークレット] フィールドに入力します。OAuth 認証情報を手動で入力しても、Looker(Google Cloud コア)インスタンスの作成時に使用された認証情報は変更または更新されません。
Looker(Google Cloud コア)でサポートされている言語
次の表に、データベース言語に対する Looker(Google Cloud コア)のサポートを示します。
方言 | サポート対象 |
---|---|
Actian Avalanche | × |
Amazon Athena | ○ |
Amazon Aurora MySQL | はい |
Amazon Redshift | ○ |
Apache Druid | いいえ |
Apache Druid 0.13+ | いいえ |
Apache Druid 0.18+ | ○ |
Apache Hive 2.3+ | いいえ |
Apache Hive 3.1.2+ | ○ |
Apache Spark 3+ | はい |
ClickHouse | はい |
Cloudera Impala 3.1+ | ○ |
Cloudera Impala 3.1+ with Native Driver | いいえ |
Cloudera Impala with Native Driver | いいえ |
DataVirtuality | いいえ |
Databricks | ○ |
Denodo 7 | いいえ |
Denodo 8 | ○ |
Dremio | いいえ |
Dremio 11+ | ○ |
Exasol | いいえ |
Firebolt | いいえ |
Google BigQuery Legacy SQL | いいえ |
Google BigQuery Standard SQL | ○ |
Google Cloud PostgreSQL | はい |
Google Cloud SQL | はい |
Google Spanner | ○ |
Greenplum | いいえ |
HyperSQL | いいえ |
IBM Netezza | ○ |
MariaDB | はい |
Microsoft Azure PostgreSQL | はい |
Microsoft Azure SQL Database | はい |
Microsoft Azure Synapse Analytics | ○ |
Microsoft SQL Server 2008+ | いいえ |
Microsoft SQL Server 2012+ | いいえ |
Microsoft SQL Server 2016 | いいえ |
Microsoft SQL Server 2017+ | ○ |
MongoBI | いいえ |
MySQL | いいえ |
MySQL 8.0.12+ | ○ |
Oracle | ○ |
Oracle ADWC | いいえ |
PostgreSQL 9.5+ | ○ |
PostgreSQL pre-9.5 | いいえ |
PrestoDB | ○ |
PrestoSQL | はい |
SAP HANA 2+ | ○ |
SingleStore | いいえ |
SingleStore 7+ | ○ |
Snowflake | はい |
Teradata | はい |
Trino | ○ |
Vector | いいえ |
Vertica | ○ |
データベースの設定に関するインストラクション
次の SQL 言語のインストラクションがあります。
次のステップ
- Looker(Google Cloud コア)インスタンスを構成する
- Looker(Google Cloud コア)内のユーザーを管理する
- Google Cloud コンソールから Looker(Google Cloud コア)インスタンスを管理する
- Looker(Google Cloud コア)管理設定
- Looker(Google Cloud コア)インスタンスで LookML プロジェクトのサンプルを使用する