AzureDevOps-将订阅移动到其他AD后无法获取访问令牌

时间:2019-06-06 04:58:49

标签: azure active-directory azure-devops azure-pipelines service-principal

将天蓝色预订从活动目录AD1移动到活动目录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后将可用?

1 个答案:

答案 0 :(得分:1)

有以下可能的解决方案:

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

其他问题的答案

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

    转到AzureDevOps帐户>组织> Azure Active Directory enter image description here

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

    转到Azure门户>订阅>选择订阅>概述 enter image description here

  3. 在移至AD2之后是否可以重用先前创建的服务端点(通过AD1)?

    是的。

    首先,让我们了解服务端点在内部执行的操作。

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


    现在让我们来看一下案例,

    1. 您使用AD1创建了服务连接,这意味着将在活动目录app1中创建AD应用{​​{1}},并为订阅AD1分配了权限
    2. 您已将订阅S移至另一个活动目录S,但是AD应用{​​{1}}仍位于先前的活动目录AD2中。


    要重新使用现有服务端点,您必须在服务端点中更新app1AD1SPN Id

    如果是手动服务连接,则很容易通过UI进行更新,但如果是SPN自动流,则必须通过REST API更新上述字段。

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

    是的。

    获取所有端点

    请求类型-获取

    SPN key

    获取特定端点

    请求类型-获取

    tenant Id

    现在响应时更新https://<accountName>.visualstudio.com/<ProjectName>/_apis/distributedtask/serviceendpoints?api-version=3.2-preview.1 ,并将其用作更新端点REST API中的主体。

    更新端点

    请求类型-输入

    https://<accountName>.visualstudio.com/<ProjectID>/_apis/distributedtask/serviceendpoints/<SERVICE_ENDPOINT_ID>?api-version=3.2-preview.1
    
  5. 基于MSI的服务端点会被破坏,或者在移至AD2之后它们将可用吗?

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

相关问题