Azure服务主体名称的Azure Databricks PAT令牌创建

qni6mghb  于 2023-01-09  发布在  其他
关注(0)|答案(3)|浏览(182)

我无法通过门户将Azure AD服务主体名称添加到Azure Databricks中,但我能够在Databricks API终结点的帮助下添加我的服务主体。如何为我的服务主体名称创建PAT令牌。

csbfibhn

csbfibhn1#

你可以使用服务主体创建Azure Active Directory令牌,并使用该令牌对数据块进行身份验证。
创建AAD令牌

curl -X POST -H 'Content-Type: application/x-www-form-urlencoded' \
-d 'grant_type=client_credentials&client_id=<client-id>&resource=2ff814a6-3304-4ab8-85cb-cd0e6f879c1d&client_secret=<application-secret>' \
https://login.microsoftonline.com/<tenant-id>/oauth2/token

<client-id><application-secret>替换为应用程序ID和服务主体的密码,将<tenant-id>替换为租户ID。响应将包括访问令牌的值

{
    "access_token": "<token value>"
}

由于您已经将服务主体添加到了Databricks工作区中,因此现在您可以直接使用生成的令牌来调用Databricks REST端点作为服务主体:

curl -X GET \
-H 'Authorization: Bearer <token-value>' \
https://<databricks-instance>/api/2.0/clusters/list

您还可以使用Databricks令牌API为服务主体创建其他令牌

curl -X POST -H 'Authorization: Bearer <token-value>' \
--data '{ "comment": "This is an example token", "lifetime_seconds": 7776000 }' \
https://<databricks-instance>/api/2.0/token/create

更多详情请点击此处。

yhived7q

yhived7q2#

**注意:**您可以使用SCIM API将Azure AD服务主体添加到工作区。

很遗憾,你无法以编程方式创建Azure Databricks令牌。
你将使用Azure Databricks个人访问令牌(PAT)针对Databricks REST API进行身份验证。若要创建可用于发出API请求的PAT:
1.转到你的Azure数据块工作区。
1.单击屏幕右上角的用户图标,然后单击用户设置。
1.单击访问令牌〉生成新令牌。
1.复制并保存令牌值。
即使对于使用API创建,此API的初始身份验证也与所有Azure Databricks API终结点相同:必须首先按照身份验证中所述进行身份验证。
有关详细信息,请参阅Tutorial: Run a job with an Azure service principal

hgqdbh6s

hgqdbh6s3#

将服务主体添加到数据库之后,可以使用curl为服务主体创建数据库令牌/PAT。

curl -X POST \
${DATABRICKS_HOST}/api/2.0/token-management/on-behalf-of/tokens \
--header "Content-type: application/json" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}" \
--data @create-service-principal-token.json \
| jq .

https://docs.databricks.com/dev-tools/service-principals.html#step-2-create-the-databricks-access-token-for-the-databricks-service-principal

相关问题