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:
W projekcie wybierz pozycję Ustawienia projektu, a następnie wybierz pozycję Połączenia z usługą.
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 .
Wybierz pozycję Rejestracja aplikacji (automatyczna) i Federacja tożsamości obciążenia jako poświadczenia.
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:
- Łączy się z dzierżawą firmy Microsoft Entra dla wybranej subskrypcji.
- Zostanie utworzona aplikacja w usłudze Microsoft Entra ID w imieniu użytkownika.
- Przypisuje aplikację jako współautora do wybranej subskrypcji.
- Zostanie utworzone połączenie usługi Azure Resource Manager przy użyciu szczegółów tej aplikacji.
Uwaga
Aby utworzyć połączenia z usługą, przejdź do grupy Twórca punktu końcowego w ustawieniach projektu: Zabezpieczenia połączeń> usługi Ustawienia>projektu. Współautorzy 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:
- Rozwiązywanie problemów z połączeniami z usługą Azure Resource Manager
- Co się stanie po utworzeniu połączenia usługi Azure Resource Manager?
- Scenariusze rozwiązywania problemów
- Użytkownik ma tylko uprawnienia gościa w katalogu
- Użytkownik nie ma autoryzacji do dodawania aplikacji w katalogu
- Nie można uzyskać tokenu dostępu lub nie znaleziono prawidłowego tokenu odświeżania
- Nie można przypisać roli Współautor
- Subskrypcja nie jest wyświetlana podczas tworzenia połączenia z usługą
- Brak niektórych subskrypcji z listy subskrypcji
- Token jednostki usługi wygasł
- Nie można uzyskać JWT przy użyciu identyfikatora klienta jednostki usługi
- Subskrypcja platformy Azure nie jest przekazywana z poprzednich danych wyjściowych zadania
- Jakie mechanizmy uwierzytelniania są obsługiwane? Jak działają tożsamości zarządzane?
- Powiązane artykuły
Użytkownik ma tylko uprawnienia gościa w katalogu
Zaloguj się do witryny Azure Portal przy użyciu konta administratora. Konto powinno być właścicielem lub administratorem konta użytkownika.
Wybierz pozycję Microsoft Entra ID na pasku nawigacyjnym po lewej stronie.
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ń.
Wybierz pozycję Użytkownicy w sekcji Zarządzanie .
Wubierz Ustawienia użytkownika.
Wybierz pozycję Zarządzaj ustawieniami współpracy zewnętrznej w sekcji Użytkownicy zewnętrzni.
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.
Zaloguj się do witryny Azure Portal przy użyciu konta administratora. Konto powinno być właścicielem lub administratorem konta użytkownika.
W lewym okienku nawigacji, wybierz Tożsamość Microsoft Entra.
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ń.
Wybierz pozycję Użytkownicy w sekcji Zarządzanie .
Użyj pola wyszukiwania, aby wyszukać użytkownika, którym chcesz zarządzać.
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.
Wybierz pozycję Microsoft Entra ID w okienku nawigacji po lewej stronie.
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ń.
Wybierz pozycję Użytkownicy, a następnie wybierz pozycję Ustawienia użytkownika.
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:
- Wyloguj się z usługi Azure DevOps.
- Otwórz okno przeglądarki InPrivate lub incognito i przejdź do usługi Azure DevOps.
- Zaloguj się przy użyciu odpowiednich poświadczeń.
- Wybierz organizację i projekt.
- 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:
- Utwórz nowego, natywnego użytkownika usługi Microsoft Entra w wystąpieniu usługi Microsoft Entra subskrypcji platformy Azure.
- 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.
- 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.
- 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:
- Wyloguj się z usług Azure DevOps Services i zaloguj się ponownie. Ta akcja może odświeżyć token użytkownika.
- Wyczyść pamięć podręczną przeglądarki i pliki cookie, aby upewnić się, że wszystkie stare tokeny zostaną usunięte.
- 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:
- Zaloguj się w witrynie Azure Portal.
- 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ę.
- Wybierz pozycję Microsoft Entra ID w okienku po lewej stronie.
- Wybierz pozycję Rejestracje aplikacji.
- Wybierz aplikację z listy zarejestrowanych aplikacji.
- W obszarze Uwierzytelnianie wybierz pozycję Obsługiwane typy kont.
- 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.
- 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:
- Wyloguj się z usług Azure DevOps Services i zaloguj się ponownie. Ta akcja może odświeżyć token użytkownika.
- Wyczyść pamięć podręczną przeglądarki i pliki cookie, aby upewnić się, że wszystkie stare tokeny zostaną usunięte.
- 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 jednostkami usługi, które są tworzone automatycznie, jest to, że token jednostki usługi wygasa i musi zostać odnowiony. Jeśli jednak masz problem z odświeżaniem tokenu, zobacz 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 jednostki usługi:
Przejdź do pozycji Połączenia usługi Ustawienia>projektu, a następnie wybierz połączenie usługi, które chcesz zmodyfikować.
Wybierz pozycję Edytuj w prawym górnym rogu, a następnie wybierz pozycję Weryfikuj.
Wybierz pozycję Zapisz.
Token jednostki usługi jest teraz odnawiany przez 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:
Przejdź do pozycji Połączenia usługi Ustawienia>projektu, a następnie wybierz połączenie usługi, które chcesz zmodyfikować.
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.
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.
Zamknij okno edycji połączenia z usługą, a następnie odśwież stronę połączeń usługi.
Wybierz pozycję Edytuj w prawym górnym rogu, a następnie wybierz pozycję Weryfikuj.
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. Tożsamości zarządzane dla zasobów platformy Azure udostępniają usługom platformy Azure automatycznie zarządzaną tożsamość w usłudze Microsoft Entra ID. Tej tożsamości można użyć do uwierzytelniania w dowolnej usłudze, która obsługuje uwierzytelnianie firmy Microsoft Entra bez utrwalania poświadczeń w kodzie lub w połączeniu z usługą.
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.