Condividi tramite


Connect-AzAccount

Connettersi ad Azure con un account autenticato da usare con i cmdlet dei moduli Az 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: Connettersi 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: Connettersi 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: Connettersi ad Azure usando un account dell'entità servizio

Questo comando archivia le credenziali dell'entità servizio nella $Credential variabile . Quindi, si connette al 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 = Read-Host -Prompt 'Enter a Password' -AsSecureString
$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: Connettersi 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: Connettersi usando l'account di accesso dell'identità del servizio gestito e l'ID client

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: Connettersi 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: Connettersi 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, Connect-AzAccount eseguirà prima l'accesso con ambito https://storage.azure.com/di archiviazione, 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: Connettersi 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: Connettersi 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.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly: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.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ApplicationId

ID applicazione dell'entità servizio.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-AuthScope

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

Tipo:String
Alias:AuthScopeTypeName
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-CertificatePassword

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

Tipo:SecureString
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-CertificatePath

Percorso del file certficate in formato pkcs#12.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-CertificateThumbprint

Hash certificato o identificazione personale.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Confirm

Richiede conferma prima di eseguire il cmdlet.

Tipo:SwitchParameter
Alias:cf
Posizione:Named
Valore predefinito:False
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly: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.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly: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.

Tipo:PSCredential
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-DefaultProfile

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

Tipo:IAzureContextContainer
Alias:AzContext, AzureRmContext, AzureCredential
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Environment

Ambiente contenente l'account Azure.

Tipo:String
Alias:EnvironmentName
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly: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.

Tipo:String
Alias:ClientAssertion
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Force

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

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-GraphAccessToken

AccessToken per il servizio Graph.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Identity

Accedere usando un'identità del servizio gestita.

Tipo:SwitchParameter
Alias:MSI, ManagedService
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-KeyVaultAccessToken

AccessToken per il servizio KeyVault.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly: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.

Tipo:Int32
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-MicrosoftGraphAccessToken

Token di accesso a Microsoft Graph

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly: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.

Tipo:ContextModificationScope
Valori accettati:Process, CurrentUser
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly: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.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ServicePrincipal

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

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-SkipContextPopulation

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

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-SkipValidation

Ignorare la convalida per il token di accesso.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Subscription

Nome o ID della sottoscrizione.

Tipo:String
Alias:SubscriptionName, SubscriptionId
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:True
Accettare caratteri jolly: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).

Tipo:String
Alias:Domain, TenantId
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-UseDeviceAuthentication

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

Tipo:SwitchParameter
Alias:DeviceCode, DeviceAuth, Device
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-WhatIf

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

Tipo:SwitchParameter
Alias:wi
Posizione:Named
Valore predefinito:False
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

Input

String

Output

PSAzureProfile