使用OAuth身份驗證服務主體
預覽
這個特性是在公共預覽。
驗證數據磚REST api,您可以使用磚OAuth的服務主體。創建的服務主體是一個身份在磚使用自動化工具,工作,和應用程序。有關更多信息,請參見管理服務主體。
您可以使用OAuth對磚api的服務主體的賬戶和工作區。服務主體隻能調用它訪問調用的api。服務主體必須是賬戶管理調用戶頭級別api和必須的一員工作區工作空間層api。
步驟1:創建一個服務主體
您可以創建一個服務主體在賬戶中直接或工作區。工作區中創建的服務主體是自動添加到帳戶。如果你啟用了聯合身份驗證你的工作區,磚建議創建帳戶的服務主體和分配工作。如果你沒有聯合身份驗證啟用和您希望使用服務工作的負責人,您必須創建你的服務主體從一個工作區。
添加一個服務主體的賬戶使用帳戶控製台:
作為一個賬戶管理,登錄到賬戶控製台。
點擊用戶管理。
在服務主體選項卡上,單擊添加服務主體。
輸入一個名稱服務主體。
點擊添加。
可選地,角色選項卡,打開賬戶管理打電話給帳戶級別api。
你現在可以指定服務主體身份聯合工作區。
在賬戶控製台中側邊欄,單擊工作區。
單擊您的工作區名稱。
在權限選項卡上,單擊添加權限。
搜索和選擇服務主體,分配權限級別(工作區用戶或管理),然後點擊保存。
工作區管理,登錄到磚工作區。
點擊你的用戶名在酒吧的磚工作區並選擇管理設置。
在服務主體選項卡上,單擊添加服務主體。
點擊搜索框的下拉箭頭,然後單擊+添加新服務主體。
輸入一個名稱服務主體。
點擊添加。
服務主要是添加到您的工作區和磚帳戶。在以下步驟中,您必須使用帳戶控製台創建一個OAuth的秘密服務主體。
步驟2:創建一個OAuth的秘密服務主體
之前,您可以使用OAuth身份驗證數據磚REST api,您必須首先創建一個OAuth的秘密,可用於生成OAuth令牌。一個服務主體可以有五OAuth的秘密。為服務創建一個OAuth的秘密主要使用帳戶控製台:
作為一個賬戶管理,登錄到賬戶控製台。
點擊用戶管理。
在服務主體選項卡上,選擇你的服務主體。
下OAuth的秘密,點擊生成的秘密。
複製顯示秘密和客戶機ID,然後單擊完成。
這個秘密隻會顯示一次創造。客戶機ID是一樣的服務主體的應用程序ID。
使用API創建一個OAuth的秘密看,賬戶API。
步驟3:創建一個OAuth磚api的訪問令牌
您可以使用客戶機ID和客戶端請求一個秘密OAuth令牌驗證帳戶級別api和工作空間層api。訪問令牌一小時會到期。你必須請求一個新的OAuth到期後訪問令牌。OAuth訪問令牌的範圍取決於您的令牌創建水平。您可以創建一個令牌在戶頭級別或工作空間層。
如果你調用戶頭級別api和api在工作區服務主體訪問,你必須創建一個帳戶級別OAuth訪問令牌。如果你調用api在一個工作區,磚建議你創建一個工作空間層OAuth訪問令牌。
重要的
而不是創建一個OAuth訪問令牌,你可以用你的客戶ID和客戶秘密的參與實現的工具或sdk磚客戶端統一身份驗證標準。這些工具和sdk自動生成和更換過期OAuth磚為你服務主體的令牌。更多信息見OAuth機器對機器(M2M)身份驗證。
創建一個帳戶級別OAuth訪問令牌
OAuth令牌創建的帳戶級別可以用來對磚api的帳戶和任何工作區服務主體已經分配給。
作為一個賬戶管理,登錄到賬戶控製台。
單擊向下箭頭旁邊你的用戶名在右上角。
複製你的帳戶ID。
建設令牌端點URL代替< my-account-id >在以下網址,你的賬戶ID複製。
https:/ /賬戶。雲。磚。com/oidc/賬戶/ <我的- - - - - -賬戶- - - - - -id> /v1/令牌
請求的OAuth訪問令牌
令牌端點URL
,客戶端ID
,OAuth秘密
你創建的。的所有api
請求範圍的OAuth訪問令牌可以用來訪問所有數據磚api服務主體被授予訪問權。取代
< token-endpoint-URL >
使用令牌從上麵端點URL。取代
<客戶機id >
服務主體的客戶機ID,這也被稱為應用程序ID。取代
<端秘密>
您創建的OAuth的秘密。
出口CLIENT_ID <客戶機id >出口CLIENT_SECRET=<端秘密> curl - POST請求\——url < token-endpoint-URL >\- u”美元CLIENT_ID:CLIENT_SECRET美元”\——數據' grant_type = client_credentials&scope =所有api '
這生成一個響應類似於:
{“access_token”:“eyJraWQiOiJkYTA4ZTVjZ…”,“token_type”:“持票人”,“expires_in”:3600年}
複製
access_token
從響應。訪問令牌一小時會到期。你必須請求一個新的OAuth到期後訪問令牌。
創建一個工作空間層OAuth訪問令牌
OAuth令牌從工作空間層隻能訪問api創建工作區,即使服務主體是一個管理員的賬戶或屬於其他工作區。
建設令牌替換< databricks-instance >的端點URL工作空間的URL你的磚部署:
https:/ / <磚- - - - - -實例> /oidc/v1/令牌
請求的OAuth訪問令牌
令牌端點URL
,客戶端ID
,OAuth秘密
你創建的。的所有api
請求範圍的OAuth訪問令牌可以用來訪問所有數據磚api的服務主體在工作區中被授予訪問請求令牌從你。取代
< token-endpoint-URL >
使用令牌從上麵端點URL。取代
<客戶機id >
服務主體的客戶機ID,這也被稱為應用程序ID。取代
<端秘密>
您創建的OAuth的秘密。
出口CLIENT_ID <客戶機id >出口CLIENT_SECRET=<端秘密> curl - POST請求\——url < token-endpoint-URL >\- u”美元CLIENT_ID:CLIENT_SECRET美元”\——數據' grant_type = client_credentials&scope =所有api '
這生成一個響應類似於:
{“access_token”:“eyJraWQiOiJkYTA4ZTVjZ…”,“token_type”:“持票人”,“expires_in”:3600年}
複製
access_token
從響應。訪問令牌一小時會到期。你必須請求一個新的OAuth到期後訪問令牌。
第四步:調用一個磚API
你現在可以使用OAuth令牌驗證磚戶頭級別api和工作空間層api。服務主體必須是賬戶管理帳戶級別api。
您可以包括頭使用的令牌持票人
身份驗證。您可以使用這種方法旋度
或任何客戶機構建。
刪除一個OAuth的秘密服務主體
賬戶管理員可以刪除服務主體使用OAuth的秘密帳戶控製台。一旦刪除了一個秘密,你不能用它來請求新的OAuth訪問令牌。然而現有的訪問令牌產生的秘密繼續工作直到令牌過期。
作為一個賬戶管理,登錄到賬戶控製台。
點擊用戶管理。
在服務主體選項卡上,選擇一個服務主體。
下OAuth的秘密旁邊的垃圾桶圖標,點擊你想撤銷的秘密。
使用OAuth起程拓殖
你可以使用OAuth身份驗證磚起程拓殖的提供者自動帳戶級別和工作空間層配置。驗證起程拓殖,設置服務主體的客戶機ID(也稱為應用程序ID)和客戶秘密,環境變量。
如何驗證起程拓殖的信息,請參閱磚起程拓殖的提供者。
對於一個教程創建一個磚工作區起程拓殖和OAuth,明白了創建數據磚工作區使用起程拓殖。