自動佈建新執行個體

(選用) 啟動新的 Looker 客戶代管執行個體時,您可以自動佈建執行個體,並提供授權金鑰、主機網址和初始使用者帳戶。

使用電子郵件使用者自動佈建新執行個體

首次啟動時,Looker 會掃描 JAR 檔案所在的 looker 目錄,尋找名為 provision.yml 的檔案。此檔案的格式如下:

license_key: "1234-5678-ABCD-EFGH-IJKL"
host_url: "https://looker.mycompany.com"
user:
  first_name: "Ariel"
  last_name: "Q"
  email: "arielq@altostrat.com"
  password: "password123"

如果 Looker 執行個體是全新的,且尚未設定,系統會使用提供的授權金鑰和使用者帳戶資訊進行佈建。

如果 Looker 已佈建完成,授權金鑰和主機網址值會覆寫執行個體中設定的授權金鑰和主機網址。系統會忽略使用者資訊。這個方法很實用,可使用實際工作環境例項內部資料庫的最新副本更新 Looker 的暫存例項,同時維持暫存伺服器的獨立授權金鑰和網址。

使用 API 使用者自動佈建新執行個體

在啟動新的 Looker 執行個體時,您可以透過程式輔助方式佈建初始 API 使用者。您可以佈建 API 使用者電子郵件使用者,但 Looker 不支援同時佈建 API 使用者和電子郵件使用者。

產生 API 憑證

如要佈建 API 使用者,請產生用戶端 ID 和用戶端密鑰,Looker 會讀取並儲存至資料庫。這些憑證的規定如下:

  • 用戶端 ID 長度必須為 20 個字元。
  • 用戶端密鑰的長度必須為 24 個字元。
  • 這兩個字串都必須能納入 POST 要求的內文;因此,建議您只使用英數字元做為用戶端 ID 和用戶端密碼。

舉例來說,Looker 會使用下列程式碼,以程式輔助方式產生這些憑證:

require 'securerandom'

TOKEN_SYMBOLS = "bcdfghjkmnpqrstvwxyzBCDFGHJKMNPQRSTVWXYZ23456789".freeze

def generate_token(size)
  Array.new(size).map { TOKEN_SYMBOLS[SecureRandom.random_number(TOKEN_SYMBOLS.size)] }.join
end

這組代碼可避免使用模稜兩可的字元,減少字串出錯的機率。

您也可以使用 openssl 指令產生合適的字串:

openssl rand -hex 10

openssl 指令結尾的數字是字串中的位元組數,因此請使用 10 做為用戶端 ID,並使用 12 做為用戶端密鑰。

佈建 API 使用者

如要在啟動時佈建 API 使用者,請確認 looker 目錄中含有 provision.yml 檔案,其中包含授權金鑰和主機網址。例如:

license_key: "1234-5678-ABCD-EFGH-IJKL"
host_url: "https://looker.mycompany.com"

looker 目錄中建立名為 api-provision.yml 的檔案,並將權限設為 0600,其中包含 API 使用者資訊。例如:

user:
  first_name: "Ariel"
  last_name: "Q"
  client_id: "M9hZb8vRh9bSZzdPxw42"
  client_secret: "NMnqBVbHqPsPzTvbZk6xZfV3"

建議您將這些憑證儲存在這個檔案以外的密碼管理工具中,因為 Looker 執行個體處理並在資料庫中建立使用者後,這個檔案就會在啟動時移除。

啟動時,如果執行個體沒有使用者,Looker 會使用這些憑證建立 Looker 管理員 API 使用者,並從磁碟中移除 api-provision.yml 檔案。

以新使用者身分登入後,您應至少再建立一位管理員使用者,因為佈建的 API 使用者會由 Looker 自動刪除

自動刪除佈建的憑證

佈建的 API 使用者僅用於佈建新例項,不應無限期保留在例項中。

符合下列任一條件時,Looker 會自動刪除佈建的 API 使用者:

  • 除了已佈建的 API 使用者之外,管理員使用者也登入了執行個體。
  • 自佈建的 API 使用者首次登入以來,已過了 50 分鐘。

因此,請務必在首次以佈建使用者身分登入後,立即建立至少一位額外的管理員使用者。