Compartilhar via


Connect-AzAccount

Conecte-se ao Azure com uma conta autenticada para uso com cmdlets dos módulos do Az PowerShell.

Importante

A partir do início de 2025, as entradas do Azure PowerShell usando identidades de usuário do Microsoft Entra ID para autenticação exigem MFA (autenticação multifator). Para obter mais informações, consulte Planning for mandatory multi-factor authentication for Azure and other admin portals.

Sintaxe

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

Description

O cmdlet Connect-AzAccount se conecta ao Azure com uma conta autenticada para uso com cmdlets dos módulos do Az PowerShell. Você pode usar essa conta autenticada somente com solicitações do Azure Resource Manager. Para adicionar uma conta autenticada para uso com o Gerenciamento de Serviços, use o cmdlet Add-AzureAccount do módulo do Azure PowerShell. Se nenhum contexto for encontrado para o usuário atual, a lista de contexto do usuário será preenchida com um contexto para cada uma de suas primeiras 25 assinaturas. A lista de contextos criados para o usuário pode ser encontrada executando Get-AzContext -ListAvailable. Para ignorar essa população de contexto, especifique o parâmetro SkipContextPopulation switch. Depois de executar esse cmdlet, você pode se desconectar de uma conta do Azure usando Disconnect-AzAccount.

Exemplos

Exemplo 1: Conectar-se a uma conta do Azure

Este exemplo se conecta a uma conta do Azure. Você deve fornecer uma conta da Microsoft ou credenciais de ID organizacional. Se a autenticação multifator estiver habilitada para suas credenciais, faça logon usando a opção interativa ou use a autenticação da entidade de serviço.

Connect-AzAccount

Please select the account you want to login with.

Retrieving subscriptions for the selection...
[Tenant and subscription selection]

No      Subscription name                       Subscription ID                             Tenant domain name        
----    ------------------------------------    ----------------------------------------    --------------------------
[1]     Subscription1                           xxxx-xxxx-xxxx-xxxx                         xxxxxxxxx.xxxxxxxxxxx.com
[2]     Subscription2                           xxxx-xxxx-xxxx-xxxx                         xxxxxxxxx.xxxxxxxxxxx.com
...
[9]     Subscription9                           xxxx-xxxx-xxxx-xxxx                         xxxxxxxxx.xxxxxxxxxxx.com

Select a tenant and subscription: 1 <requires user's input here>

Subscription name                       Tenant domain name
------------------------------------    --------------------------
Subscription1                           xxxxxxxxx.xxxxxxxxxxx.com

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

SubscriptionName     Tenant
-----------------    ------
Subscription1        xxxxxxxxx.xxxxxxxxxxx.com

Exemplo 2: Conectar-se ao Azure usando credenciais de ID organizacional

Esse cenário funciona somente quando o usuário não tem a autenticação multifator ativada. O primeiro comando solicita credenciais do usuário e as armazena na variável $Credential. O segundo comando se conecta a uma conta do Azure usando as credenciais armazenadas em $Credential. Essa conta é autenticada com o Azure usando credenciais de ID organizacional.

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

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

Exemplo 3: Conectar-se ao Azure usando uma conta de entidade de serviço

Esse comando armazena as credenciais da entidade de serviço na variável $Credential. Em seguida, ele se conecta ao locatário do Azure especificado usando as credenciais da entidade de serviço armazenadas na variável $Credential. O parâmetro de opção ServicePrincipal indica que a conta é autenticada como uma entidade de serviço.

$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

Exemplo 4: usar um logon interativo para se conectar a um locatário e assinatura específicos

Este exemplo se conecta a uma conta do Azure com o locatário e a assinatura especificados.

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

Exemplo 5: Conectar usando uma identidade de serviço gerenciada

Este exemplo se conecta usando uma MSI (Identidade de Serviço Gerenciada) atribuída pelo sistema do ambiente do host. Por exemplo, você entra no Azure por meio de uma máquina virtual que tem uma MSI atribuída.

Connect-AzAccount -Identity
Set-AzContext -Subscription Subscription1

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

Exemplo 6: Conectar usando o logon da Identidade de Serviço Gerenciado e o ClientId

Este exemplo se conecta usando a Identidade de Serviço Gerenciada de myUserAssignedIdentity. Ele adiciona a identidade atribuída pelo usuário à máquina virtual e, em seguida, conecta-se usando a ClientId da identidade atribuída pelo usuário. Para obter mais informações, consulte Configurar identidades gerenciadas para recursos do Azure em uma VM do 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

Exemplo 7: Conectar usando certificados

Este exemplo se conecta a uma conta do Azure usando a autenticação de entidade de serviço baseada em certificado. A entidade de serviço usada para autenticação deve ser criada com o certificado especificado. Para obter mais informações sobre como criar certificados autoassinados e atribuir permissões a eles, consulte Usar o Azure PowerShell para criar uma entidade de serviço com um certificado

$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

Exemplo 8: Conectar-se ao AuthScope

O AuthScope é usado para dar suporte ao cenário de que os recursos do plano de dados têm autenticação aprimorada do que os recursos do ARM, por exemplo, o armazenamento precisa de MFA, mas o ARM não. Depois que a AuthScope for especificada, por exemplo, armazenamento, Connect-AzAccount primeiro fará logon com o escopo de armazenamento https://storage.azure.com/e, em seguida, exigirá silenciosamente o token para ARM.

Connect-AzAccount -AuthScope Storage

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

Exemplo 9: Conectar usando o arquivo de certificado

Este exemplo se conecta a uma conta do Azure usando a autenticação de entidade de serviço baseada em certificado. O arquivo de certificado, especificado por CertficatePath, deve conter o certificado e a chave privada como a entrada.

$SecurePassword = ConvertTo-SecureString -String "****" -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

Exemplo 10: Conectar-se interativamente usando o WAM

Este exemplo demonstra como habilitar a configuração do WAM (Gerenciador de Contas Web) e usá-la para se conectar ao Azure.

Update-AzConfig -EnableLoginByWam $true
Connect-AzAccount

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

Parâmetros

-AccessToken

Especifica um token de acesso.

Cuidado

Os tokens de acesso são um tipo de credencial. Você deve tomar as precauções de segurança apropriadas para mantê-las confidenciais. Os tokens de acesso também têm tempo limite e podem impedir que tarefas de execução prolongada sejam concluídas.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-AccountId

ID da Conta, associada ao token de acesso. Em fluxos de autenticação de de usuário do , a AccountId é o nome de usuário/id do usuário; No fluxo de do AccessToken , é a AccountId do token de acesso; Em fluxo de ManagedService, é a ID de cliente associada da identidade UserAssigned. Para usar a identidade SystemAssigned, deixe esse campo em branco.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ApplicationId

ID do aplicativo da entidade de serviço.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-AuthScope

Escopo opcional do OAuth para logon, valores pré-definidos com suporte: AadGraph, AnalysisServices, Atestado, Lote, DataLake, KeyVault, OperationalInsights, Armazenamento, Synapse. Ele também dá suporte à ID do recurso, como https://storage.azure.com/.

Tipo:String
Aliases:AuthScopeTypeName
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-CertificatePassword

A senha necessária para acessar o arquivo de certificado pkcs nº 12.

Tipo:SecureString
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-CertificatePath

O caminho do arquivo de certificado no formato pkcs nº 12.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-CertificateThumbprint

Hash de certificado ou impressão digital.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Confirm

Solicita a confirmação antes de executar o cmdlet.

Tipo:SwitchParameter
Aliases:cf
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ContextName

Nome do contexto padrão do Azure para esse logon. Para obter mais informações sobre contextos do Azure, consulte objetos de contexto do Azure PowerShell.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Credential

Especifica um objeto PSCredential . Para obter mais informações sobre o objeto PSCredential, digite Get-Help Get-Credential. O objeto PSCredential fornece a ID do usuário e a senha para credenciais de ID organizacional ou a ID do aplicativo e o segredo das credenciais da entidade de serviço.

Tipo:PSCredential
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-DefaultProfile

As credenciais, a conta, o locatário e a assinatura usados para comunicação com o Azure.

Tipo:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Environment

Ambiente que contém a conta do Azure.

Tipo:String
Aliases:EnvironmentName
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-FederatedToken

Especifica um token fornecido por outro provedor de identidade. O emissor e o assunto neste token devem ser configurados primeiro para serem confiáveis pela ApplicationId.

Cuidado

Tokens federados são um tipo de credencial. Você deve tomar as precauções de segurança apropriadas para mantê-las confidenciais. Os tokens federados também têm tempo limite e podem impedir a conclusão de tarefas de execução prolongada.

Tipo:String
Aliases:ClientAssertion
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Force

Substitua o contexto existente com o mesmo nome sem solicitar.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-GraphAccessToken

AccessToken for Graph Service.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Identity

Faça logon usando uma Identidade de Serviço Gerenciada.

Tipo:SwitchParameter
Aliases:MSI, ManagedService
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-KeyVaultAccessToken

AccessToken para o Serviço KeyVault.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-MaxContextPopulation

Número máximo da assinatura para preencher contextos após o logon. O padrão é 25. Para preencher todas as assinaturas em contextos, defina como -1.

Tipo:Int32
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-MicrosoftGraphAccessToken

Token de acesso ao Microsoft Graph

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Scope

Determina o escopo das alterações de contexto, por exemplo, se as alterações se aplicam apenas ao processo atual ou a todas as sessões iniciadas por esse usuário.

Tipo:ContextModificationScope
Valores aceitos:Process, CurrentUser
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-SendCertificateChain

Especifica se a declaração x5c (chave pública do certificado) deve ser enviada ao STS para obter uma substituição de certificado fácil no Azure AD.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ServicePrincipal

Indica que essa conta é autenticada fornecendo credenciais de entidade de serviço.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-SkipContextPopulation

Ignora a população de contexto se nenhum contexto for encontrado.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-SkipValidation

Ignorar a validação para o token de acesso.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Subscription

Nome ou ID da assinatura.

Tipo:String
Aliases:SubscriptionName, SubscriptionId
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Tenant

ID ou nome de locatário opcional.

Nota

Devido às limitações da API atual, você deve usar uma ID de locatário em vez de um nome de locatário ao se conectar com uma conta B2B (empresa a empresa).

Tipo:String
Aliases:Domain, TenantId
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-UseDeviceAuthentication

Use a autenticação de código do dispositivo em vez de um controle de navegador.

Tipo:SwitchParameter
Aliases:DeviceCode, DeviceAuth, Device
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-WhatIf

Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.

Tipo:SwitchParameter
Aliases:wi
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

Entradas

String

Saídas

PSAzureProfile