為使用 OAuth 和串流功能的動作設定本機動作中樞

如果客戶代管的 Looker 執行個體無法與 Looker 代管的動作中心通訊,Looker 管理員可能無法啟用支援串流結果或使用 OAuth 的動作。此外,如果 Looker 使用者傳送或排定資料至支援串流結果的動作,可能會遇到查詢停止回應的問題,且無法設定 OAuth 動作。

如要使用 Looker 整合功能,Looker Action Hub 和 Looker 執行個體必須能夠彼此通訊。如要瞭解適合客戶代管執行個體架構的解決方案,客戶代管執行個體的管理員可以參閱「透過動作中心分享資料」說明文件頁面的「客戶代管執行個體注意事項」一節。

如果執行個體使用的 SSL 憑證是由不在這個根憑證清單中的憑證授權單位 (CA) 核發,客戶代管的 Looker 執行個體可能無法使用 OAuth 和串流動作。

如要查看設定為支援串流結果或 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 雲端硬碟伺服器。

必要依附元件

將 Looker 動作存放區複製到新建立的 VM 或容器時:

  • 確認已安裝 Node 12.13。
  • 執行 yarn install 安裝必要套件。

設定環境後,您需要在 Google Cloud API 控制台中,為動作中心伺服器建立 Google OAuth 憑證。

設定 Google OAuth 憑證

如要為動作設定 Google OAuth 憑證,請按照下列步驟操作:

建立 Google OAuth 憑證

如要取得 Google OAuth 用戶端 ID 和用戶端密鑰,請按照下列步驟操作:

  1. 前往 Google Cloud 的「管理資源」頁面,然後按一下「建立專案」,建立新專案。

    如要進一步瞭解如何建立專案,請參閱「建立及管理專案」指南。

  2. 建立新專案後,請選取該專案。
  3. 在控制台左側邊欄中,前往「API 和服務」>「憑證」頁面。
  4. 按一下「建立憑證」
  5. 在下拉式選單中,按一下「OAuth client 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 控制台的這頁中,為專案中的所有應用程式設定同意畫面,讓使用者授予資料存取權,並提供任何法律或隱私權文件的連結。如果您已完成這個步驟,或不需要設定同意畫面,請略過本節,並返回終端機視窗設定環境變數,如本頁稍後的「設定環境變數」一節所述。

如要設定同意畫面,請按照下列步驟操作:

  1. 點選「設定同意畫面」。
  2. 選取這是內部或外部應用程式,然後按一下「建立」
  3. 在「應用程式名稱」欄位中輸入應用程式名稱。
  4. 在「使用者支援電子郵件」中,輸入要顯示在「OAuth 同意畫面」的使用者支援電子郵件地址。
  5. (選用) 上傳圖片檔案做為應用程式標誌,在 OAuth 同意畫面上使用。
  6. (選用) 輸入應用程式首頁連結,該連結應與動作中心位於相同的根網域。
  7. 視需要,在「應用程式隱私權政策連結」欄位中輸入應用程式隱私權政策的連結。連結必須與動作中心位於相同的根網域。
  8. (選用) 在「應用程式服務條款連結」欄位中輸入應用程式服務條款的連結。連結必須與動作中心位於相同的根網域。
  9. 在「Authorized domains」(已授權網域) 部分,按一下「ADD DOMAIN」(新增網域),然後輸入動作中心使用的根網域。
  10. 在「開發人員聯絡資訊」欄位中,輸入 Google 可與您聯絡的電子郵件地址。
  11. 按一下「儲存並繼續」
  12. 在「範圍」部分,新增應用程式必須存取的使用者資料類型。包括電子郵件、個人資料、OpenID 和 https://mail.google.com。由於這份清單包含敏感的使用者資訊,因此必須先通過 Google 的 OAuth 同意畫面驗證,才能發布。
  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。以下是十六進位 AES-256 金鑰的範例:

    C4EFBBE2C364248419776459A00F2F4017CE77E29D9E8F64940687EA440A0CC9

產生 API 金鑰

如要取得 API 金鑰,請執行下列指令:

y arn generate-api-key

保留產生的金鑰,以供稍後設定時使用。這組金鑰是根據 ACTION_HUB_SECRET 產生。

啟動本機動作中心伺服器

如要啟動動作中心,請執行下列指令:

yarn start

將 Action Hub 新增至 Looker 執行個體

如要在 Looker 執行個體中新增 Action Hub,請按照下列步驟操作:

  1. 在 Looker 中,前往「管理」面板的「平台」下方的「動作」頁面。
  2. 捲動至頁面底部,然後按一下「新增動作中心」按鈕。
  3. 輸入 ACTION_HUB_BASE_URL,然後按一下「新增動作中心」。動作中心應會顯示在新的標題下方,並附上名稱和 ACTION_HUB_BASE_URL。Google 雲端硬碟和 Google 試算表動作應會顯示在這個標題下方。
  4. 如果連線失敗,請在「授權權杖」欄位中輸入先前產生的 api-key,然後按一下動作中心標題頂端的「重新整理」連結。
  5. 啟用 Google 雲端硬碟和 Google 試算表動作,並確認動作中心中的設定正確無誤。

下一步

接下來,請發布您在 Google API 控制台中建立的應用程式。如要發布,請前往「OAuth 同意畫面」頁面,然後按一下「提交以供驗證」按鈕。請注意,應用程式發布程序可能需要一些時間,且需要完成 Google 的驗證步驟。