Udostępnij za pośrednictwem


Interakcyjne logowanie się do programu Azure PowerShell

Interaktywne logowania do platformy Azure oferują bardziej intuicyjne i elastyczne środowisko użytkownika. Logowanie interakcyjne za pomocą programu Azure PowerShell umożliwia użytkownikom uwierzytelnianie się na platformie Azure bezpośrednio za pośrednictwem interfejsu programu PowerShell, co jest przydatne w przypadku zadań zarządzania ad hoc i środowisk wymagających ręcznego logowania, takich jak te z uwierzytelnianiem wieloskładnikowym (MFA). Ta metoda upraszcza dostęp do testowania skryptów, uczenia się i zarządzania na bieżąco bez konieczności wstępnego konfigurowania jednostek usługi lub innych metod uwierzytelniania nieinteraktywnego.

Ważne

Począwszy od września 2025 r., program Azure PowerShell będzie wymagał uwierzytelniania wieloskładnikowego (MFA) podczas logowania się przy użyciu tożsamości użytkownika microsoft Entra ID. Ta zmiana zwiększa bezpieczeństwo, ale może mieć wpływ na przepływy pracy automatyzacji, które opierają się na uwierzytelnianiu nazwy użytkownika i hasła. Aby uzyskać więcej informacji, zobacz Wpływ uwierzytelniania wieloskładnikowego na program Azure PowerShell w scenariuszach automatyzacji.

Wymagania wstępne

Logowanie interakcyjne

Aby zalogować się interaktywnie, użyj polecenia cmdlet Connect-AzAccount. Począwszy od modułu Az programu PowerShell w wersji 12.0.0, systemy Windows używają menedżera kont sieci Web (WAM), a systemy Linux i macOS domyślnie używają logowania opartego na przeglądarce.

Connect-AzAccount

Środowisko logowania

Począwszy od modułu Az programu PowerShell w wersji 12.0.0, jeśli masz dostęp do wielu subskrypcji, zostanie wyświetlony monit o wybranie subskrypcji platformy Azure do zalogowania się, jak pokazano w poniższym przykładzie.

Please select the account you want to login with.

Retrieving subscriptions for the selection...
WARNING: To override which subscription Connect-AzAccount selects by default, use
`Update-AzConfig -DefaultSubscriptionForLogin 00000000-0000-0000-0000-000000000000`.
Go to https://go.microsoft.com/fwlink/?linkid=2200610 for more information.
[Tenant and subscription selection]

No    Subscription name                     Subscription ID                           Tenant name
----  ------------------------------------  ----------------------------------------  --------------
[1]   Facility Services Subscription        00000000-0000-0000-0000-000000000000      Contoso
[2]   Finance Department Subscription       00000000-0000-0000-0000-000000000000      Contoso
[3]   Human Resources Subscription          00000000-0000-0000-0000-000000000000      Contoso
[4]   Information Technology Subscription   00000000-0000-0000-0000-000000000000      Contoso

Select a tenant and subscription: 2

Subscription name                       Tenant name
------------------------------------    --------------------------
Finance Department Subscription         Contoso

[Announcements]
With the new Azure PowerShell login experience, you can select the subscription you want to use more easily.
Learn more about it and its configuration at https://go.microsoft.com/fwlink/?linkid=2271236.
Share your feedback regarding your experience with `Connect-AzAccount` at: https://aka.ms/azloginfeedback

If you encounter any problem, please open an issue at: https://aka.ms/azpsissue

Subscription name                      Tenant
-----------------                      ------
Finance Department Subscription        Contoso

Następnym razem, gdy się zalogujesz, wcześniej wybrana dzierżawa i subskrypcja zostaną oznaczone jako domyślne gwiazdką (*) obok ich numeru i wyróżnione kolorem cyjanowym. Umożliwia to naciśnięcie Enter, aby wybrać domyślną lub wpisać liczbę, aby wybrać inną dzierżawę i subskrypcję.

No    Subscription name                     Subscription ID                           Tenant name
----  ------------------------------------  ----------------------------------------  --------------
[1]   Facility Services Subscription        00000000-0000-0000-0000-000000000000      Contoso
[2] * Finance Department Subscription       00000000-0000-0000-0000-000000000000      Contoso
[3]   Human Resources Subscription          00000000-0000-0000-0000-000000000000      Contoso
[4]   Information Technology Subscription   00000000-0000-0000-0000-000000000000      Contoso

The default is marked with an *; the default tenant is 'Contoso' and subscription is
'Finance Department Subscription (00000000-0000-0000-0000-000000000000)'.

Select a tenant and subscription (type a number or Enter to accept default): 4

Subscription name                       Tenant name
------------------------------------    --------------------------
Information Technology Subscription     Contoso

Polecenia są domyślnie wykonywane względem tej subskrypcji. Aby zmienić aktywną subskrypcję, użyj polecenia cmdlet Set-AzContext. Aby uzyskać więcej informacji, zobacz obiekty kontekstowe programu Azure PowerShell.

Konfigurowanie domyślnej subskrypcji na potrzeby logowania

Aby zapobiec monitowaniu o wybranie subskrypcji za każdym razem, gdy logujesz się interaktywnie, użyj polecenia cmdlet Update-AzConfig, aby ustawić subskrypcję domyślną, jak pokazano w poniższym przykładzie.

Update-AzConfig -DefaultSubscriptionForLogin '<subscription name or id>'

Wyłącz nowe środowisko logowania

Aby wyłączyć nowe doświadczenie logowania, użyj polecenia cmdlet Update-AzConfig, jak pokazano w poniższym przykładzie.

Update-AzConfig -LoginExperienceV2 Off

Gdy nowe środowisko logowania jest wyłączone i masz dostęp do wielu subskrypcji, zostajesz zalogowany do pierwszej subskrypcji zwracanej przez platformę Azure. Polecenia są domyślnie wykonywane względem tej subskrypcji. Aby zmienić aktywną subskrypcję dla sesji, użyj polecenia cmdlet Set-AzContext. Aby zmienić aktywną subskrypcję i zachować ją między sesjami w tym samym systemie, użyj polecenia cmdlet Select-AzContext.

Menedżer kont sieci Web (WAM)

Począwszy od modułu Az programu PowerShell w wersji 12.0.0, domyślną metodą uwierzytelniania logowania programu Azure PowerShell dla systemów opartych na systemie Windows jest Menedżer kont sieci Web (WAM).

WAM to składnik systemu Windows 10+, który działa jako broker uwierzytelniania. Broker uwierzytelniania to aplikacja uruchamiana w systemie, która zarządza uzgadnianiami uwierzytelniania i konserwacją tokenów dla połączonych kont.

Zalety WAM

Korzystanie z WAM oferuje kilka korzyści:

  • Zwiększone zabezpieczenia. Zobacz dostęp warunkowy, ochrona tokenu (wersja próbna).
  • Obsługa funkcji Windows Hello, zasad dostępu warunkowego i kluczy FIDO.
  • Usprawnione logowanie jednokrotne.
  • Poprawki błędów i ulepszenia dostarczane z systemem Windows.

Ograniczenia WAM

Na obecnym etapie rozwoju istnieje kilka znanych ograniczeń WAM:

  • WAM jest dostępny w systemie Windows 10 lub nowszym oraz w systemie Windows Server 2019 lub nowszym. W systemach Linux, macOS i starszych wersjach Windows, Azure PowerShell domyślnie korzysta z logowania przez przeglądarkę.

  • Logowanie się do chmur krajowych przy użyciu WAM nie jest obecnie obsługiwane.

  • Konta Microsoft (na przykład @outlook.com lub @live.com)) muszą określać parametr dzierżawy w przypadku użycia z usługą MFA.

    Connect-AzAccount -Tenant 00000000-0000-0000-0000-000000000000
    

Wyłącz WAM

Aby używać logowania opartego na przeglądarce w systemie Windows 10 lub nowszym lub w systemie Windows Server 2019 i nowszych z modułem Az 12.0.0 lub nowszym, należy wyłączyć WAM w celu użycia z programem Azure PowerShell. Użyj następującego polecenia, aby wyłączyć WAM i wrócić do logowania opartego na przeglądarce, co było domyślnym ustawieniem przed Az 12.0.0.

Update-AzConfig -EnableLoginByWam $false

Logowanie oparte na przeglądarce

Logowanie oparte na przeglądarce to domyślne logowanie interakcyjne dla systemów Linux, macOS i Windows starszych niż Windows 10 lub Windows Server 2019. Począwszy od wersji 12.0.0 modułu Az PowerShell, musisz wyłączyć WAM, aby Azure PowerShell korzystał z logowania za pomocą przeglądarki na systemach opartych na Windows, co było domyślne przed wersją Az 12.0.0.

Po interakcyjnym logowaniu przy użyciu polecenia cmdlet Connect-AzAccount logowanie oparte na przeglądarce powoduje otwarcie domyślnej przeglądarki internetowej w celu załadowania strony logowania platformy Azure. Zaloguj się przy użyciu poświadczeń konta platformy Azure w przeglądarce.

Jeśli program Azure PowerShell może otworzyć domyślną przeglądarkę, inicjuje przepływ kodu autoryzacji i otwiera domyślną przeglądarkę, aby załadować stronę logowania platformy Azure. W przeciwnym razie inicjuje przepływ kodu urządzenia, który instruuje, aby otworzyć stronę w przeglądarce pod adresem microsoft.com/devicelogin i wprowadzić kod wyświetlany w twojej sesji PowerShell.

Uwierzytelnianie kodu urządzenia

Jeśli Menedżer konta sieci Web lub przeglądarka internetowa jest niedostępna lub nie można go otworzyć, możesz wymusić przepływ kodu za pomocą urządzenia, określając parametr UseDeviceAuthentication.

Connect-AzAccount -UseDeviceAuthentication

Zaloguj się do innego tenantu

Jeśli konto jest skojarzone z więcej niż jednym dzierżawcą, logowanie wymaga określenia parametru Tenant podczas nawiązywania połączenia. Ten parametr działa z dowolną metodą logowania. Podczas logowania ta wartość parametru może być identyfikatorem obiektu Azure dla dzierżawy (identyfikatorem dzierżawy) lub pełną kwalifikowaną nazwą domeny dzierżawy.

Connect-AzAccount -Tenant 00000000-0000-0000-0000-000000000000

Logowanie się do chmury krajowej

Chmury krajowe (znane również jako suwerenne chmury) są fizycznie izolowanymi wystąpieniami platformy Azure zaprojektowanymi w celu zapewnienia, że wymagania dotyczące rezydencji, niezależności i zgodności danych są honorowane w granicach geograficznych. W przypadku kont w chmurze krajowej ustaw środowisko podczas logowania, używając parametru Environment. Ten parametr działa z dowolną metodą logowania. Jeśli na przykład Twoje konto znajduje się na platformie Azure (Chiny 21Vianet), użyj następującego polecenia:

Connect-AzAccount -Environment AzureChinaCloud

Listę dostępnych środowisk chmury krajowej można uzyskać, uruchamiając następujące polecenie:

Get-AzEnvironment | Select-Object -Property Name

Zobacz także