お客様がホストする Looker インスタンスが Looker がホストするアクション ハブと通信できない場合、Looker 管理者はストリーミングされた結果をサポートできないか、OAuth を使用するアクションを有効にできない可能性があります。さらに、ストリーミングされた結果をサポートするアクションに対してデータの送信やスケジューリングを行うと、クエリがハングアップし、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 またはコンテナは、次の割り当て、およびネットワークの要件と依存関係を満たす必要があります。
推奨されるメモリ割り当て
Looker では、このコンテナまたは VM に 2 つのスレッドの CPU/vCPU と 2 GB 以上のメモリを割り当てることをおすすめします。アクションの使用率が高い場合は、メモリを 2 GB 以上に増やすことを検討してください。
ネットワークの要件
アクション ハブには、静的 IP アドレスまたは内部ドメイン ネーム システム(DNS)を介して解決できるアドレスが必要です。
ネットワークは、次の通信要件をサポートしている必要があります。
- Looker インスタンスはアクション ハブと通信できる必要があります。
- Google Auth がアクション ハブと通信できる必要があります。
- 内部に接続されたブラウザは、アクション ハブにアクセスできる必要があります。
- アクション ハブは、Google ドライブ サーバーにアクセスできる必要があります。
必要な依存関係
新しく作成した VM またはコンテナに Looker アクション リポジトリのクローンを作成する場合:
- Node 12.13 がインストールされていることを確認します。
yarn install
を実行して、必要なパッケージをインストールします。
環境を設定したら、Google Cloud API Console で アクション ハブサーバーの Google OAuth 認証情報を作成する必要があります。
Google OAuth 認証情報の構成
アクションの Google OAuth 認証情報を構成するには、次の操作を行う必要があります。
Google OAuth 認証情報の作成
Google OAuth クライアント ID とクライアント シークレットを作成するには:
- Google Cloud の [リソースの管理] ページに移動し、[プロジェクトを作成] をクリックして、新しいプロジェクトを作成します。
プロジェクトの作成について詳しくは、プロジェクトの作成と管理のガイドをご覧ください。
- 新しいプロジェクトが作成されたら、そのプロジェクトを選択します。
- Console の左側のサイドバーから、[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 同意画面に表示するメールアドレスを入力します。
- 必要に応じて、[App ロゴ] で、OAuth 同意画面で使用する画像ファイルをアップロードします。
- 必要に応じて、アプリケーション ホームページのリンクを入力します。これは、アクション ハブと同じルートドメインでホストする必要があります。
- 必要に応じて、[アプリケーション プライバシー ポリシー リンク] フィールドに、アプリケーション プライバシー ポリシーへのリンクを入力します。リンクは、アクション ハブと同じルートドメインでホストする必要があります。
- 必要に応じて、[アプリケーションの利用規約へのリンク] フィールドにアプリケーションの利用規約へのリンクを入力します。リンクは、アクション ハブと同じルートドメインでホストする必要があります。
- [承認済みドメイン] セクションで [ドメインを追加] をクリックし、アクション ハブが使用しているルートドメインを入力します。
- [Developercontact information] に、Google からの連絡先のメールアドレスを入力します。
- [保存して次へ] をクリックします。
- [スコープ] セクションで、アプリケーションがアクセスする必要があるユーザーデータの種類を追加します。これには、メール、プロファイル、OpenID、
https://mail.google.com
が含まれます。このリストには機密情報が含まれるため、公開前に OAuth 同意画面を確認する必要があります。 - [保存して次へ] をクリックします。
- 必要に応じて、[テストユーザー] セクションで、確認前にアクション ハブにアクセスするユーザーを追加します。
- [保存して次へ] をクリックします。
- [ダッシュボードに戻る] をクリックします。
- 左側のサイドバーで、[Credentials] をクリックして 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 の確認手順が必要になります。