azure - Azure API 管理 - 管理 API 和开发人员门户 SAS 令牌访问实例数据?
问题描述
在部署的 Azure API 管理实例中,我启用了管理 API 和开发人员门户。
我可以登录到开发人员门户(作为开发人员,在 Azure 门户的开发人员门户刀片中添加到开发人员组的帐户,没有为用户分配其他权限),我可以提取我获得的 SAS 令牌,该门户在授权标头中使用该令牌,我可以使用此令牌通过管理 API 对 API 管理实例执行操作。
这个对吗?使用开发人员门户在幕后使用相同的 API,我了解分配给开发人员的 SAS 令牌可以进行一些操作,例如创建订阅、编辑 displayName 等(因为这一切都可以由开发人员从开发人员门户)。但是,开发人员是否真的能够(例如)使用管理 API/他们的开发人员门户令牌将他们批准的订阅范围从一种产品/API 更改为另一种?通过这种方式,他们可以访问我在“已批准”订阅下未批准的产品/API,而之前的订阅意味着不同的授权产品/API。
我预计此类操作/功能仅对开发人员门户管理员组(或类似人员)中的用户可用。
这是正确的行为还是有一些我不知道的额外配置来限制“开发人员”的此类功能。我不希望开发人员通过操纵订阅来获得对他们未获批准访问的产品/API 的访问权限。我还需要启用管理 API,所以禁用它不是一个选项(但出于好奇,我禁用了管理 API,我仍然可以使用与开发人员门户相同的 API 编辑订阅)
解决方案
您实际上并没有禁用 Management API 本身,而只是禁用integration
了帐户。
颁发给用户的 SAS 令牌是特定于用户的,可以使用它执行的操作数量有限,主要与用户的资源有关。更改订阅范围不是其中之一。
推荐阅读
- laravel - 在laravel中检索外键第一个值
- c# - 如何停止需要麦克风权限的 UWP 相机
- c++ - Xlib 快速有效地绘制像素
- java - Insert removed element in generic list
- kubernetes - 许多 kubernetes 机密与一个 k8s 机密中的许多密钥
- android - Kotlin:从片段启动 Activity
- python - 如何使用 matplotlib 自定义甘特图并在图表上显示指示当前时间的垂直线?
- wolframalpha - 在 Wolfram Alpha 中绘制具有整数变量的函数
- google-cloud-endpoints - Cloud Identity 和 Cloud Endpoints,有没有办法阻止角色/组中的某些用户向端点发出 POST/GET 请求
- node.js - 在 Node JS 中访问 DOM 对象