Connect-AzAccount

Connessione ad Azure con un account autenticato da usare con i cmdlet dei moduli az di PowerShell.

Sintassi

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>]

Descrizione

Il Connect-AzAccount cmdlet si connette ad Azure con un account autenticato da usare con i cmdlet dei moduli Az PowerShell. È possibile usare questo account autenticato solo con le richieste di Azure Resource Manager. Per aggiungere un account autenticato da usare con Service Management, usare il Add-AzureAccount cmdlet del modulo Azure PowerShell. Se non viene trovato alcun contesto per l'utente corrente, l'elenco di contesto dell'utente viene popolato con un contesto per ognuna delle prime 25 sottoscrizioni. L'elenco dei contesti creati per l'utente è reperibile eseguendo Get-AzContext -ListAvailable. Per ignorare questo popolamento del contesto, specificare il parametro switch SkipContextPopulation . Dopo aver eseguito questo cmdlet, è possibile disconnettersi da un account Azure usando Disconnect-AzAccount.

Esempio

Esempio 1: Connessione a un account Azure

Questo esempio si connette a un account Azure. È necessario specificare un account Microsoft o le credenziali dell'ID organizzazione. Se per le credenziali è abilitata l'autenticazione a più fattori, è necessario accedere usando l'opzione interattiva o usare l'autenticazione dell'entità servizio.

Connect-AzAccount

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

Esempio 2: Connessione ad Azure usando le credenziali dell'ID organizzazione

Questo scenario funziona solo quando l'utente non ha l'autenticazione a più fattori attivata. Il primo comando richiede le credenziali utente e le archivia nella $Credential variabile . Il secondo comando si connette a un account Azure usando le credenziali archiviate in $Credential. Questo account esegue l'autenticazione con Azure usando le credenziali dell'ID organizzazione.

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

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

Esempio 3: Connessione ad Azure usando un account dell'entità servizio

Il primo comando archivia le credenziali dell'entità servizio nella $Credential variabile . Il secondo comando connette il tenant di Azure specificato usando le credenziali dell'entità servizio archiviate nella $Credential variabile . Il parametro switch ServicePrincipal indica che l'account viene autenticato come entità servizio.

$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

Esempio 4: Usare un account di accesso interattivo per connettersi a un tenant e una sottoscrizione specifici

Questo esempio si connette a un account Azure con il tenant e la sottoscrizione specificati.

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

Esempio 5: Connessione usando un'identità del servizio gestita

Questo esempio si connette usando un'identità del servizio gestita assegnata dal sistema dell'ambiente host. Ad esempio, si accede ad Azure da una macchina virtuale con un'identità del servizio gestito assegnata.

Connect-AzAccount -Identity
Set-AzContext -Subscription Subscription1

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

Esempio 6: Connessione usando l'account di accesso dell'identità del servizio gestita e ClientId

Questo esempio si connette usando l'identità del servizio gestito di myUserAssignedIdentity. Aggiunge l'identità assegnata dall'utente alla macchina virtuale, quindi si connette usando l'ID client dell'identità assegnata dall'utente. Per altre informazioni, vedere Configurare le identità gestite per le risorse di Azure in una macchina virtuale di 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

Esempio 7: Connessione usando i certificati

Questo esempio si connette a un account Azure usando l'autenticazione dell'entità servizio basata su certificati. L'entità servizio usata per l'autenticazione deve essere creata con il certificato specificato. Per altre informazioni sulla creazione di certificati autofirmato e sull'assegnazione delle autorizzazioni, vedere Usare Azure PowerShell per creare un'entità servizio con un certificato

$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

Esempio 8: Connessione con AuthScope

AuthScope viene usato per supportare lo scenario in cui le risorse del piano dati hanno un'autenticazione avanzata rispetto alle risorse arm, ad esempio l'archiviazione richiede L'autenticazione a più fattori, ma ARM non lo fa. Dopo aver specificato AuthScope, ad esempio Archiviazione, Connessione-AzAccount eseguirà prima l'accesso con ambito https://storage.azure.com/di archiviazione e quindi richiederà automaticamente il token per ARM.

Connect-AzAccount -AuthScope Storage

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

Esempio 9: Connessione usando il file di certificato

Questo esempio si connette a un account Azure usando l'autenticazione dell'entità servizio basata su certificati. Il file di certificato, specificato da CertficatePath, deve contenere sia il certificato che la chiave privata come input.

$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

Esempio 10: Connessione in modo interattivo con WAM

Questo esempio illustra come abilitare la configurazione per WAM (Web Account Manager) e usarla per connettersi ad Azure.

Update-AzConfig -EnableLoginByWam $true
Connect-AzAccount

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

Parametri

-AccessToken

Specifica un token di accesso.

Attenzione

I token di accesso sono un tipo di credenziale. È consigliabile adottare le precauzioni di sicurezza appropriate per mantenerle riservate. I token di accesso anche timeout e possono impedire il completamento di attività a esecuzione prolungata.

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

-AccountId

ID account/ID utente/Nome utente per l'accesso con nel set di parametri Default (UserWithSubscriptionId); ID account per il token di accesso nel set di parametri AccessToken ; ID account per il servizio gestito nel set di parametri ManagedService . Può essere un ID risorsa del servizio gestito o l'ID client associato. Per usare l'identità assegnata dal sistema, lasciare vuoto questo campo.

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

-ApplicationId

ID applicazione dell'entità servizio.

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

-AuthScope

Ambito OAuth facoltativo per l'accesso, valori predefiniti supportati: AadGraph, AnalysisServices, Attestation, Batch, DataLake, KeyVault, OperationalInsights, Archiviazione, Synapse. Supporta anche l'ID risorsa, ad esempio https://storage.azure.com/.

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

-CertificatePassword

Password necessaria per accedere al file di certificato pkcs#12.

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

-CertificatePath

Percorso del file certficate in formato pkcs#12.

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

-CertificateThumbprint

Hash certificato o identificazione personale.

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

-Confirm

Richiede conferma prima di eseguire il cmdlet.

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

-ContextName

Nome del contesto di Azure predefinito per questo account di accesso. Per altre informazioni sui contesti di Azure, vedere Oggetti contesto di Azure PowerShell.

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

-Credential

Specifica un oggetto PSCredential . Per altre informazioni sull'oggetto PSCredential , digitare Get-Help Get-Credential. L'oggetto PSCredential fornisce l'ID utente e la password per le credenziali dell'ID organizzazione oppure l'ID applicazione e il segreto per le credenziali dell'entità servizio.

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

-DefaultProfile

Le credenziali, l’account, il tenant e la sottoscrizione usati per comunicare con Azure.

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

-Environment

Ambiente contenente l'account Azure.

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

-FederatedToken

Specifica un token fornito da un altro provider di identità. L'autorità emittente e l'oggetto in questo token devono essere prima configurati in modo che siano attendibili da ApplicationId.

Attenzione

I token federati sono un tipo di credenziale. È consigliabile adottare le precauzioni di sicurezza appropriate per mantenerle riservate. Anche i token federati timeout e possono impedire il completamento di attività a esecuzione prolungata.

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

-Force

Sovrascrivere il contesto esistente con lo stesso nome senza chiedere conferma.

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

-GraphAccessToken

AccessToken per il servizio Graph.

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

-Identity

Accedere usando un'identità del servizio gestita.

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

-KeyVaultAccessToken

AccessToken per il servizio KeyVault.

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

-MaxContextPopulation

Numero massimo di sottoscrizione per popolare i contesti dopo l'accesso. Il valore predefinito è 25. Per popolare tutte le sottoscrizioni in contesti, impostare su -1.

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

-MicrosoftGraphAccessToken

Token di accesso a Microsoft Graph

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

-Scope

Determina l'ambito delle modifiche di contesto, ad esempio se le modifiche si applicano solo al processo corrente o a tutte le sessioni avviate dall'utente.

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

-SendCertificateChain

Specifica se l'attestazione x5c (chiave pubblica del certificato) deve essere inviata al servizio token di sicurezza per ottenere un semplice rollover del certificato in Azure AD.

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

-ServicePrincipal

Indica che questo account viene autenticato fornendo le credenziali dell'entità servizio.

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

-SkipContextPopulation

Ignora il popolamento del contesto se non viene trovato alcun contesto.

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

-SkipValidation

Ignorare la convalida per il token di accesso.

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

-Subscription

Nome o ID della sottoscrizione.

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

-Tenant

Nome o ID tenant facoltativo.

Nota

A causa delle limitazioni dell'API corrente, è necessario usare un ID tenant anziché un nome tenant quando ci si connette con un account business-to-business (B2B).

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

-UseDeviceAuthentication

Usare l'autenticazione del codice del dispositivo anziché un controllo browser.

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

-WhatIf

Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.

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

Input

String

Output

PSAzureProfile