お客様がホストする Looker インスタンスが Looker がホストするアクション ハブと通信できない場合、Looker 管理者はストリーミングされた結果をサポートできないか、OAuth を使用するアクションを有効にできない可能性があります。また、Looker ユーザーが、ストリーミングされた結果をサポートするアクションにデータを送信またはスケジュールするときにクエリがハングすることがあります。また、OAuth アクションを構成できないこともあります。
Looker の統合を利用するには、Looker アクション ハブと Looker インスタンスが相互に通信できる必要があります。インスタンス アーキテクチャに適したソリューションに関心をお持ちの、セルフホスト型インスタンスの管理者は、顧客がホストするインスタンスに関する考慮事項セクションの [アクション ハブでのデータ共有]ドキュメント ページをご覧ください。
認証局(CA)によって発行され、このルート証明書のリストにない SSL 証明書をインスタンスが使用している場合、お客様は OAuth とストリーミング操作をセルフホスト型 Looker インスタンスで使用できない場合があります。
ストリームされた結果または OAuth をサポートするように構成されているアクションを確認するには、管理設定 - アクションのドキュメント ページで Looker の統合サービスのリストをご覧ください。
このページでは、ストリーム結果をサポートする、または Google OAuth を使用する Looker アクションを使用するため、ローカル アクション ハブ サーバーを起動する方法について説明します。コンテナまたは仮想マシン(VM)を作成して Looker Action Hub リポジトリのクローンを作成し、以下の手順に沿って操作することで、独自のローカル アクション ハブ サーバーを設定できます。詳細については、以降のセクションをご覧ください。
- アクション ハブ サーバーのコンテナまたは仮想マシン(VM)の設定を作成します。
- Google OAuth 認証情報を構成する。
- Google OAuth 同意画面を構成する。
- 環境変数を設定します。
- API キーを生成する。
- 新しいアクション ハブを開始する。
- 新しいアクション ハブを Looker インスタンスに追加する。
アクション ハブ サーバーのコンテナまたは仮想マシン(VM)の設定を作成する
VM またはコンテナは、次の割り当て、およびネットワークの要件と依存関係を満たす必要があります。
推奨されるメモリ割り当て
このコンテナまたは VM には、2 つの CPU / vCPU スレッドと 2 GB 以上のメモリを割り当てることをおすすめします。アクションの使用頻度が高い場合は、メモリを 2 GB 以上に増やすことを検討してください。
ネットワークの要件
アクション ハブには、静的 IP アドレスまたは内部ドメイン ネーム システム(DNS)を介して解決できるアドレスが必要です。
ネットワークは、次の通信要件をサポートしている必要があります。
- Looker インスタンスはアクション ハブと通信できる必要があります。
- Google Auth がアクション ハブと通信できる必要があります。
- 内部に接続されたブラウザは、アクション ハブにアクセスできる必要があります。
- アクション ハブは、Google ドライブ サーバーにアクセスできる必要があります。
必要な依存関係
Looker アクション リポジトリを新しく作成した VM またはコンテナにクローンを作成する場合:
- Node 12.13 がインストールされていることを確認します。
yarn install
を実行して、必要なパッケージをインストールします。
環境を設定したら、Google Cloud API Console で アクション ハブサーバーの Google OAuth 認証情報を作成する必要があります。
Google OAuth 認証情報を構成する
アクションの Google OAuth 認証情報を構成するには、次の操作を行う必要があります。
Google OAuth 認証情報の作成
Google OAuth クライアント ID とクライアント シークレットを作成するには:
- Google Cloud の [リソースの管理] ページに移動し、[プロジェクトを作成] をクリックして、新しいプロジェクトを作成します。
プロジェクトの作成の詳細については、プロジェクトの作成と管理ガイドをご覧ください。
- 新しいプロジェクトが作成されたら、そのプロジェクトを選択します。
- コンソールの左側のサイドバーで、[API とサービス] > [認証情報] ページに移動します。
- [認証情報を作成] をクリックします。
- プルダウンで [OAuth クライアント ID] をクリックします。
- OAuth 同意画面の構成が必要になる場合があります。その場合は、このページで後述する OAuth 同意画面を構成するの手順を行い、手順 7 に進みます。
- [アプリケーションの種類] で [ウェブ アプリケーション] を選択します。
- [名前] フィールドにアプリケーション名を入力します。
- [承認済みの JavaScript 生成元] セクションに、社内で使用するルート Looker アプリケーション アドレスを追加します。
- Google ドライブと Google スプレッドシート コンソールの [承認済みのリダイレクト URI] を設定します。
ACTION_HUB_BASE_URL
は アクション ハブのアドレスです。https://<ACTION_HUB_BASE_URL>/actions/google_sheets/oauth_redirect https://<ACTION_HUB_BASE_URL>/actions/google_drive/oauth_redirect
- [作成] ボタンをクリックして、OAuth クライアント ID と OAuth クライアント シークレットを生成します。これらの値は後で必要になります。
OAuth 同意画面の構成
Google API Console のこのページでは、プロジェクト内のすべてのアプリケーションの同意画面を設定できます。これにより、ユーザーはデータへのアクセスを許可できるほか、法律やプライバシーに関するドキュメントへのリンクを表示できます。すでにこの手順を完了しているか、同意画面を構成する必要がない場合は、このセクションをスキップし、ターミナル ウィンドウに戻って、後で説明する環境変数の設定で環境変数を設定します。
同意画面を構成するには:
- [同意画面を構成] をクリックします。
- 内部アプリケーションか外部アプリケーションかを選択し、[作成] をクリックします。
- [アプリ名] フィールドにアプリケーションの名前を入力します。
- [ユーザー サポート メール] に、ユーザー サポートの Oauth 同意画面に表示するメールアドレスを入力します。
- 必要に応じて、アプリのロゴに、OAuth 同意画面で使用する画像ファイルをアップロードします。
- 必要に応じて、アプリケーション ホームページのリンクを入力します。これは、アクション ハブと同じルートドメインでホストする必要があります。
- 必要に応じて、[アプリケーション プライバシー ポリシー リンク] フィールドに、アプリのプライバシー ポリシーへのリンクを入力します。リンクは、アクション ハブと同じルートドメインでホストする必要があります。
- 必要に応じて、[[アプリケーション利用規約] リンク] フィールドに、アプリケーションの利用規約へのリンクを入力します。リンクは、アクション ハブと同じルートドメインでホストする必要があります。
- [承認済みドメイン] セクションで [ドメインを追加] をクリックし、アクション ハブが使用しているルートドメインを入力します。
- [デベロッパーの連絡先情報] フィールドに、Google から連絡できるメールアドレスを入力します。
- [保存して次へ] をクリックします。
- [スコープ] セクションで、アプリがアクセスする必要があるユーザーデータの種類を追加します。これには、メール、プロファイル、OpenID、
https://mail.google.com
が含まれます。このリストには機密性の高いユーザー情報が含まれているため、公開する前に OAuth 同意画面を Google で確認する必要があります。 - [保存して次へ] をクリックします。
- 必要に応じて、[テストユーザー] セクションで、確認前にアクション ハブにアクセスするユーザーを追加します。
- [保存して次へ] をクリックします。
- [ダッシュボードに戻る] をクリックします。
- 左側のサイドバーで [認証情報] をクリックして、OAuth 認証情報の構成に戻ります。
OAuth 同意画面を構成した後に Google Oauth 認証情報を構成する場合は、手順 7 に戻って認証情報の構成を完了します。それ以外の場合は、ターミナル ウィンドウに戻って環境変数を設定します。
環境変数の設定
VM またはコンテナ環境で、次の環境変数を設定します。
ACTION_HUB_LABEL=<your action hub label name> ACTION_HUB_SECRET=<some secret> ACTION_HUB_BASE_URL=<your action hub base address> # For example https://actions.company.com # DO NOT INCLUDE A TRAILING SLASH GOOGLE_SHEET_CLIENT_ID=<OAuth client ID> GOOGLE_SHEET_CLIENT_SECRET=<OAuth client secret> GOOGLE_DRIVE_CLIENT_ID=<OAuth client ID> GOOGLE_DRIVE_CLIENT_SECRET=<OAuth client secret>
Google ドライブと Google スプレッドシートの両方で同じ OAuth client ID
と OAuth client secret
を使用できますが、両方の Google API トークンを設定することをおすすめします。
暗号鍵も設定します。
CIPHER_MASTER="<hex aes-256 key>"
この鍵は、長期的な暗号化には使用されません。OAuth フロー中の state
の暗号化にのみ使用されます。16 進数 aes-256 鍵の例を次に示します。
C4EFBBE2C364248419776459A00F2F4017CE77E29D9E8F64940687EA440A0CC9
API キーの生成
API キーを取得するには、次のコマンドを実行します。
y
arn generate-api-key
生成されたキーを保持して、後で設定で使用します。このキーは ACTION_HUB_SECRET
に基づいて生成されます。
ローカル アクション ハブ サーバーの起動
アクション ハブを起動するには、次のコマンドを実行します。
yarn start
アクション ハブの Looker インスタンスへの追加
アクション ハブを Looker インスタンスに追加するには:
- Looker で、[管理者] パネルの [プラットフォーム] の [アクション] ページに移動します。
- ページの下部までスクロールして [アクション ハブを追加] ボタンをクリックします。
ACTION_HUB_BASE_URL
を入力して [アクション ハブを追加] をクリックします。アクション ハブが新しい見出しの下に、名前とACTION_HUB_BASE_URL
とともに表示されます。Google ドライブと Google スプレッドシートのアクションがこの見出しの下に表示されます。- 接続に失敗した場合は、前に生成した
api-key
を [承認トークン] フィールドに入力し、アクション ハブの見出しの上部にある [更新] リンクをクリックします。 - Google ドライブと Google スプレッドシートのアクションを有効にして、アクションハブで正しく構成されていることを確認します。
次のステップ
次のステップでは、作成したアプリケーションを Google API Console で公開します。公開するには、[OAuth 同意画面] ページに移動し、[確認のため送信] ボタンをクリックします。なお、申請の公開プロセスには時間がかかる場合があります。また、Google による確認手順も必要となります。