我有一个项目,其资源跨越 3 个资源组。我想创建一个范围为所有这些资源组的服务连接,以便我可以通过该服务连接在一个地方管理访问。目前,我创建了 3 个服务连接,范围为每个资源组。我不想将其限定为订阅,因为还有其他团队在处理该订阅中的项目。它会给我将来的维护和审计问题。
如果我创建一个服务主体并将其分配给 3 个资源组,然后将此服务主体附加到服务连接,那么它会是一个好的设计吗?
有没有更好的方法来实现这一目标?
我有一个项目,其资源跨越 3 个资源组。我想创建一个范围为所有这些资源组的服务连接,以便我可以通过该服务连接在一个地方管理访问。目前,我创建了 3 个服务连接,范围为每个资源组。我不想将其限定为订阅,因为还有其他团队在处理该订阅中的项目。它会给我将来的维护和审计问题。
如果我创建一个服务主体并将其分配给 3 个资源组,然后将此服务主体附加到服务连接,那么它会是一个好的设计吗?
有没有更好的方法来实现这一目标?
您不必手动创建服务主体。您可以使用该界面创建服务主体、授予第一个资源组的权限并自动为您配置连接。
完成后,查看服务连接以识别正在使用的服务主体,并为其授予对其他资源组的权限。
是的,这是一个很好的设计,与 3 个服务主体相比,唯一的缺点是,对于 Azure DevOps 中谁可以通过服务服务连接的权限访问这 3 个资源组中的每一个(因为您只有一个而不是 3)
当您在 Azure DevOps 中创建新的服务连接时,它将创建一个 Azure AD 应用注册,并且将为您选择的资源组创建一个新的服务主体。
因此,您可以转到任何资源组,然后使用访问控制 (IAM) 添加委托人。选择添加角色分配选项,然后在角色网格中选择角色作为参与者,然后按下一步。在下一个屏幕中,选择用户、组或服务主体作为分配访问权限的选项。点击 + 选择成员,搜索我们的 AD 注册应用名称,显示名称,然后从结果中选择相同的名称,点击选择按钮。最后,单击 Review + assignment 按钮。
我写了一篇详细的文章来解释这些步骤,你可以在这里阅读。