【Azure 环境】使用 az ad group create 时候遇见 Insufficient privileges to complete the operation

az ,Azure,to ,使用 · 浏览次数 : 73

小编点评

**问题描述:** 使用Azure CLI创建AD组时,报错提示权限不足 Insufficient privileges to complete the operation。 **问题解决:** 为了查看更完整的错误信息,在命令中添加`--debug`参数,用于输出完整的日志信息: ``` az ad group create --debug --display-name GroupTestAdministrator --mail-nickname azuretest ``` **详细步骤:** 1. 获取AAD应用的Role ID。可以通过Azure CLI指令: ``` az ad sp show --id 00000002-0000-0000-c000-000000000000 ``` 2. 在AAD的注册应用中,通过清单,找到`requiredResourceAccess`,将所有权限添加到当前应用的清单中。以下表的方式添加: ```json { "resourceAppId": "00000002-0000-0000-c000-000000000000", "resourceAccess": [ // ...其他权限 ... { "id": "8b010b06-ce5b-41ce-bc8b-fa9acdb14371", "type": "Scope" } ] } ``` 3. 更新应用程序清单并保存。 4. 注意:`requiredResourceAccess`中可能包含多个权限对象,需要根据实际情况进行处理。 **参考资料:** - Azure CLI中`az ad group create`的命令: ``` az ad group create [--display-name] [--mail-nickname] [--resource-group] [--required-attributes] [--debug] ``` - Azure AD Graph权限配置: ``` https://learn.microsoft.com/zh-cn/graph/migrate-azure-ad-graph-configure-permissions ```

正文

问题描述

使用China Azure,通过Azure CLI 创建AAD组报错,提示权限不足 Insufficient privileges to complete the operation

# 使用这个登录:
az login --service-principal --username xxx--password xxx--tenant xxx

#执行 az ad group create
az ad group create --display-name GroupTestAdministrator --mail-nickname azuretest 

 

问题解决

为了查看更完整的错误信息,在 az ad group create 命令中添加 --debug 参数,用于输出完整的日志信息:

$ az ad group create --debug --display-name GroupTestAdministrator --mail-nickname azuretest  
cli.knack.cli: Command arguments: ['ad', 'group', 'create', '--debug', '--display-name', 'GroupTestAdministrator', '--mail-nickname', 'azuretest']
cli.knack.cli: __init__ debug log:

... ...
urllib3.connectionpool: Starting new HTTPS connection (1): graph.chinacloudapi.cn:443
urllib3.connectionpool: https://graph.chinacloudapi.cn:443 "POST /xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/groups?api-version=1.6 HTTP/1.1" 403 219
msrest.http_logger: Response status: 403
msrest.http_logger: Response headers:
... ... 
msrest.exceptions: Insufficient privileges to complete the operation.

查看以上错误日志,最主要的信息是在请求接口 https://graph.chinacloudapi.cn 时,报错403。而 graph.chinacloudapi.cn 是使用的旧的Azure AD Graph终结点。现在新的为 Microsoft Graph(https://microsoftgraph.chinacloudapi.cn/)。

Azure Active Directory (Azure AD) Graph 已弃用,将于近期停用。 作为此弃用路径的一部分,现在已禁用通过Azure 门户向应用注册添加 Azure AD Graph 权限。

为应用注册配置所需的 Azure AD Graph 权限:https://learn.microsoft.com/zh-cn/graph/migrate-azure-ad-graph-configure-permissions

所以,根据此文的介绍,如要继续使用 az ad group create  创建AD Group,可以修改注册应用的清单权限,来实现赋权。详细步骤见:https://learn.microsoft.com/zh-cn/graph/migrate-azure-ad-graph-configure-permissions#option-2-update-the-application-manifest-on-the-azure-portal 

第一步:获取到AAD应用 Windows Azure Active Directory 或 00000002-0000-0000-c000-000000000000 下的所有Role ID。

通过Azure CLI指令: az ad sp show --id 00000002-0000-0000-c000-000000000000 , 过滤出结果zhozho能够的 Role ID。

第二步: 在AAD的注册应用中,通过清单,找到requiredResourceAccess,将 00000002-0000-0000-c000-000000000000 中获取的所有权限,以下表的方式 添加到当前 注册应用的清单中。

"requiredResourceAccess": [
        {
            "resourceAppId": "00000002-0000-0000-c000-000000000000",
            "resourceAccess": [
                {
                    "id": "a42657d6-7f20-40e3-b6f0-cee03008a62a",
                    "type": "Scope"
                },
                {
                    "id": "5778995a-e1bf-45b8-affa-663a9f3f4d04",
                    "type": "Scope"
                },
                {
                    "id": "78c8a3c8-a07e-4b9e-af1b-b5ccab50a175",
                    "type": "Scope"
                },
                {
                    "id": "6234d376-f627-4f0f-90e0-dff25c5211a3",
                    "type": "Scope"
                },
                {
                    "id": "970d6fa6-214a-4a9b-8513-08fad511e2fd",
                    "type": "Scope"
                },
                {
                    "id": "311a71cc-e848-46a1-bdf8-97ff7156d8e6",
                    "type": "Scope"
                },
                {
                    "id": "c582532d-9d9e-43bd-a97c-2667a28ce295",
                    "type": "Scope"
                },
                {
                    "id": "cba73afc-7f69-4d86-8450-4978e04ecd1a",
                    "type": "Scope"
                },
                {
                    "id": "5778995a-e1bf-45b8-affa-663a9f3f4d04",
                    "type": "Role"
                },
                {
                    "id": "78c8a3c8-a07e-4b9e-af1b-b5ccab50a175",
                    "type": "Role"
                }
            ]
        },
        {
            "resourceAppId": "00000003-0000-0000-c000-000000000000",
            "resourceAccess": [
                {
                    "id": "8b010b06-ce5b-41ce-bc8b-fa9acdb14371",
                    "type": "Scope"
                }
            ]
        }
    ],

 

参考资料

更新Azure 门户上的应用程序清单 : https://learn.microsoft.com/zh-cn/graph/migrate-azure-ad-graph-configure-permissions#option-2-update-the-application-manifest-on-the-azure-portal

 

与【Azure 环境】使用 az ad group create 时候遇见 Insufficient privileges to complete the operation相似的内容:

【Azure 环境】使用 az ad group create 时候遇见 Insufficient privileges to complete the operation

问题描述 使用China Azure,通过Azure CLI 创建AAD组报错,提示权限不足 Insufficient privileges to complete the operation # 使用这个登录: az login --service-principal --username xxx

【Azure 环境】使用az login登录遇见OSError: [WinError -2146893813] : '' 错误

az login | Decryption failed:[WinError -2146893813] Key not vaid for use in specified state | msal_extensions.persistence: DPAPI error likely caused by file content not previously encrypted. App dev

【Azure 环境】Azure CLI 获取Access Token的脚本实例

问题描述 如何使用azure CLI命令获取到中国区的Access Token呢? 问题解答 首先,需要通过 az cloud set --name AzureChinaCloud 来设置登录中国区的环境 然后,通过 az login 登录成功 最后,就可以设定特定的订阅号(subscription

【Azure Developer】Go语言调用Azure SDK如何登录到中国区Azure环境

问题描述 在 “使用 Azure SDK for Go 进行 Azure 身份验证” 文章中的 Go 示例代码进行登录Azure时,默认指向的是Globa Azure。当只修改AAD AZURE_CLIENT_ID , AZURE_TENANT_ID 和 AZURE_CLIENT_SECRET参数值

【Azure 环境】移动应用 SSO 登录AAD, MSAL的配置为Webview模式时登录页面无法加载

问题描述 移动端集成MASL登录过程中,配置文件中配置项“authorization_user_agent”使用“DEFAULT”可以正常登录,但是改为“WEBVIEW”后就无法登陆,一直处于Loading状态。 参考的示例文档: https://docs.microsoft.com/zh-cn/a

【Azure Developer】使用 Microsoft Graph API 获取 AAD User 操作示例

问题描述 查看官方文档“ Get a user ” , 产生了一个操作示例的想法,在中国区Azure环境中,演示如何获取AAD User信息。 问题解答 使用Microsoft Graph API,演示如何获取AAD User信息,因参考文档是针对Global Azure,所以文档种的URL为: /

【Azure 环境】微软云上主机,服务的安全更新疑问

【问题一】微软云上的虚拟机,不论是Windows系统or Linux 系统,系统的安全补丁是由微软云平台 打上补丁进行修复,还是使用虚拟机的用户手动更新修复呢? 【答】这些补丁不会由平台来直接操作更新上去,而是由用户根据情况选择性安装修复。 【问题二】安全更新中提及的漏洞,是否会影响PaaS服务?

【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数

问题描述 在Azure App Service for Windows的环境中,部署.NET应用,其中使用了 SAP NetWeaver RFC函数 (需要加载 sapnwrfc.dll)。详细的错误为: “System.DllNotFoundException: Unable to load DL

【Azure 事件中心】使用Kafka的性能测试工具(kafka-producer-perf-test)测试生产者发送消息到Azure Event Hub的性能

问题描述 Azure Event Hub支持 kafka,所以为了测试消息生产者所在环境与Azure Event Hub之间发送消息的性能如何,特别使用 kafka 官方测试生产者,消费者的性能工具 : kafka-producer-perf-test.bat kafka-consumer-perf

【Azure 云服务】云服务(经典) 迁移至云服务(外延支持) 的相关疑问

问题描述 根据微软官方文档说明,云服务(经典)已弃用。所以关于它有以下的一些疑问: 一:迁移时候的停机时间问题? 二:云服务(经典) 与 云服务(外延支持) 的区别是什么? 三:注意事项有那些呢?如 TLS证书与保管库,当前订阅环境并没有使用保管库,需要做什么样的操作对应? 云服务迁移完成后,原来的