设置 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 命令创建服务主体并为订阅分配“参与者”角色。

检查订阅权限

  1. 登录到Azure 门户,并在“订阅”上搜索。
  2. 如果) 列出了多个订阅,请找到要用于 CycleCloud (的订阅。
  3. 选择“访问控制 (IAM) ”,选择“角色分配”选项卡,然后找到“参与者”角色列表。
  4. 检查以验证服务主体 (不是部署 CycleCLoud) 的用户是否缺少 参与者 角色。

在涉及多个用户和租户的方案中,服务主体很可能缺失。 如果你尝试使用现有的服务主体进行 CycleCloud 开发,而不是创建新的服务主体,也可能会发生这种情况。

添加角色分配

先决条件

若要添加角色分配,必须具有订阅的 Microsoft.Authorization/roleAssignments/write 权限,例如用户访问管理员或所有者。 默认情况下,不会向参与者授予写入权限。

若要将参与者角色添加到用于 CycleCloud 开发的服务主体,请按照使用Azure 门户分配 Azure 角色中的步骤操作。

托管标识的解决方案

托管标识设置

设置托管标识时,可以在 CycleCloud VM 创建期间或之后启用托管标识,如使用 Azure 门户配置托管标识中所述。

启用托管标识后,必须将“参与者”订阅角色分配给托管标识。

按照以下步骤将参与者角色添加到订阅:

  1. 登录到Azure 门户,并找到 CycleCloud 服务器 VM。
  2. 在左侧面板中,选择 “设置>标识”。
  3. 选择 “Azure 角色分配>”“添加角色分配”,然后在菜单中选择“ 订阅 ”和“ 参与者 ”。
  4. 创建新分配可能需要一到两分钟。 创建后,请确保在 CycleCloud 中验证凭据。

联系我们寻求帮助

如果你有任何疑问或需要帮助,请创建支持请求联系 Azure 社区支持。 还可以向 Azure 反馈社区提交产品反馈。