服務主體對CI / CD

本文描述了如何使用服務主體與磚CI / CD。一個服務主體是一個身份創建使用自動化的工具和應用程序,包括:

作為一個安全最佳實踐,使用磚磚推薦服務主體及其磚訪問令牌,而不是你的磚用戶或磚個人工作區用戶訪問令牌給磚CI / CD平台訪問資源。Beplay体育安卓版本這種方法包括以下一些好處:

  • 格蘭特和可以限製訪問為磚磚資源服務主體獨立於用戶。例如,這允許您禁止磚服務主體作為一個管理員在你磚的工作空間,同時允許其他特定用戶在您的工作空間中繼續充當管理員。

  • 用戶可以維護自己的訪問令牌訪問由CI / CD平台。Beplay体育安卓版本

  • 你可以暫時禁用或永久刪除一個磚服務主體而不影響其他用戶。例如,這允許您從磚暫停或刪除訪問服務主體,你懷疑是惡意的方式使用。

  • 如果用戶離開你的組織,你可以刪除用戶,而不會影響任何磚服務主體。

給CI / CD平台訪問你的磚工Beplay体育安卓版本作區,做到以下幾點:

  1. 在您的工作區中創建一個數據磚服務主體。

  2. 生成一個磚磚服務主體的訪問令牌。

  3. 給這個磚CI / CD平台的訪問令牌。Beplay体育安卓版本

完成步驟1和2,請參閱管理服務主體

完成第3步,完成本文中的指令。

可選,如果你還想用你的磚與磚工作區回購在CI / CD平台的Beplay体育安卓版本情況下,看到的Git提供者證書添加到一個磚的工作區。例如,您可能想要你的Git提供者訪問您的工作區,然後你還想在你的工作區與Git使用磚回購的提供者。然而,你不需要使用磚回購為了使用您的工作區與CI / CD平台。Beplay体育安卓版本

需求

  • 磚的磚訪問令牌的服務主體。創建一個磚服務主體及其磚訪問令牌的,看到的管理服務主體

  • 一個帳戶與你的Git提供者。

設置GitHub的行為

GitHub的行為必須能夠訪問您的數據磚工作區。如果你想使用磚回購,你的工作還必須能夠訪問GitHub。

使GitHub的行動來訪問你的磚工作區,您必須注冊為磚磚訪問令牌的服務主體與GitHub的行動。

如果你也想讓你訪問GitHub當您使用磚磚工作區回購,您必須添加GitHub的GitHub個人訪問令牌機用戶工作區。

注冊數據磚的磚訪問令牌的服務主體與GitHub的行動

本節描述如何啟用GitHub的行動來訪問你的磚工作區。

作為一個安全最佳實踐,磚建議您不要輸入一個磚直接訪問令牌到GitHub的身體行動的文件。你應該注冊使用GitHub磚和GitHub訪問令牌的動作加密機密代替。

GitHub的行動,例如磚的列表持續集成和交付使用GitHub的行動,以及onpush.ymlonrelease.yml文件的一部分基本的Python模板dbx對於GitHub動作,依靠GitHub加密機密如:

  • DATABRICKS_HOST,這是價值https://其次是你的工作區實例名例如,dbc-a1b2345c-d6e7.cloud.m.eheci.com

  • DATABRICKS_TOKEN的價值token_value值複製後創建了磚磚服務主體的訪問令牌。

GitHub的更多信息加密的秘密是GitHub所需行動,明白了管理服務主體的文檔,GitHub的行動。

添加這些GitHub GitHub庫加密的秘密,明白了為存儲庫創建加密的秘密在GitHub文檔。對於其他方法來添加這些GitHub庫秘密,看到的加密機密在GitHub文檔。

添加GitHub個人訪問令牌GitHub機用戶數據磚工作區

本節描述如何啟用訪問GitHub磚與磚工作區回購。這是一個可選的任務在CI / CD的場景。

作為一個安全最佳實踐,磚建議你使用GitHub機用戶而不是GitHub個人賬戶,有許多相同的原因,你應該使用一個磚代替磚用戶服務主體。添加GitHub個人訪問令牌GitHub機用戶數據磚工作區,做到以下幾點:

  1. 創建一個GitHub機用戶,如果你不已經有一個可用的。一個GitHub機用戶是一個GitHub個人賬戶,獨立於自己的GitHub個人賬戶,你可以在GitHub上使用自動化活動。創建一個新的獨立的GitHub帳戶使用GitHub機用戶,如果你不已經有一個可用的。

    請注意

    當你創建一個新的獨立的GitHub帳戶作為一個GitHub機用戶,您不能將它與自己的GitHub個人賬戶的電子郵件地址。相反,看到您組織的郵件管理員有一個單獨的電子郵件地址,您可以與這個新獨立的GitHub賬戶作為一個GitHub機用戶。

    看到您的組織的帳戶管理員管理單獨的電子郵件地址及其相關GitHub機用戶及其GitHub個人訪問令牌在你的組織。

  2. 給你的GitHub GitHub機用戶訪問存儲庫。看到邀請一個團隊或個人在GitHub文檔。接受邀請,你可能首先需要退出你的GitHub個人帳戶,然後在GitHub機器用戶簽字。

  3. 在GitHub機用戶,然後創建一個GitHub的個人機用戶訪問令牌。看到創建一個個人訪問令牌在GitHub文檔。一定要給GitHub個人訪問令牌回購訪問。

  4. 收集數據磚磚服務主體的訪問令牌,GitHub機器的用戶名,然後Git提供者證書添加到一個磚的工作區

設置Azure管道

Azure管道必須能夠訪問您的數據磚工作區。如果你也想使用磚回購,你的工作空間必須能夠訪問Azure管道。

Azure管道管道YAML文件依賴環境變量來訪問你的磚工作區。這些環境變量包括的如:

  • DATABRICKS_HOST,這是價值https://其次是你的工作區實例名例如,dbc-a1b2345c-d6e7.cloud.m.eheci.com

  • DATABRICKS_TOKEN的價值token_value值複製後創建了磚磚服務主體的訪問令牌。

這些環境變量添加到Azure管道,明白了在Azure管道使用Azure鍵值的秘密設置秘密變量Azure的文檔。

參見下麵的磚博客:

可選的CI / CD場景:如果您的工作區使用磚回購,你想讓您的工作區訪問Azure管道、收集:

  • 磚的磚訪問令牌的服務主體

  • 你的Azure管道用戶名

然後,Git提供者證書添加到一個磚的工作區

設置GitLab CI / CD

GitLab CI / CD必須能夠訪問您的數據磚工作區。如果你也想使用磚回購,你的工作空間必須能夠訪問GitLab CI / CD。

訪問你的磚工作區,GitLab CI / CD.gitlab-ci.yml文件,如人的一部分基本的Python模板dbx,依靠定製CI / CD變量如:

  • DATABRICKS_HOST,這是價值https://其次是你的工作區實例名例如,dbc-a1b2345c-d6e7.cloud.m.eheci.com

  • DATABRICKS_TOKEN的價值token_value值複製後創建了磚磚服務主體的訪問令牌。

這些自定義變量添加到你的GitLab CI / CD項目,明白了CI / CD變量添加到項目中在GitLab CI / CD文檔。

如果您的工作區使用磚回購,你想讓您的工作區訪問GitLab CI / CD,收集:

Git提供者證書添加到一個磚的工作區

本節描述如何使你的磚的磚工作區訪問Git的提供者回購。這在CI / CD的場景中是可選的。例如,您可能隻希望自己的Git提供者訪問磚工作區,但你不也想在你的工作區與Git使用磚回購的提供者。如果是這樣,那麼跳過這一節。

在您開始之前,收集以下信息和工具:

  • 磚的磚訪問令牌的服務主體。

  • 與你的Git提供者相關聯的用戶名。

  • 與用戶相關的訪問令牌的Git提供者。

在接下來的指示,使用旋度或郵差,替換:

  • < service-principal-access-token >為你的磚與磚的訪問令牌服務主體。(做使用磚個人為您的工作區用戶訪問令牌。)

    提示

    確認您使用的是正確的令牌,你可以首先使用磚的磚訪問令牌的服務主體調用SCIM API 2.0(我)工作區調用的API,並查看輸出。

  • < git-provider-access-token >訪問令牌的Git提供者與用戶相關聯。

  • < git-provider-user-name >與你的Git提供者相關聯的用戶名。

  • < git-provider-short-name >與Git供應商相關的短名稱:

    • 對於GitHub,使用GitHub

    • Azure管道,使用AzureDevOpsServices

    • GitLab CI / CD,使用GitLab

運行以下命令。確保set-git-credentials.json文件在同一個目錄下運行這個命令。這個命令使用環境變量DATABRICKS_HOST代表你的磚工作區實例URL例如,https://dbc-a1b2345c-d6e7.cloud.m.eheci.com

curl - x的帖子\$ {DATABRICKS_HOST}/ api / 2.0 / git-credentials\——頭“授權:無記名< service-principal-access-token >”\——數據@set-git-credentials.json\|金橋。

set-git-credentials.json:

{“personal_access_token”:“< git-provider-access-token >”,“git_username”:“< git-provider-user-name >”,“git_provider”:“< git-provider-short-name >”}
  1. 創建一個新的HTTP請求(File > New > HTTP請求)。

  2. 在HTTP動詞下拉列表中,選擇帖子

  3. 輸入請求URL,輸入http:// < databricks-instance-name > / api / 2.0 / git-credentials,在那裏< databricks-instance-name >是你的磚工作區實例名例如,dbc-a1b2345c-d6e7.cloud.m.eheci.com

  4. 授權選項卡,類型列表中,選擇不記名的令牌

  5. 令牌,輸入數據磚磚服務主體(訪問令牌< service-principal-access-token >)。

  6. 選項卡中,添加關鍵價值一雙內容類型應用程序/ scim + json

  7. 身體選項卡上,選擇JSON

  8. 輸入以下身體有效載荷:

    {“personal_access_token”:“< git-provider-access-token >”,“git_username”:“< git-provider-user-name >”,“git_provider”:“< git-provider-short-name >”}
  9. 點擊發送

提示

確認調用成功,您可以使用磚的磚訪問令牌的服務主體調用獲取Git憑證在Git憑證API。和審查輸出。