Connect-AzAccount

Połączenie na platformę Azure przy użyciu uwierzytelnionego konta do użycia z poleceniami cmdlet z modułów az programu PowerShell.

Składnia

Connect-AzAccount
       [-Environment <String>]
       [-Tenant <String>]
       [-AccountId <String>]
       [-Subscription <String>]
       [-AuthScope <String>]
       [-ContextName <String>]
       [-SkipContextPopulation]
       [-MaxContextPopulation <Int32>]
       [-UseDeviceAuthentication]
       [-Force]
       [-Scope <ContextModificationScope>]
       [-DefaultProfile <IAzureContextContainer>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Connect-AzAccount
       [-Environment <String>]
       -Credential <PSCredential>
       [-ServicePrincipal]
       -Tenant <String>
       [-Subscription <String>]
       [-AuthScope <String>]
       [-ContextName <String>]
       [-SkipContextPopulation]
       [-MaxContextPopulation <Int32>]
       [-Force]
       [-Scope <ContextModificationScope>]
       [-DefaultProfile <IAzureContextContainer>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Connect-AzAccount
       [-Environment <String>]
       -Credential <PSCredential>
       [-Tenant <String>]
       [-Subscription <String>]
       [-AuthScope <String>]
       [-ContextName <String>]
       [-SkipContextPopulation]
       [-MaxContextPopulation <Int32>]
       [-Force]
       [-Scope <ContextModificationScope>]
       [-DefaultProfile <IAzureContextContainer>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Connect-AzAccount
       [-Environment <String>]
       -CertificateThumbprint <String>
       -ApplicationId <String>
       [-ServicePrincipal]
       -Tenant <String>
       [-Subscription <String>]
       [-AuthScope <String>]
       [-ContextName <String>]
       [-SkipContextPopulation]
       [-MaxContextPopulation <Int32>]
       [-Force]
       [-SendCertificateChain]
       [-Scope <ContextModificationScope>]
       [-DefaultProfile <IAzureContextContainer>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Connect-AzAccount
       [-Environment <String>]
       -ApplicationId <String>
       [-ServicePrincipal]
       -Tenant <String>
       [-Subscription <String>]
       [-ContextName <String>]
       [-SkipContextPopulation]
       [-MaxContextPopulation <Int32>]
       [-Force]
       -FederatedToken <String>
       [-Scope <ContextModificationScope>]
       [-DefaultProfile <IAzureContextContainer>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Connect-AzAccount
       [-Environment <String>]
       -ApplicationId <String>
       [-ServicePrincipal]
       -Tenant <String>
       [-Subscription <String>]
       [-ContextName <String>]
       [-SkipContextPopulation]
       [-MaxContextPopulation <Int32>]
       [-Force]
       [-SendCertificateChain]
       -CertificatePath <String>
       [-CertificatePassword <SecureString>]
       [-Scope <ContextModificationScope>]
       [-DefaultProfile <IAzureContextContainer>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Connect-AzAccount
       [-Environment <String>]
       [-Tenant <String>]
       -AccessToken <String>
       [-GraphAccessToken <String>]
       [-MicrosoftGraphAccessToken <String>]
       [-KeyVaultAccessToken <String>]
       -AccountId <String>
       [-Subscription <String>]
       [-ContextName <String>]
       [-SkipValidation]
       [-SkipContextPopulation]
       [-MaxContextPopulation <Int32>]
       [-Force]
       [-Scope <ContextModificationScope>]
       [-DefaultProfile <IAzureContextContainer>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Connect-AzAccount
       [-Environment <String>]
       [-Tenant <String>]
       [-AccountId <String>]
       [-Identity]
       [-Subscription <String>]
       [-AuthScope <String>]
       [-ContextName <String>]
       [-SkipContextPopulation]
       [-MaxContextPopulation <Int32>]
       [-Force]
       [-Scope <ContextModificationScope>]
       [-DefaultProfile <IAzureContextContainer>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

Opis

Polecenie Connect-AzAccount cmdlet łączy się z platformą Azure przy użyciu uwierzytelnionego konta do użycia z poleceniami cmdlet z modułów az programu PowerShell. To uwierzytelnione konto można używać tylko w przypadku żądań usługi Azure Resource Manager. Aby dodać uwierzytelnione konto do użycia z usługą Service Management, użyj Add-AzureAccount polecenia cmdlet z modułu Azure PowerShell. Jeśli dla bieżącego użytkownika nie zostanie znaleziony żaden kontekst, lista kontekstowa użytkownika zostanie wypełniona kontekstem dla każdej z pierwszych 25 subskrypcji. Listę kontekstów utworzonych dla użytkownika można znaleźć, uruchamiając polecenie Get-AzContext -ListAvailable. Aby pominąć tę populację kontekstu, określ parametr przełącznika SkipContextPopulation . Po wykonaniu tego polecenia cmdlet możesz odłączyć się od konta platformy Azure przy użyciu polecenia Disconnect-AzAccount.

Przykłady

Przykład 1: Połączenie na konto platformy Azure

W tym przykładzie nawiąż połączenie z kontem platformy Azure. Musisz podać poświadczenia konta Microsoft lub identyfikatora organizacyjnego. Jeśli dla poświadczeń jest włączone uwierzytelnianie wieloskładnikowe, musisz zalogować się przy użyciu opcji interakcyjnej lub użyć uwierzytelniania jednostki usługi.

Connect-AzAccount

Account                SubscriptionName TenantId                Environment
-------                ---------------- --------                -----------
azureuser@contoso.com  Subscription1    xxxx-xxxx-xxxx-xxxx     AzureCloud

Przykład 2: Połączenie na platformę Azure przy użyciu poświadczeń identyfikatora organizacyjnego

Ten scenariusz działa tylko wtedy, gdy użytkownik nie ma włączonego uwierzytelniania wieloskładnikowego. Pierwsze polecenie wyświetla monit o poświadczenia użytkownika i przechowuje je w zmiennej $Credential . Drugie polecenie łączy się z kontem platformy Azure przy użyciu poświadczeń przechowywanych w pliku $Credential. To konto uwierzytelnia się na platformie Azure przy użyciu poświadczeń identyfikatora organizacyjnego.

$Credential = Get-Credential
Connect-AzAccount -Credential $Credential

Account                SubscriptionName TenantId                Environment
-------                ---------------- --------                -----------
azureuser@contoso.com  Subscription1    xxxx-xxxx-xxxx-xxxx     AzureCloud

Przykład 3: Połączenie na platformę Azure przy użyciu konta jednostki usługi

Pierwsze polecenie przechowuje poświadczenia jednostki usługi w zmiennej $Credential . Drugie polecenie łączy określoną dzierżawę platformy Azure przy użyciu poświadczeń jednostki usługi przechowywanych w zmiennej $Credential . Parametr przełącznika ServicePrincipal wskazuje, że konto uwierzytelnia się jako jednostka usługi.

$SecurePassword = ConvertTo-SecureString -String "Password123!" -AsPlainText -Force
$TenantId = 'yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyy'
$ApplicationId = 'zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzz'
$Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $ApplicationId, $SecurePassword
Connect-AzAccount -ServicePrincipal -TenantId $TenantId -Credential $Credential

Account                SubscriptionName TenantId                Environment
-------                ---------------- --------                -----------
xxxx-xxxx-xxxx-xxxx    Subscription1    xxxx-xxxx-xxxx-xxxx     AzureCloud

Przykład 4. Używanie logowania interakcyjnego do nawiązywania połączenia z określoną dzierżawą i subskrypcją

W tym przykładzie nawiąż połączenie z kontem platformy Azure z określoną dzierżawą i subskrypcją.

Connect-AzAccount -Tenant 'xxxx-xxxx-xxxx-xxxx' -SubscriptionId 'yyyy-yyyy-yyyy-yyyy'

Account                SubscriptionName TenantId                Environment
-------                ---------------- --------                -----------
azureuser@contoso.com  Subscription1    xxxx-xxxx-xxxx-xxxx     AzureCloud

Przykład 5: Połączenie przy użyciu tożsamości usługi zarządzanej

W tym przykładzie nawiąż połączenie przy użyciu przypisanej przez system tożsamości usługi zarządzanej (MSI) środowiska hosta. Na przykład logujesz się do platformy Azure z maszyny wirtualnej, która ma przypisaną tożsamość usługi zarządzanej.

Connect-AzAccount -Identity
Set-AzContext -Subscription Subscription1

Account                SubscriptionName TenantId                Environment
-------                ---------------- --------                -----------
MSI@50342              Subscription1    xxxx-xxxx-xxxx-xxxx     AzureCloud

Przykład 6: Połączenie przy użyciu identyfikatora logowania tożsamości usługi zarządzanej i identyfikatora ClientId

Ten przykład nawiązuje połączenie przy użyciu tożsamości usługi zarządzanej myUserAssignedIdentity. Dodaje tożsamość przypisaną przez użytkownika do maszyny wirtualnej, a następnie nawiązuje połączenie przy użyciu identyfikatora ClientId tożsamości przypisanej przez użytkownika. Aby uzyskać więcej informacji, zobacz Konfigurowanie tożsamości zarządzanych dla zasobów platformy Azure na maszynie wirtualnej platformy Azure.

$identity = Get-AzUserAssignedIdentity -ResourceGroupName 'myResourceGroup' -Name 'myUserAssignedIdentity'
Get-AzVM -ResourceGroupName contoso -Name testvm | Update-AzVM -IdentityType UserAssigned -IdentityId $identity.Id
Connect-AzAccount -Identity -AccountId $identity.ClientId # Run on the virtual machine

Account                SubscriptionName TenantId                Environment
-------                ---------------- --------                -----------
yyyy-yyyy-yyyy-yyyy    Subscription1    xxxx-xxxx-xxxx-xxxx     AzureCloud

Przykład 7: Połączenie przy użyciu certyfikatów

W tym przykładzie nawiąż połączenie z kontem platformy Azure przy użyciu uwierzytelniania jednostki usługi opartej na certyfikatach. Jednostka usługi używana do uwierzytelniania musi zostać utworzona przy użyciu określonego certyfikatu. Aby uzyskać więcej informacji na temat tworzenia certyfikatów z podpisem własnym i przypisywania im uprawnień, zobacz Tworzenie jednostki usługi przy użyciu programu Azure PowerShell przy użyciu certyfikatu

$Thumbprint = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
$TenantId = 'yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyy'
$ApplicationId = '00000000-0000-0000-0000-00000000'
Connect-AzAccount -CertificateThumbprint $Thumbprint -ApplicationId $ApplicationId -Tenant $TenantId -ServicePrincipal

Account                      SubscriptionName TenantId                        Environment
-------                      ---------------- --------                        -----------
xxxxxxxx-xxxx-xxxx-xxxxxxxxx Subscription1    yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyy AzureCloud

Account          : xxxxxxxx-xxxx-xxxx-xxxxxxxx
SubscriptionName : MyTestSubscription
SubscriptionId   : zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzz
TenantId         : yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyy
Environment      : AzureCloud

Przykład 8: Połączenie z AuthScope

AuthScope służy do obsługi scenariusza, w przypadku którego zasoby płaszczyzny danych mają rozszerzone uwierzytelnianie niż zasoby usługi ARM, np. magazyn wymaga uwierzytelniania wieloskładnikowego, ale usługa ARM nie. Po określeniu AuthScope, np. Storage, Połączenie-AzAccount najpierw zaloguje się z zakresem https://storage.azure.com/magazynu, a następnie dyskretnie wymaga tokenu dla usługi ARM.

Connect-AzAccount -AuthScope Storage

Account                SubscriptionName TenantId                Environment
-------                ---------------- --------                -----------
yyyy-yyyy-yyyy-yyyy    Subscription1    xxxx-xxxx-xxxx-xxxx     AzureCloud

Przykład 9: Połączenie przy użyciu pliku certyfikatu

W tym przykładzie nawiąż połączenie z kontem platformy Azure przy użyciu uwierzytelniania jednostki usługi opartej na certyfikatach. Plik certyfikatu określony przez CertficatePathelement powinien zawierać zarówno certyfikat, jak i klucz prywatny jako dane wejściowe.

$SecurePassword = ConvertTo-SecureString -String "Password123!" -AsPlainText -Force
$TenantId = 'yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyy'
$ApplicationId = 'zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzz'
Connect-AzAccount -ServicePrincipal -ApplicationId $ApplicationId -TenantId $TenantId -CertificatePath './certificatefortest.pfx' -CertificatePassword $securePassword

Account                     SubscriptionName TenantId                        Environment
-------                     ---------------- --------                        -----------
xxxxxxxx-xxxx-xxxx-xxxxxxxx Subscription1    yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyy AzureCloud

Przykład 10: Połączenie interaktywnie przy użyciu WAM

W tym przykładzie pokazano, jak włączyć konfigurację wam (Menedżera kont sieci Web) i użyć jej do nawiązania połączenia z platformą Azure.

Update-AzConfig -EnableLoginByWam $true
Connect-AzAccount

Account                     SubscriptionName TenantId                        Environment
-------                     ---------------- --------                        -----------
xxxxxxxx-xxxx-xxxx-xxxxxxxx Subscription1    yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyy AzureCloud

Parametry

-AccessToken

Określa token dostępu.

Uwaga

Tokeny dostępu są typem poświadczeń. Należy podjąć odpowiednie środki ostrożności, aby zachować je poufne. Tokeny dostępu również upłynął limit czasu i mogą uniemożliwić wykonywanie długotrwałych zadań.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-AccountId

Identyfikator konta/ Identyfikator użytkownika/ Nazwa użytkownika do logowania przy użyciu w domyślnym (UserWithSubscriptionId) zestaw parametrów; Identyfikator konta dla tokenu dostępu w zestawie parametrów AccessToken ; Identyfikator konta dla usługi zarządzanej w zestawie parametrów ManagedService . Może być identyfikatorem zasobu usługi zarządzanej lub skojarzonym identyfikatorem klienta. Aby użyć tożsamości przypisanej przez system, pozostaw to pole puste.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ApplicationId

Identyfikator aplikacji jednostki usługi.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-AuthScope

Opcjonalny zakres OAuth dla logowania, obsługiwane wstępnie zdefiniowane wartości: AadGraph, AnalysisServices, Attestation, Batch, DataLake, KeyVault, Operational Szczegółowe informacje, Storage, Synapse. Obsługuje również identyfikator zasobu, taki jak https://storage.azure.com/.

Type:String
Aliases:AuthScopeTypeName
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CertificatePassword

Hasło wymagane do uzyskania dostępu do pliku certyfikatu pkcs#12.

Type:SecureString
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CertificatePath

Ścieżka pliku certficate w formacie pkcs#12.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-CertificateThumbprint

Skrót certyfikatu lub odcisk palca.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ContextName

Nazwa domyślnego kontekstu platformy Azure dla tego identyfikatora logowania. Aby uzyskać więcej informacji na temat kontekstów platformy Azure, zobacz Obiekty kontekstowe programu Azure PowerShell.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Określa obiekt PSCredential . Aby uzyskać więcej informacji na temat obiektu PSCredential , wpisz Get-Help Get-Credential. Obiekt PSCredential zawiera identyfikator użytkownika i hasło dla poświadczeń identyfikatora organizacyjnego lub identyfikator aplikacji i wpis tajny dla poświadczeń jednostki usługi.

Type:PSCredential
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

Poświadczenia, konto, dzierżawa i subskrypcja używane do komunikacji z platformą Azure.

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Environment

Środowisko zawierające konto platformy Azure.

Type:String
Aliases:EnvironmentName
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FederatedToken

Określa token dostarczony przez innego dostawcę tożsamości. Wystawca i podmiot w tym tokenie muszą być najpierw skonfigurowane tak, aby był zaufany przez identyfikator ApplicationId.

Uwaga

Tokeny federacyjne są typem poświadczeń. Należy podjąć odpowiednie środki ostrożności, aby zachować je poufne. Tokeny federacyjne również upłynął limit czasu i mogą uniemożliwić wykonywanie długotrwałych zadań.

Type:String
Aliases:ClientAssertion
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Force

Zastąp istniejący kontekst tą samą nazwą bez monitowania.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-GraphAccessToken

AccessToken dla usługi Graph.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Identity

Zaloguj się przy użyciu tożsamości usługi zarządzanej.

Type:SwitchParameter
Aliases:MSI, ManagedService
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-KeyVaultAccessToken

AccessToken dla usługi KeyVault.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MaxContextPopulation

Maksymalny numer subskrypcji w celu wypełnienia kontekstów po zalogowaniu. Wartość domyślna to 25. Aby wypełnić wszystkie subskrypcje kontekstami, ustaw wartość -1.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MicrosoftGraphAccessToken

Token dostępu do programu Microsoft Graph

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Scope

Określa na przykład zakres zmian kontekstu, czy zmiany mają zastosowanie tylko do bieżącego procesu, czy do wszystkich sesji uruchomionych przez tego użytkownika.

Type:ContextModificationScope
Accepted values:Process, CurrentUser
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SendCertificateChain

Określa, czy oświadczenie x5c (klucz publiczny certyfikatu) powinny być wysyłane do usługi STS w celu zapewnienia łatwego przerzucania certyfikatów w usłudze Azure AD.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ServicePrincipal

Wskazuje, że to konto jest uwierzytelniane przez podanie poświadczeń jednostki usługi.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-SkipContextPopulation

Pomija populację kontekstu, jeśli nie znaleziono kontekstów.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkipValidation

Pomiń walidację tokenu dostępu.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Subscription

Nazwa subskrypcji lub identyfikator.

Type:String
Aliases:SubscriptionName, SubscriptionId
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Tenant

Opcjonalna nazwa dzierżawy lub identyfikator.

Uwaga

Ze względu na ograniczenia bieżącego interfejsu API należy użyć identyfikatora dzierżawy zamiast nazwy dzierżawy podczas nawiązywania połączenia z kontem między firmami (B2B).

Type:String
Aliases:Domain, TenantId
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-UseDeviceAuthentication

Użyj uwierzytelniania kodu urządzenia zamiast kontrolki przeglądarki.

Type:SwitchParameter
Aliases:DeviceCode, DeviceAuth, Device
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Pokazuje, co się stanie po uruchomieniu polecenia cmdlet. Polecenie cmdlet nie zostało uruchomione.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Dane wejściowe

String

Dane wyjściowe

PSAzureProfile