服務主體對CI / CD
本文描述了如何使用服務主體與磚CI / CD。一個服務主體是一個身份創建使用自動化的工具和應用程序,包括:
CI / CBeplay体育安卓版本D平台等GitHub的行為,Azure管道,GitLab CI / CD
氣流在數據管道
作為一個安全最佳實踐,使用磚磚推薦服務主體及其磚訪問令牌,而不是你的磚用戶或磚個人工作區用戶訪問令牌給磚CI / CD平台訪問資源。Beplay体育安卓版本這種方法包括以下一些好處:
格蘭特和可以限製訪問為磚磚資源服務主體獨立於用戶。例如,這允許您禁止磚服務主體作為一個管理員在你磚的工作空間,同時允許其他特定用戶在您的工作空間中繼續充當管理員。
用戶可以維護自己的訪問令牌訪問由CI / CD平台。Beplay体育安卓版本
你可以暫時禁用或永久刪除一個磚服務主體而不影響其他用戶。例如,這允許您從磚暫停或刪除訪問服務主體,你懷疑是惡意的方式使用。
如果用戶離開你的組織,你可以刪除用戶,而不會影響任何磚服務主體。
給CI / CD平台訪問你的磚工Beplay体育安卓版本作區,做到以下幾點:
在您的工作區中創建一個數據磚服務主體。
生成一個磚磚服務主體的訪問令牌。
給這個磚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.yml
和onrelease.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機用戶數據磚工作區,做到以下幾點:
創建一個GitHub機用戶,如果你不已經有一個可用的。一個GitHub機用戶是一個GitHub個人賬戶,獨立於自己的GitHub個人賬戶,你可以在GitHub上使用自動化活動。創建一個新的獨立的GitHub帳戶使用GitHub機用戶,如果你不已經有一個可用的。
請注意
當你創建一個新的獨立的GitHub帳戶作為一個GitHub機用戶,您不能將它與自己的GitHub個人賬戶的電子郵件地址。相反,看到您組織的郵件管理員有一個單獨的電子郵件地址,您可以與這個新獨立的GitHub賬戶作為一個GitHub機用戶。
看到您的組織的帳戶管理員管理單獨的電子郵件地址及其相關GitHub機用戶及其GitHub個人訪問令牌在你的組織。
給你的GitHub GitHub機用戶訪問存儲庫。看到邀請一個團隊或個人在GitHub文檔。接受邀請,你可能首先需要退出你的GitHub個人帳戶,然後在GitHub機器用戶簽字。
在GitHub機用戶,然後創建一個GitHub的個人機用戶訪問令牌。看到創建一個個人訪問令牌在GitHub文檔。一定要給GitHub個人訪問令牌回購訪問。
收集數據磚磚服務主體的訪問令牌,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管道用戶名
設置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,收集:
磚的磚訪問令牌的服務主體
你的GitLab CI / CD的用戶名
Git提供者證書添加到一個磚的工作區
本節描述如何使你的磚的磚工作區訪問Git的提供者回購。這在CI / CD的場景中是可選的。例如,您可能隻希望自己的Git提供者訪問磚工作區,但你不也想在你的工作區與Git使用磚回購的提供者。如果是這樣,那麼跳過這一節。
在您開始之前,收集以下信息和工具:
磚的磚訪問令牌的服務主體。
與你的Git提供者相關聯的用戶名。
與用戶相關的訪問令牌的Git提供者。
等工具
旋度
或打電話給郵遞員創建一個Git證書條目在Git憑證API。你不能使用磚的用戶界麵。
在接下來的指示,使用旋度
或郵差,替換:
< 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 >”}
創建一個新的HTTP請求(File > New > HTTP請求)。
在HTTP動詞下拉列表中,選擇帖子。
為輸入請求URL,輸入
http:// < databricks-instance-name > / api / 2.0 / git-credentials
,在那裏< databricks-instance-name >
是你的磚工作區實例名例如,dbc-a1b2345c-d6e7.cloud.m.eheci.com
。在授權選項卡,類型列表中,選擇不記名的令牌。
為令牌,輸入數據磚磚服務主體(訪問令牌
< service-principal-access-token >
)。在頭選項卡中,添加關鍵和價值一雙
內容類型
和應用程序/ scim + json
在身體選項卡上,選擇生和JSON。
輸入以下身體有效載荷:
{“personal_access_token”:“< git-provider-access-token >”,“git_username”:“< git-provider-user-name >”,“git_provider”:“< git-provider-short-name >”}
點擊發送。
提示
確認調用成功,您可以使用磚的磚訪問令牌的服務主體調用獲取Git憑證在Git憑證API。和審查輸出。