通过 ARM 模板为服务连接用户分配角色

Assign the Service Connection User a role through ARM template

我们最近才开始在 Azure 中为我们的一些应用程序使用应用程序配置服务。

作为设置的一部分,我们删除了作为可能的身份验证方法的访问密钥。这非常有效,我们已将数据所有者权限分配给我们的团队,以便他们可以管理服务并且每个人都很高兴。

我们想到了在我们的构建和发布 yaml 管道中使用应用程序配置服务的好主意。我们找到了一个合适的任务,但是附加到我们在 Azure Devops 中用于部署到 Azure 的服务连接的用户没有访问配置存储的权限。

我们希望能够在我们为应用程序配置服务创建的 arm 模板中分配此权限。但问题是我们找不到分配给该用户的主要 ID。

老实说,我对 AAD 没有那么多经验,所以我可能在这里遗漏了一些东西。 ServicePrincipleId 不起作用,每当我尝试使用它时,天蓝色告诉我该用户不存在。每当我尝试管理服务连接时,我都会被重定向到一个应用程序注册页面,我也不明白这一点。

我的下一步是让我们的管理员手动将此权限分配给服务连接用户,看看我是否可以从该角色分配中提取主要 ID。

我的问题是,为什么服务原则不起作用?如何从服务连接中提取主体 ID?

你能试试下面的步骤吗?

  1. 在 Azure DevOps 中,转到包含目标管道的项目。在 lower-left 角落,select 项目设置。
  2. Select 服务连接。
  3. Select 管理服务主体。
  4. 从那里,您应该能够找到您的服务主体的 objectId,它唯一标识您的 SP。

此外,这些帖子也是了解 AAD 应用程序和服务主体的重要资源:

  1. https://docs.microsoft.com/en-us/azure/active-directory/develop/app-objects-and-service-principals
  2. .