Looker(Google Cloud コア)インスタンスがプロビジョニングされると、 プロジェクトの [**インスタンス**] ページに表示されます。 Google Cloud インスタンスの URL をクリックして、インスタンスにアクセスして認証します。
Looker(Google Cloud コア)インスタンスにログインしたら、データベース接続を設定できます。
データベース接続を設定する
データ探索を有効にするには、Looker(Google Cloud コア)をデータベースに接続する必要があります。Looker(Google Cloud コア)でサポートされている言語については、サポートされている言語のリストをご覧ください。
次のいずれかの権限があれば、Looker(Google Cloud コア)インスタンス内にデータベース接続を作成できます。
Looker(Google Cloud コア)インスタンス内に動的に表示される Looker の設定 ガイドに従って、データベースを接続するか、言語固有のドキュメント ページに表示されている手順に沿って操作します。設定の大部分は、ほとんどのデータベース言語に共通するものです。Looker 接続設定ウィンドウの共通フィールドについては、Looker をデータベースに接続するのドキュメント ページをご覧ください。
次のいずれかのオプションを使用して Looker(Google Cloud コア)接続を設定する場合は、追加の手順が必要です。
プライベート接続: Looker(Google Cloud コア)インスタンスがプライベート接続を使用する場合、次のタイプのデータベースに接続するには、Private Service Connect またはプライベート サービス アクセス(インスタンスが使用する接続タイプによって異なります)を構成する必要があります。
- 内の別のネットワークにあるデータベース Google Cloud
- 別のクラウド サービス プロバイダでホストされているデータベース
- オンプレミス データベース
他のクラウド サービス プロバイダでホストされているデータベースへのプライベート接続を設定するには、それらのクラウド サービス プロバイダにトラフィックを転送してデータ交換を可能にするように Google Cloud プロジェクトを構成する必要があります。クラウド環境の接続方法については、他のクラウド サービス プロバイダを Google Cloudに接続するためのパターンのドキュメント ページで詳しく説明しています。
BigQuery データベースと Cloud SQL データベースをアプリケーションのデフォルト認証情報を使用して認証する: Looker(Google Cloud コア)インスタンスでは、アプリケーションのデフォルト認証情報(ADC)を使用してデータベースに対して認証を行えます。次のセクションで説明します。
- アプリケーションのデフォルト認証情報を使用した BigQuery データベースへの接続
- 別の Google Cloud プロジェクトの BigQuery データベースでアプリケーションのデフォルト認証情報を使用する
- アプリケーションのデフォルト認証情報を使用した Cloud SQL データベースへの接続
OAuth を使用して BigQuery データベースに対して認証を行う: BigQuery 接続の場合、Looker(Google Cloud コア)は、Looker 管理者が Looker(Google Cloud コア)インスタンスの作成時に使用した OAuth アプリケーション認証情報を使用できます。詳細については、このページの OAuth 認証を BigQuery で構成するをご覧ください。
アプリケーションのデフォルト認証情報を使用した BigQuery データベースへの接続
Looker(Google Cloud コア)インスタンスでは、BigQuery 標準 SQL データベースへの接続を設定するときに、アプリケーションのデフォルト認証情報(ADC)を使用して認証できます。ADC を使用すると、Looker(Google Cloud コア)プロジェクトのサービス アカウントの認証情報を使用してデータベースに対する認証が行われます。
BigQuery データベースで ADC を使用するには、Looker インスタンスの [接続設定] ページの [認証] フィールドで [アプリケーションのデフォルト認証情報] を選択します。完全な手順については、Looker を BigQuery データベースに接続するのドキュメントをご覧ください。
Looker(Google Cloud コア)インスタンスが BigQuery データセットで永続的な派生テーブルを使用する場合、Looker サービス アカウントにBigQuery データ編集者 Identity and Access Management(IAM)ロールも付与する必要があります。
Looker(Google Cloud コア)インスタンスとは異なるプロジェクトにある BigQuery データベースに接続する場合は、追加の設定が必要です。別のプロジェクトの BigQuery データベースでアプリケーションのデフォルト認証情報を使用する Google Cloud セクションをご覧ください。
サービス アカウントの権限借用
Looker(Google Cloud コア)プロジェクトのサービス アカウント以外のサービス アカウントを使用して BigQuery データベースに対する認証を行う場合は、[権限を借用したサービス アカウント] フィールドに別のサービス アカウントまたはカンマ区切りのサービス アカウントのチェーンを入力し、委任リクエスト フローを作成できます。Looker(Google Cloud コア)サービス アカウントはチェーン内の最初のサービス アカウントとして自動的に使用され、フィールドに追加される必要はありません。チェーンの最後のサービス アカウント(権限を借用したサービス アカウントとも呼ばれます)がデータベースで認証されるサービス アカウントです。
サービス アカウントの権限借用を使用する場合は、次の操作を行います。
- Service Consumer Management API を有効にします。
- Looker(Google Cloud コア)プロジェクトのサービス アカウントなど、チェーン内のすべてのサービス アカウントに適切な IAM 権限が付与されていることを確認します。
- 権限を借用したサービス アカウントに、BigQuery ジョブユーザーのロールとBigQuery データ閲覧者ロールがあることを確認します。サービスの状態とオペレーションを検査する必要がある場合や、ユーザー プロジェクトの割り当てと請求を使用する場合は、Service Usage ユーザーのロールも必要です。
- 接続で永続的な派生テーブル(PDT)を有効にしている場合は、[PDT Overrides] セクションの [Service Account Email Address] フィールドに、権限を借用したサービス アカウントのメールアドレスも入力する必要があります。これにより、PDT プロセスで権限を借用したサービス アカウントが使用されます。詳細については、PDT のオーバーライドを有効にするセクションをLooker をデータベースに接続するドキュメント ページでご覧ください。
別のプロジェクトの BigQuery データベースでアプリケーションのデフォルト認証情報を使用する Google Cloud
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 ロールがまだ付与されていない場合は、そのプロジェクトでロールを付与するときにサービス アカウントのメールアドレスを使用します。サービス アカウントのメールアドレスを確認するには、コンソールで [IAM] ページに移動し、[Google 提供のロール付与を含める] チェックボックスをオンにします。 Google Cloud メールの形式は 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 データベースに対して認証を行う場合、 Google Cloud Cloud SQL データベースが実行されている プロジェクトが Looker クエリの課金対象となります。
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 データベースのユーザーとして追加する必要があります。
Cloud SQL for PostgreSQL または Cloud SQL for MySQL データベースを ADC を使用して 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>のようになります。
たとえば、サービス アカウントのユーザー名が service-12345678901@gcp-sa-looker.iam.gserviceaccount.com で、データベース名が 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 ページの Setting the
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 プロジェクトを設定できるようになります。
OAuth 認証を BigQuery で構成する
Looker(Google Cloud コア)インスタンスの BigQuery データベースへの接続で OAuth 認証を構成する手順は次のとおりです。
- [認証] で [OAuth] を選択します。Looker(Google Cloud コア)では、デフォルトで、Looker 管理者が Looker(Google Cloud コア)インスタンスの作成時に使用した OAuth アプリケーション認証情報が使用されます。クライアント ID とシークレットを手動で作成または入力する必要はありません。
- インスタンスの OAuth クライアントの [承認済みのリダイレクト URI] フィールドに追加のリダイレクト URI を追加します(または、認証情報を使用して新しい OAuth クライアントを作成し、リダイレクト URI を追加します)。リダイレクト URI には、Looker インスタンスの URL の後に
/external_oauth/redirectを追加する必要があります。背景情報については、BigQuery の OAuth 認証情報の生成をご覧ください。
この接続に別の OAuth 認証情報を手動で入力する場合は、[OAuth 認証情報を手動で構成する] 切り替えボタンを有効にして、[OAuth クライアント ID] フィールドと [OAuth クライアント シークレット] フィールドに入力します。OAuth 認証情報を手動で入力しても、Looker(Google Cloud コア)インスタンスの作成時に使用した認証情報は変更または更新されません。別の認証情報を作成して使用するには、OAuth に対応した BigQuery データベース プロジェクトの設定の手順に沿って操作します。
Looker(Google Cloud コア)でサポートされている言語
次の表に、Looker(Google Cloud コア)でサポートされているデータベース言語を示します。
| 方言 | サポート対象 |
|---|---|
| Actian Avalanche | |
| Amazon Athena | |
| Amazon Aurora MySQL | |
| Amazon Redshift | |
| Amazon Redshift 2.1+ | |
| Amazon Redshift Serverless 2.1+ | |
| Apache Druid | |
| Apache Druid 0.13.x - 0.17.x | |
| 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 & 9 | |
| Dremio | |
| Dremio 11+ | |
| Exasol | |
| Google BigQuery Legacy SQL | |
| Google BigQuery Standard SQL | |
| Google Cloud AlloyDB for PostgreSQL | |
| 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 | |
| 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 プロジェクトのサンプルを使用する