提供一個服務主體為磚自動化——起程拓殖

請注意

提供使用磚磚服務主體的用戶界麵相反,看到的提供一個服務主體為磚自動化UI -磚

一個服務主體是一個身份等自動化工具和係統腳本,應用程序,和CI / CD平台。Beplay体育安卓版本磚建議使用一個服務主體及其OAuth令牌或個人訪問令牌,而不是你的磚用戶帳戶和個人訪問令牌。福利包括:

  • 授予和限製獨立於用戶對資源的訪問。

  • 使用戶能夠更好地保護自己的訪問令牌。

  • 禁用或刪除服務主體,而不影響其他用戶。

  • 刪除一個用戶離開時組織而不影響任何服務主體。

按照下列指示來使用磚起程拓殖的提供者創建一個在你的磚磚服務主體的工作區,然後創建一個磚磚服務主體的個人訪問令牌。

需求

  • 磚的個人訪問令牌允許起程拓殖提供者調用磚磚api代表你的磚磚內的用戶帳戶的工作區。看到磚個人訪問令牌認證

  • 磚CLI版本0.200或更高版本,配置你的磚個人訪問令牌通過運行命令配置——主機< workspace-url >——簡介< some-unique-profile-name >創建一個磚磚個人訪問令牌的身份驗證配置概要文件。看到磚個人訪問令牌認證

  • 起程拓殖CLI。看到下載起程拓殖

創建數據磚服務主體和磚個人訪問令牌

  1. 在終端中,創建一個空目錄,然後切換到它。每個單獨的組起程拓殖配置文件必須在自己的目錄中。例如:mkdirterraform_service_principal_demo& &cdterraform_service_principal_demo

    mkdir terraform_service_principal_demo& &cdterraform_service_principal_demo
  2. 在這個空目錄中,創建一個文件命名main.tf。將以下內容添加到這個文件,然後保存文件。

    警告

    以下內容包含聲明授權=“令牌”。隻能有一個授權=“令牌”權限資源/磚工作區。應用以下更改後,用戶之前CAN_USECAN_MANAGE權限將被吊銷訪問基於令牌的身份驗證。他們的積極的令牌也立即刪除(撤銷)。因為這個操作的潛在破壞性的性質,相關的配置被注釋掉了main.tf文件。

    或者,您可以使用磚用戶界麵,使磚的服務主體使用磚個人訪問令牌。看到管理訪問磚自動化。您還可以使用磚用戶界麵生成磚磚服務主體的個人訪問令牌。看到服務主體的管理令牌

    請注意

    以下內容創建一個服務主體在磚工作區級別。如果啟用了磚工作區聯合身份驗證,那麼以下內容也自動同步相關的服務主體磚賬戶(見管理員分配用戶工作區嗎?)。創建一個服務主體在磚帳戶級別隻有而不是在空間層麵,看到“創建服務主體在AWS磚賬戶”的部分databricks_service_principal資源在磚起程拓殖供應商文檔。

    如果你選擇取消注釋以下資源和輸出,個人訪問令牌也生成。這種個人訪問令牌可以使用自動化的服務主體隻在指定的磚的工作區。

    你不能使用個人訪問令牌對磚戶頭級別的自動化服務主體。如果你試圖為服務主體生成個人訪問令牌在磚賬戶層麵,嚐試會失敗。

    變量“databricks_connection_profile”{描述= "磚身份驗證配置概要文件的名稱使用。”類型= string}變量“service_principal_display_name”={描述“服務主體的顯示名稱。”類型= string}變量“service_principal_access_token_lifetime”={描述”的生命周期服務主體的訪問令牌,在幾秒鍾內。”類型=違約數量= 3600}起程拓殖{required_providers{磚={源=“磚/磚"}}}提供者“磚”{profile = var.databricks_connection_profile}資源“databricks_service_principal”“sp”{提供者=磚display_name = var.service_principal_display_name} #取消注釋以下“databricks_permissions”資源#如果你想使服務主體使用#個人訪問令牌。# #警告:取消以下“databricks_permissions”資源#導致用戶此前CAN_USE或者CAN_MANAGE許可#吊銷訪問基於令牌的身份驗證。#其積極的令牌也立即刪除(撤銷)。# #或者,稍後您可以啟用這個磚的用戶界麵。# #資源“databricks_permissions”“token_usage”{#授權=“令牌”# access_control {# service_principal_name = databricks_service_principal.sp。application_id # permission_level = " CAN_USE " #} #} # #取消注釋以下“databricks_obo_token”資源和#“service_principal_access_token”如果你想輸出為服務主體生成#個人訪問令牌,然後看到#生成個人訪問令牌。# #如果您取消注釋以下“databricks_obo_token”資源和#“service_principal_access_token”輸出,您還必須#取消前麵的“databricks_permissions”資源。# #或者,您可以生成一個個人訪問令牌後通過#磚的用戶界麵。# #資源“databricks_obo_token”這種“{# depends_on = [databricks_permissions。# application_id = databricks_service_principal.sp token_usage)。application_id #評論= " $ {databricks_service_principal.sp的個人訪問令牌代表。display_name}" # lifetime_seconds = var.service_principal_access_token_lifetime # } output "service_principal_name" { value = databricks_service_principal.sp.display_name } output "service_principal_id" { value = databricks_service_principal.sp.application_id } # Uncomment the following "service_principal_access_token" output if # you want to see the generated personal access token for the service principal. # # If you uncomment the following "service_principal_access_token" output, you must # also uncomment the preceding "service_principal_access_token" resource and # "databricks_obo_token" resource. # # output "service_principal_access_token" { # value = databricks_obo_token.this.token_value # sensitive = true # }

    請注意

    添加服務主體磚工作空間的組織,並添加磚工作區服務主體權利,明白了databricks_service_principal在起程拓殖網站上。

  3. 在相同的目錄中,創建一個文件命名terraform.tfvars。將以下內容添加到該文件,替換以下值,然後保存文件:

    • 取代databricks_connection_profile價值與身份驗證配置概要文件的名稱的要求。

    • 取代service_principal_display_name值的顯示名稱服務主體。

    • 取代service_principal_access_token_lifetime價值的秒數的訪問令牌的生命周期服務主體。

    databricks_connection_profile = " <磚身份驗證配置概要文件的名稱>”service_principal_display_name = <服務主體顯示名稱>”service_principal_access_token_lifetime = 3600
  4. 包含初始化工作目錄main.tf文件通過運行起程拓殖初始化命令。有關更多信息,請參見命令:初始化在起程拓殖網站上。

    起程拓殖init
  5. 檢查是否有任何語法錯誤在運行配置起程拓殖驗證命令。有關更多信息,請參見命令:驗證在起程拓殖網站上。

    起程拓殖驗證
  6. 應用更改需要達到所需的配置通過運行狀態起程拓殖應用命令。有關更多信息,請參見命令:在起程拓殖網站上。

    起程拓殖應用
  7. 如果你的注釋databricks_permissions資源,databricks_obo_token資源,service_principal_access_token輸出,然後服務主體的訪問令牌,看到的價值outputs.service_principal_access_token.valueterraform.tfstate文件,該文件是包含在工作目錄main.tf文件。