首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >错误403用户试图通过Active访问Azure Databricks API时未授权

错误403用户试图通过Active访问Azure Databricks API时未授权
EN

Stack Overflow用户
提问于 2020-09-01 10:45:12
回答 1查看 8.1K关注 0票数 4

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

若要创建服务主体并使用它访问Databricks,请执行以下操作。我已经配置了databricks工作区,并使用它创建了一个集群。然后,我遵循了文档中提到的过程,创建了一个服务主体,并获得了两个令牌: AD访问令牌和管理访问令牌。但是,我无法使用该API。

配置后的最后调用cURL命令:

代码语言:javascript
运行
复制
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

替换后的令牌和其他信息提供了以下结果:

代码语言:javascript
运行
复制
<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>

我尝试了几种方法来解决这个问题,即更改原始访问令牌请求以使用使用authorization_code授予类型的交互式流,等等,但这只是给了我一个Invalid access token错误。

上面的配置有问题吗?我是不是缺少了一些权限?

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-03 04:09:14

必须将角色授予服务主体

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

接下来,根据以下过程将角色授予服务主体:

Databricks>Azure Azure Portal>Azure principal>save Databricks Service>Access control >添加角色assignment>Select,您希望授予的角色,并找到您的服务principal>save

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

获取Azure访问令牌:

获取Azure Management Resource端点令牌:

使用管理端点访问令牌访问Databricks REST:

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63686132

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档