Googleアナリティクスへの認証を構成する
ベータ版
この機能はベータ版です。使用するには、ワークスペース管理者は、 プレビューページ から Google アナリティクス Aggregated向けLakeflow Connect を有効にする必要があります。Databricksのプレビューを管理するを参照してください。
Lakeflow Connect Google アナリティクス 集計コネクタで認証できるようにするには、Google Cloud プロジェクトで Google アナリティクス Data API を有効にして、サービス アカウント キーまたは OAuth クライアントを作成します。このページのステップで取得した資格情報を使用して、Databricksで Unity Catalog 接続を作成します。
前提条件
Google アナリティクス集計コネクタを使用するには、次のものが必要です。
- 1つ以上のGoogle アナリティクス 4 (GA4) プロパティ。取り込む各プロパティの数値プロパティ ID をメモします。それを見つけるには、 Google ドキュメントの プロパティ ID を参照してください。
- コネクタの ID アクセス権を付与するために、各プロパティの [ 管理者 ] ロール。Googleドキュメントのユーザーとユーザーグループの追加、編集、削除を参照してください。
- Google Cloudコンソール にアクセスして、プロジェクトを作成し、Google アナリティクス データ API を有効にし、認証情報を作成します。
Googleアナリティクスを設定
Google アナリティクス Aggregated コネクタは、サービスアカウント (OAuth 2.0 マシン間) と OAuth 2.0 ユーザー間 (U2M) の2つの認証方法をサポートしています。いずれかを選択し、その方法のステップに従ってください。
Google アナリティクス Data API を有効にする
資格情報を作成する前に、 Google Cloud プロジェクトで Google アナリティクス Data API を有効にします。
- Google Cloud コンソールに移動し、サインインします。
- Google Cloudプロジェクトを選択または作成します。
- [ APIs & サービス> ライブラリ ] をクリックします。
- Google アナリティクス Data API を検索してクリックします。
- [ 有効にする ]をクリックします。
オプション 1: サービス アカウント(推奨)
対話型のユーザーサインインなしでサーバー間認証を行う場合に、このオプションを使用します。サービスアカウントがGoogleアナリティクスにアクセスする方法は2つあります。
- 自身の ID : サービス アカウントは、自身として認証されます。各プロパティへのアクセス権をサービスアカウントに付与します。
- ドメイン全体の委任 : サービスアカウントがGoogle ワークスペースユーザーを偽装し、Google アナリティクスがそのユーザーのプロパティへのアクセスに対してリクエストを承認します。
1つ選択します。サービスアカウントにプロパティへのアクセス権を付与するとドメイン全体の委任を構成するの両方を完了しないでください。
サービスアカウントとキーを作成する
手順全体については、Google Cloudドキュメントの「サービス アカウントを作成する」と「サービス アカウントキーを作成および削除する」を参照してください。
- Google Cloud コンソールで、 IAM と 管理 > サービス アカウント をクリックします。
- サービス アカウントの作成 をクリックします。
- サービスアカウント名と、必要に応じて説明を入力します。
- [ 完了 ] をクリックします。サービスアカウントは、プロジェクトでIdentity and Access Management(IAM)ロールを必要としません。
- サービス アカウント ページで、サービス アカウントのEメール アドレスをクリックします。
- キー tabをクリックします。
- キーの追加 > 新しいキーの作成 をクリックします。
- JSON を選択し、 作成 をクリックします。ブラウザがキーファイルをdownloadします。再度downloadすることはできません。
- JSONキーファイルを安全に保存します。Databricksで接続を作成するときに、その内容を入力します。
キーの作成がブロックされている場合、プロジェクトには iam.disableServiceAccountKeyCreation 組織ポリシー制約が適用されます。組織ポリシー管理者がプロジェクトを除外する必要があります。サービス アカウント キーを作成および削除するを参照してください。
プロパティへのアクセス権をサービス アカウントに付与する
このステップは、サービス アカウントが独自の ID として認証される場合にのみ完了してください。つまり、接続を作成するときに [ 偽装するユーザーのEメール ] を空のままにします。ドメイン全体の委任を使用する場合は、代わりに 「ドメイン全体の委任を設定する」 をスキップしてください。その場合、Googleアナリティクスは偽装ユーザーのアクセスに対してリクエストを承認するため、このステップは効果がありません。
- Googleアナリティクスに移動してサインインします。
- 管理者 をクリックします。
- [プロパティ] で、 [アクセス管理] をクリックします。
- [ + ] をクリックし、[ ユーザーを追加 ] をクリックします。
- サービスアカウントのEメールアドレスを
name@project-id.iam.gserviceaccount.comの形式で入力します。 - [ ビューワー ] ロールを選択します。
- [ 追加 ] をクリックします。
- パイプラインが取り込む各プロパティについて繰り返します。
詳細については、 Google ドキュメントの「ユーザーおよびユーザーグループの追加、編集、削除」を参照してください。
ドメイン全体の委任を設定する
このステップは、サービスアカウントにアクセス権を付与する代わりに、プロパティに既にアクセスできるGoogle ワークスペースユーザーをサービスアカウントに代理実行させる場合に実行してください。このステップには、Google ワークスペースのスーパー管理者アクセス権が必要です。手順の詳細については、Googleドキュメントの「サービスアカウントのドメイン全体の委任を設定する」を参照してください。
- Google Cloudコンソールで、 IAM & 管理 > サービスアカウント をクリックし、サービスアカウントをクリックします。
- 「 高度な設定を表示する 」をクリックします。
- 「 ドメイン全体の委任 」で、「 クライアントID 」をコピーします。
- Google管理コンソールで、 セキュリティ > アクセスとデータ制御 > APIの制御 をクリックします。
- ドメイン全体の委任の管理 をクリックし、 新規追加 をクリックします。
- 「 クライアント ID 」フィールドにクライアント ID を貼り付けます。
- OAuthスコープ フィールドに
https://www.googleapis.com/auth/analytics.readonlyを入力します。このスコープが対象とするテーブルについては、 必要なOAuth権限 を参照してください。 - [許可] をクリックしてください。
- なりすます Google ワークスペース ユーザーの Eメールアドレスに注意してください。パイプラインが取り込む各プロパティに対して、ユーザーが少なくとも 閲覧者 ロールを持っていることを確認します。接続を作成する際、このEメールを なりすますユーザーのEメール フィールドに入力します。
オプション 2: OAuth U2M
対話型サインインフローを通じてGoogleユーザーとして認証するには、このオプションを使用します。接続はそのユーザーの ID を使用するため、ユーザーはパイプラインが取り込む各プロパティに対して少なくとも 閲覧者 ロールを持っている必要があります。
OAuth同意画面を設定する
手順の詳細については、Google のドキュメントの「 OAuth 同意画面の設定」を参照してください。
- Google Cloud コンソールで、 Google Auth プラットフォーム > ブランディング をクリックします。
- Google Auth プラットフォームが構成されていない場合は、 起動 をクリックします。
- アプリ名とユーザーサポートEメールを入力します。
- オーディエンスを選択してください: 内部 または 外部 。
- 連絡先情報を入力し、Google API サービス ユーザー データ ポリシーに同意して、セットアップを完了します。
- External を選択した場合は、その接続にサインインするユーザーを Audience セクションでテストユーザーとして追加します。
アプリが 外部 ユーザータイプを使用し、公開ステータスが テスト中 の場合、 Google は 7 日で期限切れになる更新トークンを発行します。その後、ユーザーが再度サインインするまで接続は動作を停止します。Google ドキュメントの 更新トークンの有効期限を参照してください。
OAuthクライアントを作成する
完全な手順については、 Google ドキュメントの「アクセス資格情報を作成する」を参照してください。
- Google Cloudコンソールで、 Google Authプラットフォーム > クライアント をクリックします。
- クライアントの作成 をクリックします。
- アプリケーションの種類 で、 Webアプリケーション を選択します。
- クライアント名を入力してください。
- 「 承認済みリダイレクトURI 」で、「 URIの追加 」をクリックし、
https://<databricks-workspace-url>/login/oauth/http.htmlを入力します。<databricks-workspace-url>を Databricks ワークスペースの URL に置き換えます。 - 作成 をクリックします。
- クライアントID と クライアントシークレット をメモしてください。これらは、Databricksで接続を作成するときに入力します。
次のステップ
Databricksで Google アナリティクス 集計接続を作成します。「Google アナリティクス 集計接続を作成する」を参照してください。