设置 CycleCloud 服务器时出现“提供的 Azure 凭据无效”错误
本文介绍如何解决设置 CycleCloud 服务器时可能发生的“提供的 Azure 凭据无效”错误。
背景
设置 CycleCloud 时,可以使用 服务主体 或 托管标识 进行权限管理。 在任一方案中,都必须为订阅分配参与者角色。 参与者角色需要授权服务主体或托管标识执行订阅操作,例如创建存储帐户或创建虚拟机(VM)。
现象
尝试将 CycleCloud 服务器与服务主体或托管标识一起设置时,会收到以下错误消息:
提供的 Azure 凭据无效:对象 ID 为“application-guid”的客户端“<<tenant-guid>>”无权在范围“/subscriptions/subscription-guid>”上执行操作“Microsoft.Storage/storageAccounts/<read”,或者范围无效。 如果最近已授予访问权限,请刷新凭据。
原因
角色尚未正确分配给服务主体或托管标识。
注意
“参与者”角色是最简单的选项,其中包含足够的权限用于管理订阅中的 CycleCloud 资源,例如 VM、网络和存储。 但是,“参与者”角色的特权级别高于 CycleCloud 所需的权限级别。 因此,可以在更复杂的方案中使用自定义角色。 如果考虑使用自定义角色,建议更深入地了解 Azure 角色定义和特定操作。
服务主体解决方案
服务主体设置
在初始 CycleCloud 设置期间,按照“使用服务主体”中的 说明创建服务主体。 使用 CLI 命令创建服务主体并为订阅分配参与者角色。
检查订阅权限
- 登录到Azure 门户,然后搜索订阅。
- 找到要用于 CycleCloud 的订阅(如果列出了多个订阅)。
- 选择访问控制(IAM),选择“角色分配”选项卡,然后找到“参与者”角色列表。
- 检查是否缺少参与者角色中的服务主体(而不是正在部署 CycleCLoud 的用户)。
在涉及多个用户和租户的方案中,服务主体很可能缺失。 如果尝试将现有服务主体用于 CycleCloud 开发,而不是创建新的服务主体,则这种情况也可能会发生这种情况。
添加角色分配
先决条件
若要添加角色分配,必须具有订阅的 Microsoft.Authorization/roleAssignments/write 权限,例如用户访问管理员或所有者。 默认情况下,不会向参与者授予写入权限。
若要将参与者角色添加到用于 CycleCloud 开发的服务主体,请按照使用 Azure 门户 分配 Azure 角色中的步骤操作。
托管标识的解决方案
托管标识设置
设置托管标识时,可以在创建 CycleCloud VM 期间或之后启用托管标识,如使用 Azure 门户 配置托管标识中所述。
启用托管标识后,必须将参与者订阅角色分配给托管标识。
按照以下步骤将参与者角色添加到订阅:
- 登录到Azure 门户,找到 CycleCloud 服务器 VM。
- 在左侧面板中,选择“设置>标识”。
- 选择 Azure 角色分配>“添加角色分配”,然后在菜单中选择“订阅”和“参与者”。
- 创建新分配可能需要一到两分钟。 创建后,请确保在 CycleCloud 中验证凭据。
联系我们寻求帮助
如果你有任何疑问或需要帮助,请创建支持请求或联系 Azure 社区支持。 你还可以将产品反馈提交到 Azure 反馈社区。