管理個人訪問令牌

磚REST API進行身份驗證,用戶可以創建一個個人訪問令牌和使用它的REST API請求。創建一個個人訪問令牌,看到的磚個人訪問令牌認證

創建一個個人訪問令牌代表一個服務主體管理個人訪問令牌服務主體

這篇文章解釋了如何管理個人訪問令牌在你的工作區。

個人訪問令牌管理的概述

個人訪問令牌是默認啟用所有磚工作區。

當個人訪問令牌上啟用一個工作區,用戶提供的可以使用權限可以生成個人訪問令牌訪問磚REST api,和他們可以生成這些令牌與任何截止日期,包括無限期一生。默認情況下,沒有非管理用戶工作區可以使用權限,這意味著他們不能創建或使用個人訪問令牌。

磚工作區管理,您可以禁用個人工作空間的訪問令牌,監視和撤銷令牌,控製非管理用戶可以創建令牌和使用令牌,並設置一個最大生命周期為新令牌。

需求

這個特性要求保費計劃

啟用或禁用個人工作空間的訪問令牌驗證

個人訪問令牌的身份驗證是默認啟用所有磚工作區。您可以更改此設置在工作區中設置頁麵。

當個人訪問令牌被禁用的工作區,個人不能用於驗證訪問令牌磚和工作空間的用戶和服務主體不能創建新的標記。不刪除令牌時禁用個人訪問令牌認證一個工作區。如果令牌重新啟用後,任何非過期的令牌可供使用。

如果你想禁用令牌訪問用戶的一個子集,您可以保留個人訪問令牌認證支持工作區和細粒度的權限的用戶和組。看到控製誰可以創建和使用令牌

警告

合作夥伴聯係,合作夥伴集成,服務主體需要個人訪問令牌上啟用一個工作區。

禁用的能力為工作區中創建和使用個人訪問令牌:

  1. 管理員設置頁麵

  2. 單擊工作空間設置選項卡。

  3. 單擊個人訪問令牌切換。

  4. 點擊確認

    這種變化可能需要幾秒鍾才能生效。

您還可以使用REST API來禁用個人工作空間的訪問令牌。啟用或禁用令牌為工作區管理功能,調用工作區配置標記API(補丁/ workspace-conf)。指定一個JSON請求主體enableTokensConfig作為真正的(使)或(禁用)。

例如,使個人訪問令牌在工作區:

curl - x片- n\https:// < databricks-instance > / api / 2.0 / workspace-conf\- d”{“enableTokensConfig”:“真正的”,}'

控製誰可以創建和使用令牌

工作空間管理員可以設置權限的個人訪問令牌控製哪些用戶,服務主體,組織可以創建和使用令牌。

一個工作區權限用戶可以有以下標記:

  • 沒有權限:用戶沒有權限不能創建新的個人訪問令牌或使用現有的磚工作區進行身份驗證。

  • 可以使用:用戶可以創建個人訪問令牌和使用它們來進行身份驗證的工作區。

  • 可以管理(僅限工作區管理員):用戶可以管理個人訪問令牌和權限。用戶在工作區中管理員集團有一個默認權限,不能撤銷。服務主體,沒有其他用戶或組可以授予許可。

此表列出了每個token-related任務所需的權限:

任務

沒有權限

可以使用

可以管理

創建一個令牌

x

x

使用令牌認證

x

x

撤銷自己的令牌

x

x

撤銷任何用戶或服務主體的令牌

x

列出所有標記

x

修改標記的權限

x

管理令牌使用管理權限設置頁麵

令牌管理工作區使用管理的權限設置頁麵:

  1. 管理員設置頁麵

  2. 單擊工作空間設置選項卡。

  3. 單擊權限旁邊的按鈕個人訪問令牌打開牌權限編輯器。

  4. 搜索並選擇用戶、服務主體或組,選擇權限分配。

    如果用戶集團有可以使用允許你想更細粒度的訪問申請非管理用戶,刪除可以使用的權限用戶集團通過單擊X旁邊的許可下拉用戶行。

  5. 點擊+添加

  6. 點擊保存

    警告

    保存您的更改後,此前的任何用戶可以使用可以管理權限,不再有權限拒絕進入個人訪問令牌認證和其積極的令牌將會立即被刪除(撤銷)。刪除令牌不能被檢索。

令牌管理權限使用權限API

得到所有權限令牌工作區

牌用戶權限為所有的磚,磚組,和磚服務主體在工作區中,調用獲得令牌的權限權限令牌的API來獲得所有的工作區。(例如,得到/權限/授權/令牌中描述的權限API文檔。)

響應包含一個access_control_list數組中。每個元素是一個用戶對象,對象,或一個服務主體對象。他們每個人都有一個身份字段適當的類型:用戶有一個user_name領域,集團有一個group_name有一個領域,服務主體service_principal_name字段。所有元素都有一個all_permissions字段指定許可水平(CAN_USECAN_MANAGE)是理所當然。

例如:

curl - n - x得到“https:// < databricks-instance > / api / 2.0 /預覽/權限/授權/令牌”

示例響應:

{“object_id”:“授權/令牌”,“object_type”:“令牌”,“access_control_list”:({“user_name”:“jsmith@example.com”,“all_permissions”:({“permission_level”:“CAN_USE”,“繼承”:}]}]}

設置令牌的權限

設置令牌權限,調用令牌更新權限API(補丁/權限/授權/令牌)。

你可以在一個或多個用戶,設置權限組,或服務主體。對於每個用戶,您需要知道電子郵件地址,這是中指定user_name請求屬性。對於每一組,指定的組名group_name財產。對於一個服務主體,指定服務主體applicationId的價值service_principal_name財產。

你隻能授予不撤銷權限,這個API。

例如,下麵的例子向用戶授予訪問權限又該@例子com和組mygroup

curl - n - x片“https:// < databricks-instance > / api / 2.0 /預覽/權限/授權/令牌”\- d”{“access_control_list”:({“user_name”:“jsmith@example.com”,:“permission_level CAN_USE”,},{組:“group_name mygroup”,:“permission_level CAN_USE”,}]}'

示例響應:

{“access_control_list”:({“user_name”:“jsmith@example.com”,“all_permissions”:({“permission_level”:“CAN_USE”,“繼承”:}]},{“group_name”:組“mygroup”,“all_permissions”:({“permission_level”:“CAN_USE”,“繼承”:}]}]}

如果你想設置權限令牌在工作區中所有成員在一個請求中,使用權限令牌替換所有工作區API(/權限/授權/令牌)。

刪除權限

從全部或部分撤銷權限非管理用戶,使用權限令牌替換所有工作區API(/權限/授權/令牌),它要求您指定完整的權限為所有對象權限為整個工作區。

下麵的例子贈款可以使用權限組field-automation-group,省略了權限用戶(所有用戶)組和資助可以管理許可的管理員集團所需的API。任何非管理用戶組中沒有field-support-engineers將失去訪問令牌創建和他們現有的令牌將會立即被刪除(撤銷)。

curl - n - x將“https:// < databricks-instance > / api / 2.0 /預覽/權限/授權/令牌”\- d”{“access_control_list”:({:“group_name field-automation-group”,:“permission_level CAN_USE”,},{“group_name”:“管理員”,:“permission_level CAN_MANAGE”,},]}'

設置最大的一生新的令牌(REST API)

使用工作區配置API管理的最大生命周期新令牌在這個工作區。

設置最大生命周期為新令牌,調用為新的令牌API設置一生最大的令牌(補丁/ workspace-conf)。集maxTokenLifetimeDays新令牌的最大牌一生天,作為一個整數。如果你將它設置為零,新的令牌被允許沒有壽命限製。

例如:

curl - n - x片“https:// < databricks-instance > / api / 2.0 / workspace-conf”\- d”{“maxTokenLifetimeDays”:“90”}'

警告

這一限製隻適用於新的令牌。審查現有的令牌,看到獲得令牌的API

工作空間的最大的一生為新令牌,調用工作區配置API(得到/ workspace-conf),通過鍵= maxTokenLifetimeDays作為查詢參數。響應包含一個maxTokenLifetimeDays屬性是一生最大的令牌的新令牌的日子裏,作為一個整數。如果是零,新的令牌被允許沒有壽命限製。

例如:

curl - n - x得到“https:// < databricks-instance > / api / 2.0 / workspace-conf ?鍵= maxTokenLifetimeDays”

示例響應:

{“maxTokenLifetimeDays”:“90”}

監控和撤銷令牌(僅REST API)

使用令牌管理API在工作區中管理現有的令牌。

獲得令牌的工作區

工作空間的令牌,調用獲得令牌的API(得到令牌管理/令牌)。響應包含一個token_infos數組中。每個元素代表一個令牌,包括字段ID (token_id),創建時間(creation_time),到期時間(expiry_time),描述(評論和創建它的用戶IDcreated_by_id或用戶名created_by_username)。

由用戶來過濾結果,設置請求主體的屬性created_by_id(ID)created_by_username(用戶名)。你可以從一個顯示名稱使用一個用戶IDSCIM讓用戶API(得到/ scim / v2 /用戶)

例如:

curl - n - x得到“https:// < databricks-instance > / api / 2.0 /令牌管理/令牌”\- d”{“created_by_id”:“1234567890”}'

示例響應:

{“token_infos”:({“token_id”:“< token-id >”,“creation_time”:1580265020299,“expiry_time”:1580265020299,“評論”:“這是為美國廣播公司部門的自動化腳本”。,“created_by_id”:1234567890,“created_by_username”:“jsmith@example.com”}]}

另外,得到一個特定的令牌使用得到一個令牌API(得到/令牌管理/令牌/ {token_id})。

刪除(撤銷)令牌

  1. 找到標記ID。獲得令牌的工作區

  2. 調用刪除一個象征性的API(刪除令牌管理/令牌)。令牌傳遞ID的路徑。

例如:

curl - n - x刪除“https:// < databricks-instance > / api / 2.0 /令牌管理/令牌/ < token-id >”

起程拓殖集成

你可以在一個完全自動化的管理權限設置使用磚起程拓殖的提供者databricks_permissions如下。

警告

以下配置包含聲明授權=“令牌”。隻能有一個授權=“令牌”權限資源/磚工作區,否則將會有一個永久配置漂移。應用以下更改後,用戶之前CAN_USECAN_MANAGE權限但不再有權限訪問個人訪問令牌認證撤銷。其積極的令牌將會立即被刪除(撤銷)。

資源“databricks_group”“自動”{display_name =“自動化”}資源“databricks_group”“eng”{display_name =“工程”}資源“databricks_permissions”“token_usage”=“令牌”access_control {group_name ={授權databricks_group.auto。display_name permission_level = " CAN_USE "} access_control {group_name = databricks_group.eng。display_name permission_level = " CAN_USE "}}