设置 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 反馈社区提交产品反馈。