Udostępnij za pośrednictwem


Rozwiązywanie problemów z połączeniami z usługą Azure Resource Manager

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

W tym artykule przedstawiono typowe scenariusze rozwiązywania problemów, które ułatwiają rozwiązywanie problemów, które mogą wystąpić podczas tworzenia połączenia z usługą Azure Resource Manager. Zobacz Zarządzanie połączeniami usług, aby dowiedzieć się, jak tworzyć, edytować i zabezpieczać połączenia usług.

Co się stanie po utworzeniu połączenia usługi Azure Resource Manager

Jeśli nie masz połączenia z usługą, możesz go utworzyć w następujący sposób:

  1. W projekcie wybierz pozycję Ustawienia projektu, a następnie wybierz pozycję Połączenia z usługą.

    Zrzut ekranu przedstawiający sposób uzyskiwania dostępu do połączeń usługi z ustawień projektu

  2. Wybierz pozycję Nowe połączenie usługi, aby dodać nowe połączenie z usługą, a następnie wybierz pozycję Azure Resource Manager. Po zakończeniu wybierz pozycję Dalej .

    Zrzut ekranu przedstawiający typy połączeń usługi.

  3. Wybierz Rejestrację aplikacji (automatyczna) jako typ tożsamości i Federację tożsamości obciążeń jako poświadczenia dostępu.

  4. Wybierz pozycję Subskrypcja, a następnie wybierz swoją subskrypcję z listy rozwijanej. Wypełnij pozostałą część formularza, a następnie wybierz pozycję Zapisz po zakończeniu.

Podczas zapisywania nowego połączenia usługi Azure Resource Manager usługa Azure DevOps wykonuje następujące akcje:

  1. Łączy się z dzierżawą firmy Microsoft Entra dla wybranej subskrypcji.
  2. Zostanie utworzona aplikacja w usłudze Microsoft Entra ID w imieniu użytkownika.
  3. Przypisuje aplikację jako współautora do wybranej subskrypcji.
  4. Zostanie utworzone połączenie usługi Azure Resource Manager przy użyciu szczegółów tej aplikacji.

Uwaga

Aby utworzyć połączenia z usługą, musisz mieć przypisaną rolę Twórcy lub Administratora dla grupy Twórcy punktów końcowych w ustawieniach projektu: Ustawienia projektu>Połączenia usługi>Więcej akcji>Zabezpieczenia. Współautorzy projektu są domyślnie dodawani do tej grupy.

Scenariusze rozwiązywania problemów

Podczas tworzenia połączeń z usługą mogą wystąpić następujące problemy:

Użytkownik ma tylko uprawnienia gościa w katalogu

  1. Zaloguj się do witryny Azure Portal przy użyciu konta administratora. Konto powinno być właścicielem lub administratorem konta użytkownika .

  2. Wybierz pozycję Microsoft Entra ID na pasku nawigacyjnym po lewej stronie.

  3. Upewnij się, że edytujesz odpowiedni katalog odpowiadający subskrypcji użytkownika. Jeśli nie, w razie potrzeby wybierz pozycję Przełącz katalog i zaloguj się przy użyciu odpowiednich poświadczeń.

  4. Wybierz pozycję Użytkownicy w sekcji Zarządzanie .

  5. Wubierz Ustawienia użytkownika.

  6. Wybierz pozycję Zarządzaj ustawieniami współpracy zewnętrznej w sekcji Użytkownicy zewnętrzni.

  7. Zmiana uprawnień użytkownika-gościa jest ograniczona do opcji Nie.

Alternatywnie, jeśli chcesz przyznać uprawnienia na poziomie administratora użytkownika, możesz ustawić użytkownika jako członka roli Administrator. Wykonaj poniższe kroki:

Ostrzeżenie

Przypisywanie użytkowników do roli administratora globalnego umożliwia im odczytywanie i modyfikowanie każdego ustawienia administracyjnego w organizacji firmy Microsoft Entra. Najlepszym rozwiązaniem jest przypisanie tej roli do mniej niż pięciu osób w organizacji.

  1. Zaloguj się do witryny Azure Portal przy użyciu konta administratora. Konto powinno być właścicielem lub administratorem konta użytkownika.

  2. W lewym okienku nawigacji, wybierz Tożsamość Microsoft Entra.

  3. Upewnij się, że edytujesz odpowiedni katalog odpowiadający subskrypcji użytkownika. Jeśli nie, w razie potrzeby wybierz pozycję Przełącz katalog i zaloguj się przy użyciu odpowiednich poświadczeń.

  4. Wybierz pozycję Użytkownicy w sekcji Zarządzanie .

  5. Użyj pola wyszukiwania, aby wyszukać użytkownika, którym chcesz zarządzać.

  6. Wybierz pozycję Rola katalogu w sekcji Zarządzanie , a następnie zmień rolę. Wybierz Zapisz, gdy skończysz.

Zastosowanie zmian na całym świecie trwa zwykle od 15 do 20 minut. Następnie użytkownik może spróbować ponownie utworzyć połączenie z usługą.

Użytkownik nie ma autoryzacji do dodawania aplikacji w katalogu

Musisz mieć uprawnienia do dodawania zintegrowanych aplikacji w katalogu. Administrator katalogu ma uprawnienia do zmiany tego ustawienia.

  1. Wybierz pozycję Microsoft Entra ID w okienku nawigacji po lewej stronie.

  2. Upewnij się, że edytujesz odpowiedni katalog odpowiadający subskrypcji użytkownika. Jeśli nie, w razie potrzeby wybierz pozycję Przełącz katalog i zaloguj się przy użyciu odpowiednich poświadczeń.

  3. Wybierz pozycję Użytkownicy, a następnie wybierz pozycję Ustawienia użytkownika.

  4. W obszarze Rejestracje aplikacji, a następnie zmień opcję Użytkownicy mogą rejestrować aplikacje na Tak.

Możesz również utworzyć jednostkę usługi przy użyciu istniejącego użytkownika, który ma już wymagane uprawnienia w identyfikatorze Entra firmy Microsoft. Aby uzyskać więcej informacji, zobacz: Tworzenie połączenia usługi Azure Resource Manager z istniejącą jednostką usługi.

Nie można uzyskać tokenu dostępu lub nie znaleziono prawidłowego tokenu odświeżania

Te błędy zwykle występują, gdy sesja wygasła. Aby rozwiązać następujące problemy:

  1. Wyloguj się z usługi Azure DevOps.
  2. Otwórz okno przeglądarki InPrivate lub incognito i przejdź do usługi Azure DevOps.
  3. Zaloguj się przy użyciu odpowiednich poświadczeń.
  4. Wybierz organizację i projekt.
  5. Utwórz połączenie usługi.

Nie można przypisać roli Współautor

Ten błąd zwykle występuje, gdy nie masz uprawnień do zapisu dla wybranej subskrypcji platformy Azure.

Aby rozwiązać ten problem, poproś administratora subskrypcji o przypisanie Ci odpowiedniej roli w identyfikatorze Entra firmy Microsoft.

Subskrypcja nie jest wyświetlana podczas tworzenia połączenia z usługą

  • Maksymalnie 50 subskrypcji platformy Azure wymienionych w różnych menu rozwijanych subskrypcji platformy Azure (rozliczenia, połączenie z usługą itd.): jeśli konfigurujesz połączenie z usługą i masz więcej niż 50 subskrypcji platformy Azure, niektóre subskrypcje nie są wymienione na liście. W tym scenariuszu wykonaj następujące kroki:

    1. Utwórz nowego, natywnego użytkownika usługi Microsoft Entra w wystąpieniu usługi Microsoft Entra subskrypcji platformy Azure.
    2. Skonfiguruj użytkownika usługi Microsoft Entra, aby miał odpowiednie uprawnienia do konfigurowania rozliczeń lub tworzenia połączeń z usługami. Aby uzyskać więcej informacji, zobacz Dodawanie użytkownika, który może skonfigurować rozliczenia dla usługi Azure DevOps.
    3. Dodaj użytkownika Microsoft Entra do organizacji usługi Azure DevOps z poziomem dostępu uczestnikiem projektu , a następnie dodaj go do grupy Administratorzy kolekcji projektów (na potrzeby rozliczeń) lub upewnij się, że użytkownik ma wystarczające uprawnienia w projekcie zespołowym, aby utworzyć połączenia usług.
    4. Zaloguj się do usługi Azure DevOps przy użyciu nowych poświadczeń użytkownika i skonfiguruj rozliczenia. Na liście jest widoczna tylko jedna subskrypcja platformy Azure.
  • Stary token użytkownika buforowany w usługach Azure DevOps Services: jeśli twoja subskrypcja platformy Azure nie znajduje się na liście podczas tworzenia połączenia usługi Azure Resource Manager (ARM), może to być spowodowane starym tokenem użytkownika buforowanym w usługach Azure DevOps Services. Ten scenariusz nie jest od razu oczywisty, ponieważ ekran listy subskrypcji platformy Azure nie wyświetla żadnych błędów ani komunikatów ostrzegawczych wskazujących, że token użytkownika jest nieaktualny. Aby rozwiązać ten problem, ręcznie zaktualizuj buforowany token użytkownika w usłudze Azure DevOps Services, wykonując następujące czynności:

    1. Wyloguj się z usług Azure DevOps Services i zaloguj się ponownie. Ta akcja może odświeżyć token użytkownika.
    2. Wyczyść pamięć podręczną przeglądarki i pliki cookie, aby upewnić się, że wszystkie stare tokeny zostaną usunięte.
    3. W portalu usługi Azure DevOps przejdź do połączeń usługi i ponownie uwierzytelnij połączenie z platformą Azure. W tym kroku zostanie wyświetlony monit o użycie nowego tokenu przez usługę Azure DevOps.

Brak niektórych subskrypcji z listy subskrypcji

  • Zmiana ustawień typów kont pomocy technicznej: ten problem można rozwiązać, zmieniając ustawienia obsługiwanych typów kont i definiując, kto może korzystać z aplikacji. Wykonaj poniższe kroki:

    1. Zaloguj się w witrynie Azure Portal.

    2. Jeśli masz dostęp do wielu dzierżaw, użyj filtru Katalog i subskrypcja w górnym menu, aby wybrać dzierżawę, w której chcesz zarejestrować aplikację.

      Zrzut ekranu przedstawiający ikonę katalogu i subskrypcji w witrynie Azure Portal.

    3. Wybierz pozycję Microsoft Entra ID w okienku po lewej stronie.

    4. Wybierz pozycję Rejestracje aplikacji.

    5. Wybierz aplikację z listy zarejestrowanych aplikacji.

    6. W obszarze Uwierzytelnianie wybierz pozycję Obsługiwane typy kont.

    7. W obszarze Obsługiwane typy kont kto może używać tej aplikacji lub uzyskać dostęp do tego interfejsu API? wybierz pozycję Konta w dowolnym katalogu organizacyjnym.

      Zrzut ekranu przedstawiający obsługiwane typy kont.

    8. Wybierz Zapisz, gdy skończysz.

  • Stary token użytkownika buforowany w usługach Azure DevOps Services: jeśli twoja subskrypcja platformy Azure nie znajduje się na liście podczas tworzenia połączenia usługi Azure Resource Manager (ARM), może to być spowodowane starym tokenem użytkownika buforowanym w usługach Azure DevOps Services. Ten scenariusz nie jest od razu oczywisty, ponieważ ekran listy subskrypcji platformy Azure nie wyświetla żadnych błędów ani komunikatów ostrzegawczych wskazujących, że token użytkownika jest nieaktualny. Aby rozwiązać ten problem, ręcznie zaktualizuj buforowany token użytkownika w usłudze Azure DevOps Services, wykonując następujące czynności:

    1. Wyloguj się z usług Azure DevOps Services i zaloguj się ponownie. Ta akcja może odświeżyć token użytkownika.
    2. Wyczyść pamięć podręczną przeglądarki i pliki cookie, aby upewnić się, że wszystkie stare tokeny zostaną usunięte.
    3. W portalu usługi Azure DevOps przejdź do połączeń usługi i ponownie uwierzytelnij połączenie z platformą Azure. W tym kroku zostanie wyświetlony monit o użycie nowego tokenu przez usługę Azure DevOps.

Token jednostki usługi wygasł

Często pojawia się problem z zasadami usługi lub kluczami tajnymi, które są tworzone automatycznie; token wygasa i musi zostać odnowiony. Jeśli masz problem z odświeżaniem tokenu, zobacz Nie można uzyskać tokenu dostępu lub nie znaleziono prawidłowego tokenu odświeżania.

Jeśli token wygasł, może zostać wyświetlony jeden z komunikatów o błędach:

  • AADSTS7000215: Invalid client secret is provided
  • AADSTS7000222: The provided client secret keys for app '***' are expired
  • Invalid client id or client secret

Aby odnowić token dostępu dla automatycznie utworzonej aplikacji usługi lub klucza tajnego, wykonaj następujące kroki:

  1. Przejdź do pozycji Połączenia usługi Ustawienia>projektu, a następnie wybierz połączenie usługi, które chcesz zmodyfikować.

  2. Wybierz pozycję Edytuj w prawym górnym rogu, a następnie wybierz pozycję Weryfikuj.

  3. Wybierz pozycję Zapisz.

Token dla jednostki usługi lub hasła został odnowiony na trzy miesiące.

Uwaga

Ta operacja jest dostępna, nawet jeśli token jednostki usługi nie wygasł. Upewnij się, że użytkownik wykonujący operację ma odpowiednie uprawnienia do subskrypcji i identyfikatora Entra firmy Microsoft, ponieważ zaktualizuje wpis tajny aplikacji zarejestrowanej dla jednostki usługi. Aby uzyskać więcej informacji, zobacz Tworzenie połączenia usługi Azure Resource Manager przy użyciu zautomatyzowanych zabezpieczeń i Co się dzieje po utworzeniu połączenia usługi Resource Manager?

Nie można uzyskać JWT przy użyciu identyfikatora klienta jednostki usługi

Ten problem występuje, gdy próbujesz zweryfikować połączenie usługi z wygasłym wpisem tajnym.

Aby rozwiązać ten problem:

  1. Przejdź do pozycji Połączenia usługi Ustawienia>projektu, a następnie wybierz połączenie usługi, które chcesz zmodyfikować.

  2. Wybierz pozycję Edytuj w prawym górnym rogu, a następnie wprowadź zmiany w połączeniu z usługą. Najprostszą i zalecaną zmianą jest dodanie opisu.

  3. Wybierz pozycję Zapisz , aby zapisać połączenie z usługą.

    Uwaga

    Wybierz pozycję Zapisz. Nie próbuj zweryfikować połączenia z usługą w tym kroku.

  4. Zamknij okno edycji połączenia z usługą, a następnie odśwież stronę połączeń usługi.

  5. Wybierz pozycję Edytuj w prawym górnym rogu, a następnie wybierz pozycję Weryfikuj.

  6. Wybierz pozycję Zapisz , aby zapisać połączenie z usługą.

Subskrypcja platformy Azure nie jest przekazywana z poprzednich danych wyjściowych zadania

W przypadku dynamicznego ustawiania subskrypcji platformy Azure dla potoku wydania i korzystania ze zmiennej wyjściowej z poprzedniego zadania może wystąpić ten problem.

Aby rozwiązać ten problem, upewnij się, że wartości są zdefiniowane w sekcji zmiennych potoku. Następnie można przekazać tę zmienną między zadaniami potoku.

Jakie mechanizmy uwierzytelniania są obsługiwane? Jak działają tożsamości zarządzane?

Połączenie usługi Azure Resource Manager może łączyć się z subskrypcją platformy Azure przy użyciu uwierzytelniania jednostki usługi (SPA) lub uwierzytelniania tożsamości zarządzanej.

Połączenie usługi Azure Resource Manager może łączyć się z subskrypcją platformy Azure, grupą zarządzania lub obszarem roboczym uczenia maszynowego przy użyciu:

  • Rejestracja aplikacji (zalecane): Możesz uwierzytelnić połączenie przy użyciu Federacji tożsamości dla obciążeń lub klucza tajnego.
  • Tożsamość zarządzana: tożsamości zarządzane dla zasobów platformy Azure zapewniają usługom platformy Azure automatycznie zarządzaną tożsamość w usłudze Microsoft Entra ID. Można również użyć zarządzanej tożsamości przypisanej przez agenta.

Aby dowiedzieć się więcej o tożsamościach zarządzanych dla maszyn wirtualnych, zobacz Przypisywanie ról.

Uwaga

Tożsamości zarządzane nie są obsługiwane w agentach hostowanych przez firmę Microsoft. W tym scenariuszu należy skonfigurować własnego agenta na maszynie wirtualnej platformy Azure i skonfigurować tożsamość zarządzaną dla tej maszyny wirtualnej.