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

Tha*_*n K 6 azure databricks azure-databricks

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

小智 11

您可以使用服务主体创建 Azure Active Directory 令牌并使用它对 Databricks 进行身份验证。

创建 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
Run Code Online (Sandbox Code Playgroud)

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

{
    "access_token": "<token value>"
}
Run Code Online (Sandbox Code Playgroud)

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

curl -X GET \
-H 'Authorization: Bearer <token-value>' \
https://<databricks-instance>/api/2.0/clusters/list
Run Code Online (Sandbox Code Playgroud)

您还可以使用 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
Run Code Online (Sandbox Code Playgroud)

更多详细信息请参见此处

  • 这对我有用。谢谢!api/2.0/token-management/on-behalf-of/tokens 根本不起作用。Databricks 需要在文档方面做得更好...... (2认同)