1

将 Azure 订阅从 Active Directory AD1 移至 Active Directory AD2。现在任务开始失败,因为以前的 ARM 端点(通过 Auto SPN)是使用旧端点详细信息创建的。因此,任务无法生成正确的访问令牌。

错误信息

The access token is from the wrong issuer 'https://sts.windows.net/***/'. It must match the tenant 'https://sts.windows.net/<TenantIdNew>/' associated with this subscription.
Please use the authority (URL) 'https://login.windows.net/<TenantIdNew>' to get the token. 
Note, if the subscription is transferred to another tenant there is no impact to the services, but information about new tenant could take time to propagate (up to an hour). If you just transferred your subscription and see this error message, please try back later. (CODE: 401)

附加问题

  1. 如何找到我的 VSTS 支持的租户?我在哪里可以找到它?
  2. 如何找到支持我的订阅的租户?我在哪里可以找到它?
  3. 迁移到 AD2 后,是否可以重新使用之前创建的服务端点(使用 AD1)?
  4. 迁移到 AD2 后,是否可以更新现有服务端点中的租户 ID(通过 REST API)?
  5. 基于 MSI 的服务端点会被破坏还是在迁移到 AD2 后仍然可用?
4

1 回答 1

1

有以下可能的解决方案:

  1. 将 AzureDevOps 帐户支持的活动目录从更改AD1AD2
  2. 建立信任关系 b/w 活动目录AD1AD2.
  3. 首先,通过脚本创建 SPN ,然后使用脚本提供的详细信息创建手动端点。

其他问题的答案

  1. 如何找到我的 VSTS 支持的租户?我在哪里可以找到它?

    转到 AzureDevOps 帐户 > 组织 > Azure Active Directory 在此处输入图像描述

  2. 如何找到支持我的订阅的租户?我在哪里可以找到它?

    转到 Azure 门户 > 订阅 > 选择您的订阅 > 概述 在此处输入图像描述

  3. 迁移到 AD2 后,是否可以重新使用之前创建的服务端点(使用 AD1)?

    是的。

    首先让我们了解一下服务端点在内部做什么。

    1. 在 AD 中创建应用程序。
    2. 通过订阅为其分配权限。


    现在让我们来看看我们的案例,

    1. 您创建了一个服务连接AD1,这意味着 AD 应用程序app1正在 Active Directory 中创建AD1并分配了订阅权限S
    2. 您将订阅移动S到另一个活动目录AD2,但 AD 应用程序app1仍驻留在以前的活动目录AD1中。


    要重用现有服务端点,您必须更新SPN Id,SPN keytenant Id在服务端点中。

    在手动服务连接的情况下,很容易通过 UI 更新,但在自动 SPN 流的情况下,您必须通过 REST API 更新上述字段。

  4. 迁移到 AD2 后,是否可以更新现有服务端点中的租户 ID(通过 REST API)?

    是的。

    获取所有端点

    请求类型 - 获取

    https://<accountName>.visualstudio.com/<ProjectName>/_apis/distributedtask/serviceendpoints?api-version=3.2-preview.1
    

    获取特定端点

    请求类型 - 获取

    https://<accountName>.visualstudio.com/<ProjectID>/_apis/distributedtask/serviceendpoints/<SERVICE_ENDPOINT_ID>?api-version=3.2-preview.1
    

    现在更新tenant Id响应并将其用作更新端点 REST API 中的主体。

    更新端点

    请求类型 - 放置

    https://<accountName>.visualstudio.com/<ProjectID>/_apis/distributedtask/serviceendpoints/<SERVICE_ENDPOINT_ID>?api-version=3.2-preview.1
    
  5. 基于 MSI 的服务端点会被破坏还是在迁移到 AD2 后仍然可用?

    是的,您只需要更新tenant Id服务中的连接。

于 2019-06-06T05:02:47.503 回答