與穀歌身份驗證ID標記

驗證數據磚REST api,你有兩種選擇:

  • 個人訪問令牌。您可以使用這些僅供工作空間層REST api。

  • OpenID連接(OIDC)令牌。您可以使用這些磚REST api。

OpenID連接(OIDC)令牌是一個開放標準來支持身份驗證。OIDC 1.0是一個簡單的身份層上的OAuth 2.0協議。它允許應用程序來驗證用戶的身份執行基於認證的OAuth授權服務器。應用程序也可以從OIDC得到基本概要信息的用戶令牌。默認OIDC令牌到期後一小時。

重要的

磚REST api隻支持Google分發了OIDC令牌,這是通常被稱為Google ID標記。為了減少混淆,本文的其餘部分使用這個詞穀歌標識牌OIDC令牌

本文描述的步驟驗證使用磚REST api以及如何創建所需的穀歌的雲服務帳戶和為這些帳戶生成令牌。

一個Google ID標記可用於帳戶級別api或工作空間層api,但不能用於兩個目的。為工作空間層設置令牌的步驟和帳戶級別api大多是相同的。重要的差異被稱為指令。

在生產環境中,磚建議你使用兩個服務帳戶與磚REST api的工作。

  • 創建一個服務帳戶(SA-1)來運行您的工作負載。

  • 創建另一個服務帳戶(2)持有磚和穀歌雲資源的權限。

  • 格蘭特SA-1許可模仿2磚REST api。

用這個模擬模型中,一個團隊可以管理工作負載安全和另一個團隊可以管理資源安全。因為你隻有格蘭特扮演根據需要權限,這種方法為您的組織提供安全性和靈活性。

本文詳細描述了如何執行這些步驟供生產使用。你可以適應這些指令非生產使用和測試使用以下策略:

  • 用你的穀歌用戶帳戶模擬- 2。用戶帳戶必須有作用角色/ iam.serviceAccountTokenCreator

  • 使用一個穀歌雲服務帳戶SA-1和2。

戶頭級別api和工作空間層api

了解認證使用磚REST api,您必須了解REST api的類型和他們的關係到磚資源層次結構。

你可能有一個或多個數據磚賬戶。磚賬戶包含零個、一個或多個磚工作區。您可以使用賬戶控製台創建工作區和管理雲資源配置所需工作空間(如憑證、存儲和網絡)。

一個磚工作空間有各種各樣的資源,如就業和筆記本。工作空間管理,有時隻是所謂的管理,可以修改設置定義在空間層麵,包括設置的管理員設置頁麵

由於這種差異,有兩種類型的api:

磚REST API進行身份驗證,您需要通過Google ID與聽眾令牌(澳元相匹配的基URL) API,這是不同的在這兩個類型的API。叫磚REST api與不同的基url,您必須使用不同的Google ID標記。

憑證透傳

需要幾磚REST API的方法憑證透傳。調用這些方法,除了Google ID,您也必須通過穀歌OAuth訪問令牌雲平台Beplay体育安卓版本範圍在一個HTTP頭。磚服務器使用穀歌OAuth訪問令牌叫穀歌雲api的調用者。

磚不驗證或保存訪問令牌。

重要的

是否需要憑證透傳一個操作,為每個API參考API文檔操作。這些api要求X-Databricks-GCP-SA-Access-Token請求中的HTTP頭。

步驟1:創建兩個服務帳戶

  1. 創建兩個新穀歌雲服務帳戶。按照說明穀歌的文章創建一個服務帳戶。使用穀歌的雲主機,去服務帳戶穀歌頁麵,選擇一個雲項目中創建它。穀歌雲項目中創建這些服務帳戶不需要匹配的項目使用磚工作區,這項新服務賬戶也不需要使用相同的Google雲計算項目。

    • Token-creating服務帳戶(SA-1):此服務帳戶自動創建令牌的主要服務帳戶。這些令牌將用於調用磚REST api。穀歌文檔調用這個SA-1

    • 主要服務帳戶磚REST api (- 2):此服務帳戶作為主要(自動化用戶)磚REST api和自動化的工作流。穀歌文檔調用這個- 2

    保存電子郵件地址的服務帳戶用於後續步驟。

  2. 創建一個服務帳戶關鍵為你token-creating服務帳戶(SA-1)並將其保存到本地文件SA-1-key.json

    1. 從穀歌雲控製台服務帳戶頁麵,點擊SA-1的電子郵件地址。

    2. 單擊選項卡。

    3. 點擊添加關鍵

    4. 確保JSON(默認)被選中。

    5. 點擊創建

    6. 網頁下載的關鍵文件瀏覽器。移動文件到你的本地工作目錄,重命名它SA-1-key.json

    額外的指令,看到穀歌的文章創建服務帳戶鍵

  3. 格蘭特token-creating服務賬戶(SA-1)服務帳戶令牌創造者的角色主要服務帳戶上(2)。按照說明穀歌的文章直接請求的權限

    1. 從穀歌雲控製台服務帳戶頁麵,點擊電子郵件地址- 2。

    重要的

    在穀歌雲控製台,一定要編輯你的主要SA(- 2),不是你token-creating SA (SA-1):

    1. 點擊權限

    2. 點擊授權訪問

    3. 新校長場,粘貼token-creating SA (SA-1)的電子郵件地址。

    4. 角色字段中,選擇服務帳戶標記創造者的角色

    5. 點擊保存

步驟2:創建一個穀歌標識牌

磚建議使用Google雲CLI (gcloud)生成ID標記調用磚REST api。

重要的

一小時內生成的ID標記到期。你必須在這段時間內完成剩餘的所有步驟。如果令牌到期之前完成後麵的步驟,如調用磚api,你必須重複這個步驟生成一個新的穀歌標識牌。

  1. 在您的機器上安裝穀歌雲CLI。看到穀歌在安裝條gcloud工具

  2. 生成ID標記你的主要服務帳戶通過運行以下命令。

    • 取代< SA-1-key-json >通往你SA-1 JSON格式的關鍵文件。

    • 取代< SA-2-email >- 2的電子郵件地址。

    • 取代<讀者>根據您的用例:如下

      • 對工作空間層api,替換為你的工作空間的URL的形式https:// <數字>。<數字> .gcp.www.eheci.com例如,https://999999999992360.0.gcp.www.eheci.com。每個工作空間都有不同的獨特空間的URL。調用api在多個工作空間,您需要創建多個Google ID標記,每個國家都有不同觀眾值。

      • 帳戶級別API,替換為https://accounts.gcp.www.eheci.com。不同的賬戶都共享相同的觀眾價值。

    使用生產係統運行以下命令:

    gcloud cred-file身份驗證登錄=< SA-1-key-json > gcloud auth print-identity-token——impersonate-service-account=“< SA-2-email-address >”(包括電子郵件)觀眾=“<讀者>”

    非生產使用,如果你使用你的用戶帳戶模仿- 2,使用這些命令:

    gcloud身份驗證登錄gcloud auth print-identity-token——impersonate-service-account=< SA-2-email-address >——觀眾=“<讀者>”——包括電子郵件

    非生產使用,如果你使用一個服務帳戶SA-1和2,使用這些命令服務帳戶的關鍵JSON文件:

    gcloud cred-file身份驗證登錄=< SA-key-json > gcloud auth print-identity-token——觀眾=“<讀者>”
  3. 保存長時間的最後輸出到一個文件穀歌- id標記- sa - 2. - txt

    它輸出文本類似如下:

    警告:這個命令使用服務帳戶的模擬。所有API調用將被執行(< SA-2-email-address >)。eyJhba7s86dfa9s8f6a99das7fa68s7d6…N8s67f6saa78sa8s7dfiLlA

步驟3:創建一個穀歌OAuth訪問令牌(隻對api,需要憑據透傳)

. .注意:這一步是需要憑證透傳的隻需要調用的api。是否需要憑證透傳一個操作,為每個API參考API文檔操作。

包括一個請求生成一個訪問令牌一生字段定義多長時間訪問令牌是有效的。如果你隻需要活躍的五分鍾,令牌組300年代(300秒)。下麵的示例使用3600年代代表一個小時。

重要的

  • 在這段時間內你必須完成剩下的所有步驟的極限。如果時間到期之前完成後麵的步驟,如調用磚api,你必須重複這個步驟生成一個新的穀歌OAuth訪問令牌。

  • 默認情況下,一個小時(3600年代)的最大持續時間可以設置一生字段。延長這一限製,穀歌聯係客戶支持和請求一個例外。

  1. 運行以下命令。取代< SA-2-email-address >- 2的服務帳戶的電子郵件地址。對於非生產使用或測試,如果您正在使用一個服務帳戶或使用一個用戶帳戶扮演服務帳戶,< SA-2-email-address >替換為服務帳戶的電子郵件地址。

    gcloud auth print-access-token——impersonate-service-account=< SA-2-email-address >
  2. 保存長時間的最後輸出到一個文件訪問令牌- sa 2. - txt

    它輸出文本類似如下:

    警告:這個命令使用服務帳戶的模擬。所有API調用將被執行(< SA-2-email-address >)。eyJhba7s86dfa9s8f6a99das7fa68s7d6…N8s67f6saa78sa8s7dfiLlA

步驟4:添加作為一個工作區或帳戶用戶服務帳戶

你可以使用Google ID標記叫磚帳戶級別api工作空間層api。說明基於用例是不同的。請注意,您不能使用一個Google ID標記訪問這兩種類型的api,因為不同觀眾場的時候創建穀歌標識牌

工作區api

驗證工作區api使用Google ID標記,使用工作區管理設置頁麵添加你的主要服務帳戶(2)如果一個用戶的電子郵件地址。

  1. 工作區管理,去管理員設置頁麵

  2. 按照說明在將用戶添加到工作區並使用你的主要服務帳戶的電子郵件地址,當提示提供它在管理設置頁麵。

  3. 選擇性地添加任何組成員,可能需要為您的新服務帳戶根據磚REST api你打算打電話,您想要使用的數據對象。看到管理組

  4. 可選地添加磚訪問控製設置的用戶。看到訪問控製

帳戶級別api

驗證帳戶級別API(帳戶API)與穀歌標識牌,使用賬戶控製台添加你的主要服務帳戶(2)作為一個管理員的賬戶。添加服務帳戶使用其電子郵件地址你會添加一個用戶。

  1. 作為一個帳戶所有者或帳戶管理,去用戶在賬戶控製台選項卡

  2. 點擊添加用戶

    請注意

    不點擊添加服務主體。你不能使用一個服務帳戶創建一個磚服務主體

  3. 電子郵件地址字段中,輸入你的主要服務帳戶(2)電子郵件地址。

  4. 設置第一個和最後一個必需的字段名稱的方式反映了服務帳戶的目的。

  5. 點擊發送邀請。因為你使用了一個服務帳戶,而不是一個真正的用戶的電子郵件,沒有收到邀請郵件。授權服務帳戶是帳戶管理員立即無需額外的確認。

第五步:調用一個磚API

令牌在REST API認證需要提供不同在你計劃使用方法:賬戶API工作空間層api。請注意,您不能使用一個Google ID標記訪問這兩種類型的api,因為不同觀眾場的時候創建穀歌標識牌

以下HTTP頭用於磚與穀歌身份驗證id。

HTTP報頭名稱

描述

這類型的api需要嗎?

授權

穀歌標識牌- 2為不記名令牌。語法是身份驗證:持票人<標記>

所有的api

X-Databricks-GCP-SA-Access-Token

穀歌OAuth 2的訪問令牌。

帳戶級別api隻

例如工作空間層API請求

叫一個磚REST API的工作區,通過Google ID標記授權HTTP頭使用下麵的語法:

授權:持票人<穀歌- - - - - -id- - - - - -令牌>

您提供的令牌必須有以下屬性:

下麵的示例調用一個工作空間層API集群列表

  • 取代< google-id-token >與Google ID標記你保存在文件中穀歌- id標記- sa - 2. - txt

  • < workspace-URL >替換為你的基地工作區URL,類似於形式https://1234567890123456.7.gcp.www.eheci.com

旋度\- x得到\——頭“授權:無記名< google-id-token >”\< workspace-URL > / api / 2.0 /集群列表中

示例戶頭級別API請求的API不使用憑據透傳

下麵的示例調用賬戶API來獲取工作空間的列表。

  • 取代< google-id-token >與Google ID標記你保存在文件中穀歌- id標記- sa - 2. - txt

  • 取代<帳戶id >你的帳戶ID。找到您的帳戶ID:

    1. 作為一個賬戶管理,去磚帳戶的控製台

    2. 單擊向下箭頭旁邊你的用戶名在右上角。

    3. 下拉菜單你可以複製帳戶ID

旋度\- x得到\——頭“授權:無記名< google-id-token >”\https://accounts.gcp.www.eheci.com/api/2.0/example/ <帳戶id > /操作名稱

例子戶頭級別API請求證書透傳

下麵的示例調用賬戶API來獲取工作空間的列表。

  • 取代< google-id-token >與Google ID標記你保存在文件中穀歌- id標記- sa - 2. - txt

  • 取代< access-token-sa-2 >- 2的訪問令牌,你保存在文件中訪問令牌- sa 2. - txt

  • 取代<帳戶id >你的帳戶ID。找到您的帳戶ID:

    1. 作為一個賬戶管理,去磚帳戶的控製台

    2. 底部的左邊菜單(您可能需要滾動),單擊用戶按鈕(圖標)的人。

    3. 在出現的彈出,複製帳戶ID通過單擊圖標右邊的ID。

    找到你的帳戶ID。
旋度\- x刪除\——頭“授權:無記名< google-id-token >”\——頭“X-Databricks-GCP-SA-Access-Token: < access-token-sa-2 >”\https://accounts.gcp.www.eheci.com/api/2.0/accounts/ <帳戶id > /工作區/ < workspace-id >