1

Azure サブスクリプションを Active Directory AD1 から Active Directory AD2 に移動しました。以前の ARM エンドポイント (自動 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 への移行後、既存のサービス エンドポイントで (REST API 経由で) テナント ID を更新することは可能ですか?
  5. MSI ベースのサービス エンドポイントは壊れますか? AD2 への移行後に利用可能になりますか?
4

1 に答える 1

1

次の解決策が考えられます。

  1. AzureDevOps アカウントによってバックアップされた Active Directory を からAD1に変更しますAD2
  2. Active DirectoryAD1AD2.
  3. まず、スクリプトを使用して SPN を作成し、スクリプトによって提供される詳細を使用して手動エンドポイントを作成します。

追加の質問への回答

  1. VSTS がサポートしているテナントを見つけるにはどうすればよいですか? どこで見つけることができますか?

    AzureDevOps アカウント > 組織 > Azure Active Directory に移動します ここに画像の説明を入力

  2. 自分のサブスクリプションがサポートされているテナントを見つけるにはどうすればよいですか? どこで見つけることができますか?

    Azure portal > [サブスクリプション] に移動し、サブスクリプションを選択 > 概要 ここに画像の説明を入力

  3. AD2 への移行後に、以前 (AD1 で) 作成したサービス エンドポイントを再利用することはできますか?

    はい。

    まず、サービス エンドポイントが内部で何をするかを理解しましょう。

    1. AD でアプリを作成します。
    2. サブスクリプションに対してアクセス許可を割り当てます。


    それでは、私たちのケースを見てみましょう。

    1. でサービス接続を作成しました。これAD1は、AD アプリapp1が Active Directory に作成されAD1、サブスクリプションにアクセス許可が割り当てられていることを意味しますS
    2. サブスクリプションSを別の Active DirectoryAD2に移動しましたが、AD アプリapp1は以前の Active Directory にまだ存在していますAD1


    既存のサービス エンドポイントを再利用するにはSPN Id、サービス エンドポイントを更新する必要があります。SPN keytenant Id

    手動サービス接続の場合、UI 経由で簡単に更新できますが、自動 SPN フローの場合、REST API 経由で上記のフィールドを更新する必要があります。

  4. AD2 への移行後、既存のサービス エンドポイントで (REST API 経由で) テナント ID を更新することは可能ですか?

    はい。

    すべてのエンドポイントを取得する

    リクエスト タイプ - 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はい、サービス中の接続のみを更新する必要があります。

于 2019-06-06T05:02:47.503 に答える