【问题标题】:Azure Service ConnectionsAzure 服务连接
【发布时间】:2020-08-12 08:10:40
【问题描述】:

我正在尝试在 Azure DevOps 中创建发布管道。我在 Azure 中创建了一个应用服务资源,我想通过我的管道将我的 web 应用部署到这个应用服务。为此,我需要创建一个 ARM 服务连接。您能否帮助我了解服务连接类型之间的区别?谢谢!

  1. Service Principal(自动)和 Service Principal(手动)有什么区别?
  2. 服务主体、托管标识和发布配置文件有什么区别?

【问题讨论】:

    标签: azure-devops azure-active-directory azure-managed-identity service-principal serviceconnection


    【解决方案1】:

    Service Principal(自动)和 Service Principal(手动)有什么区别?

    Service Principal (automatic):它会在 Azure AD 中自动为您提供create an AD App along with the service principal,并在服务连接中使用它。

    Service Principal (manual):需要在 Azure AD 中手动create the AD App along with the service principal,并在创建服务连接时进行配置。

    服务主体、托管标识和发布配置文件有什么区别?

    当您在 Azure AD 中创建 AD App(App Registration) 时,它会在您的 Azure AD 中自动为您创建 service principal

    managed identity 本质上是您的 AAD 中由 Azure 管理的服务主体,您可以使用它来访问订阅中的 azure 资源。

    publish profile 是用于发布您的 Web 应用程序或 Web 作业的文件,它包含用户名和密码,它使用基本身份验证来部署您的 Web 应用程序,如果您使用服务主体/托管标识,它使用 Azure AD 身份验证。

    【讨论】:

    • 嗨,谢谢您的回复,Joy!另外,为什么我们需要使用服务主体?使用服务主体有什么好处?
    • @SD4 这个问题太笼统了,可以理解为一个身份来访问Azure中的资源(也有其他用法),更多细节需要了解Azure AD,详情看这里-docs.microsoft.com/en-us/azure/active-directory/develop/…
    • @SD4 你也可以看看这个post来帮助你理解。
    • 所以我创建了一个服务主体并尝试使用凭据建立服务连接。但验证失败并收到以下错误消息。知道为什么吗? 查询服务连接 API 失败:'management.azure.com/subscriptions/468---'。状态码:'Forbidden',来自服务器的响应:'{"error":{"code":"AuthorizationFailed","message":"对象 id 为 '440b4---' 的客户端 '440b---' 没有有权对范围“/subscriptions/468---”执行操作“Microsoft.Resources/subscriptions/read”,否则范围无效。
    • @SD4 您需要将客户端 440b-- 添加为订阅中的 RBAC 角色,例如Contributor,关注docs.microsoft.com/en-us/azure/role-based-access-control/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-07
    • 1970-01-01
    • 2021-09-06
    • 2021-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多