azure - 提供 Azure 托管标识 Directory.Read.All
问题描述
我想通过 Directory.Read.All 授予对图形的 Azure 托管标识访问权限。我可以通过以下博客使其工作:https ://blog.bredvid.no/accessing-apis-using-azure-managed-service-identity-ff7802b887d?gi=f2307752395a但是:
引发 Authorization_RequestDenied 错误(尽管显然是预期的:MSI Permissions for Graph API)
我更希望在 az-cli 下工作
我试过...
graphId=$(az ad sp list --filter "appId eq '00000003-0000-0000-c000-000000000000'" --query "[0].objectId")
roleId=$(az ad sp list --filter "appId eq '00000003-0000-0000-c000-000000000000'" --query "[0].appRoles[?value=='Directory.Read.All' && contains(allowedMemberTypes, 'Application')] | [0].id")
az role assignment create --role $roleId --assignee-object-id fa22d971-c442-41f2-add1-77e636f80d31 --scope $graphId --assignee-principal-type MSI
但这会导致......“该请求没有订阅或有效的租户级资源提供者。”
我在想这意味着我没有正确的范围。是否可以在 az-cli 下执行此任务?
解决方案
当前无法将服务主体 (MSI) 分配给应用程序角色,此处的所有命令。
是将az role assignment create
用户/服务主体/组作为 RBAC 角色添加到 azure 资源,而不是您想要的,它等于此链接中的步骤。
此外,如果您因为跨平台问题而想使用 azure CLI 而不是 powershell。你可以试试powershell core,它是跨平台的,参考这个链接在里面安装AzureAD.Standard.Preview
模块,然后你就可以使用AzureAD
命令了。
推荐阅读
- button - Markdown 未在 Slack 消息块按钮确认文本中解释
- python-3.x - 与 ValueError 相关的搜索:检查输入时出错:预期 conv2d_1_input 具有形状 (224, 224, 3) 但得到的数组具有形状 (103408, 1, 1)
- amazon-web-services - 在 docker 容器中运行 CDK 时无法解析要使用的 AWS 账户
- python - 无法在 Macbook 上安装 pylint
- html - 在 iOS 应用程序的背景中查找 html 中的值
- django - 如何在 django 项目中导入和显示 csv 文件
- wordpress - 如何在 ClickFunnels 页面上的灯箱中自动播放视频?
- git - 日期错误的 Git 提交
- javascript - 如何通过在javascript中单击鼠标触发输入中的按键
- javascript - 我如何知道某个元素是否在屏幕上?