gpt4 book ai didi

azure - 尝试通过 Active Directory 访问 Azure Databricks API 时出现错误 403 用户未授权

转载 作者:行者123 更新时间:2023-12-04 01:14:52 24 4
gpt4 key购买 nike

我一直在关注文档:https://learn.microsoft.com/en-us/azure/databricks/dev-tools/api/latest/aad/service-prin-aad-token

创建服务主体并使用它来访问 Databricks。我已经配置了 databricks 工作区并使用它来创建集群。然后我按照文档中提到的流程创建了一个服务主体并获取了两个 token :AD 访问 token 和管理访问 token 。但是,我无法使用该 API。

配置后最终调用cURL命令:

curl -X GET \
-H 'Authorization: Bearer <access-token>' \
-H 'X-Databricks-Azure-SP-Management-Token: <management-access-token>' \
-H 'X-Databricks-Azure-Workspace-Resource-Id: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Databricks/workspaces/<workspace-name>' \
https://<databricks-instance>/api/2.0/clusters/list

用 token 和其他信息替换可提供以下结果:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title>Error 403 User not authorized.</title>
</head>
<body><h2>HTTP ERROR 403</h2>
<p>Problem accessing /api/2.0/clusters/list. Reason:
<pre> User not authorized.</pre></p>
</body>
</html>

我尝试了一些方法来解决此问题,即更改原始访问 token 请求以使用授权类型等来使用交互流程,但这只是给了我一个 无效的访问 token 错误。

上面的配置有问题吗?我是否缺少某些权限?

更新:来到访问控制 (IAM) 页面,该应用程序似乎不包含在那里。

最佳答案

您必须向服务主体授予角色。

这是我的测试结果,我没有向服务主体授予角色。错误与您的相同:

enter image description here

接下来,按照以下流程向服务主体授予角色:

Azure 门户>Azure Databricks>Azure Databricks 服务>访问控制 (IAM)>添加角色分配>选择您要授予的角色并找到您的服务主体>保存

enter image description here

最后,使用服务主体获取 token 。(不要忘记向服务主体授予权限并授予管理员同意)

enter image description here enter image description here

获取 Azure Active Directory 访问 token : enter image description here获取 Azure 管理资源终结点 token : enter image description here使用管理端点访问 token 访问 Databricks REST API: enter image description here

关于azure - 尝试通过 Active Directory 访问 Azure Databricks API 时出现错误 403 用户未授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63686132/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com