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

お客様がホストする Looker インスタンスが Looker がホストするアクション ハブと通信できない場合、Looker 管理者はストリーミングされた結果をサポートできないか、OAuth を使用するアクションを有効にできない可能性があります。さらに、ストリーミングされた結果をサポートするアクションに対してデータの送信やスケジューリングを行うと、クエリがハングアップし、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 またはコンテナは、次の割り当て、およびネットワークの要件と依存関係を満たす必要があります。

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 とクライアント シークレットを作成するには:

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

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

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