OAuth とストリーミングを使用するアクションのためのローカル アクション ハブの設定

お客様がホストする Looker インスタンスが Looker がホストするアクション ハブと通信できない場合、Looker 管理者はストリーミングされた結果をサポートできないか、OAuth を使用するアクションを有効にできない可能性があります。また、Looker ユーザーが、ストリーミングされた結果をサポートするアクションにデータを送信またはスケジュールするときにクエリがハングすることがあります。また、OAuth アクションを構成できないこともあります。

Looker の統合を利用するには、Looker アクション ハブと Looker インスタンスが相互に通信できる必要があります。インスタンス アーキテクチャに適したソリューションに関心をお持ちの、セルフホスト型インスタンスの管理者は、顧客がホストするインスタンスに関する考慮事項セクションの [アクション ハブでのデータ共有]ドキュメント ページをご覧ください。

認証局(CA)によって発行され、このルート証明書のリストにない SSL 証明書をインスタンスが使用している場合、お客様は OAuth とストリーミング操作をセルフホスト型 Looker インスタンスで使用できない場合があります。

ストリームされた結果または OAuth をサポートするように構成されているアクションを確認するには、管理設定 - アクションのドキュメント ページで Looker の統合サービスのリストをご覧ください。

このページでは、ストリーム結果をサポートする、または Google OAuth を使用する Looker アクションを使用するため、ローカル アクション ハブ サーバーを起動する方法について説明します。コンテナまたは仮想マシン(VM)を作成して Looker Action Hub リポジトリのクローンを作成し、以下の手順に沿って操作することで、独自のローカル アクション ハブ サーバーを設定できます。詳細については、以降のセクションをご覧ください。

  1. アクション ハブ サーバーのコンテナまたは仮想マシン(VM)の設定を作成します。
  2. Google OAuth 認証情報を構成する
  3. Google OAuth 同意画面を構成する
  4. 環境変数を設定します
  5. API キーを生成する。
  6. 新しいアクション ハブを開始する。
  7. 新しいアクション ハブを 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 とクライアント シークレットを作成するには:

  1. Google Cloud の [リソースの管理] ページに移動し、[プロジェクトを作成] をクリックして、新しいプロジェクトを作成します。

    プロジェクトの作成の詳細については、プロジェクトの作成と管理ガイドをご覧ください。

  2. 新しいプロジェクトが作成されたら、そのプロジェクトを選択します。
  3. コンソールの左側のサイドバーで、[API とサービス] > [認証情報] ページに移動します。
  4. [認証情報を作成] をクリックします。
  5. プルダウンで [OAuth クライアント ID] をクリックします。
  6. OAuth 同意画面の構成が必要になる場合があります。その場合は、このページで後述する OAuth 同意画面を構成するの手順を行い、手順 7 に進みます。
  7. [アプリケーションの種類] で [ウェブ アプリケーション] を選択します。
  8. [名前] フィールドにアプリケーション名を入力します。
  9. [承認済みの JavaScript 生成元] セクションに、社内で使用するルート Looker アプリケーション アドレスを追加します。
  10. 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
            
  11. [作成] ボタンをクリックして、OAuth クライアント ID と OAuth クライアント シークレットを生成します。これらの値は後で必要になります。

Google API Console のこのページでは、プロジェクト内のすべてのアプリケーションの同意画面を設定できます。これにより、ユーザーはデータへのアクセスを許可できるほか、法律やプライバシーに関するドキュメントへのリンクを表示できます。すでにこの手順を完了しているか、同意画面を構成する必要がない場合は、このセクションをスキップし、ターミナル ウィンドウに戻って、後で説明する環境変数の設定で環境変数を設定します。

同意画面を構成するには:

  1. [同意画面を構成] をクリックします。
  2. 内部アプリケーションか外部アプリケーションかを選択し、[作成] をクリックします。
  3. [アプリ名] フィールドにアプリケーションの名前を入力します。
  4. [ユーザー サポート メール] に、ユーザー サポートの Oauth 同意画面に表示するメールアドレスを入力します。
  5. 必要に応じて、アプリのロゴに、OAuth 同意画面で使用する画像ファイルをアップロードします。
  6. 必要に応じて、アプリケーション ホームページのリンクを入力します。これは、アクション ハブと同じルートドメインでホストする必要があります。
  7. 必要に応じて、[アプリケーション プライバシー ポリシー リンク] フィールドに、アプリのプライバシー ポリシーへのリンクを入力します。リンクは、アクション ハブと同じルートドメインでホストする必要があります。
  8. 必要に応じて、[[アプリケーション利用規約] リンク] フィールドに、アプリケーションの利用規約へのリンクを入力します。リンクは、アクション ハブと同じルートドメインでホストする必要があります。
  9. [承認済みドメイン] セクションで [ドメインを追加] をクリックし、アクション ハブが使用しているルートドメインを入力します。
  10. [デベロッパーの連絡先情報] フィールドに、Google から連絡できるメールアドレスを入力します。
  11. [保存して次へ] をクリックします。
  12. [スコープ] セクションで、アプリがアクセスする必要があるユーザーデータの種類を追加します。これには、メール、プロファイル、OpenID、https://mail.google.com が含まれます。このリストには機密性の高いユーザー情報が含まれているため、公開する前に OAuth 同意画面を Google で確認する必要があります。
  13. [保存して次へ] をクリックします。
  14. 必要に応じて、[テストユーザー] セクションで、確認前にアクション ハブにアクセスするユーザーを追加します。
  15. [保存して次へ] をクリックします。
  16. [ダッシュボードに戻る] をクリックします。
  17. 左側のサイドバーで [認証情報] をクリックして、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 IDOAuth 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 インスタンスに追加するには:

  1. Looker で、[管理者] パネルの [プラットフォーム] の [アクション] ページに移動します。
  2. ページの下部までスクロールして [アクション ハブを追加] ボタンをクリックします。
  3. ACTION_HUB_BASE_URL を入力して [アクション ハブを追加] をクリックします。アクション ハブが新しい見出しの下に、名前と ACTION_HUB_BASE_URL とともに表示されます。Google ドライブと Google スプレッドシートのアクションがこの見出しの下に表示されます。
  4. 接続に失敗した場合は、前に生成した api-key を [承認トークン] フィールドに入力し、アクション ハブの見出しの上部にある [更新] リンクをクリックします。
  5. Google ドライブと Google スプレッドシートのアクションを有効にして、アクションハブで正しく構成されていることを確認します。

次のステップ

次のステップでは、作成したアプリケーションを Google API Console で公開します。公開するには、[OAuth 同意画面] ページに移動し、[確認のため送信] ボタンをクリックします。なお、申請の公開プロセスには時間がかかる場合があります。また、Google による確認手順も必要となります。