AzureDevOps - не удалось получить токен доступа после перемещения подписки в другую AD - PullRequest
1 голос
/ 06 июня 2019

Перемещена подписка Azure из активного каталога 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. Можно ли повторно использовать конечные точки службы, созданные ранее (с AD1) после перехода на AD2?
  4. Можно ли обновить идентификатор клиента (через REST)API) в существующих конечных точках службы после перехода в AD2?
  5. Будут ли сломаны конечные точки службы на основе MSI или они будут доступны после перехода в AD2?

1 Ответ

1 голос
/ 06 июня 2019

Существуют следующие возможные решения:

  1. Измените резервную копию активного каталога с помощью учетной записи AzureDevOps с AD1 на AD2
  2. Создание доверительных отношений ч / б активного каталога AD1 и AD2.
  3. Сначала создайте SPN с помощью script , а затем создайте конечную точку вручную с подробностями, предоставленными сценарием.

Ответы на дополнительные вопросы

  1. Как узнать, какой арендатор поддерживает мой VSTS?Где я могу найти его?

    Перейдите в учетную запись AzureDevOps> Организация> Azure Active Directory enter image description here

  2. Как найти арендатора в моей подпискеподдерживается?Где я могу найти его?

    Перейдите на портал Azure> Подписки> выберите свою подписку> обзор enter image description here

  3. Можно ли повторно-использовать конечные точки службы, созданные ранее (с AD1) после перехода на AD2?

    Да.

    Сначала Давайте разберемся, что делает внутренняя конечная точка службы.

    1. Создает приложение в AD.
    2. Назначьте ему разрешение на подписку.

    Теперь давайте рассмотрим наш случай:

    1. Вы создали служебное соединение с AD1, означает, что приложение AD app1 создается в активном каталоге AD1 и назначено разрешение на подписку S
    2. Вы переместили подписку S в другой активный каталог AD2, но приложение AD app1 все еще находится в предыдущем активном каталоге AD1.

    Для повторного использования существующей конечной точки службы необходимо обновить SPN Id, SPN key и tenant Id в конечной точке службы.

    В случае ручного сервисного подключения его легко обновить через пользовательский интерфейс, но в случае автоматического потока SPN необходимо обновить вышеупомянутые поля через REST API.

  4. Можно ли обновить идентификатор клиента (через REST API) в существующих конечных точках службы после перехода на AD2?

    Да.

    Получить все конечные точки

    ТИП ЗАПРОСА - GET

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

    Получить конкретную конечную точку

    ТИП ЗАПРОСА - GET

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

    Теперь обновите tenant Id в ответ и используйте его в качестве тела в REST API конечной точки обновления.

    Обновите конечную точку

    ТИП ЗАПРОСА - PUT

    https://<accountName>.visualstudio.com/<ProjectID>/_apis/distributedtask/serviceendpoints/<SERVICE_ENDPOINT_ID>?api-version=3.2-preview.1
    
  5. Будут ли сломаны конечные точки службы на основе MSI или они будут доступны после перехода на AD2?

    Да, вам нужно только обновить tenant Id в служебном соединении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...