Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O Azure PowerShell dá suporte a vários métodos de autenticação. A maneira mais fácil de começar é com o Azure Cloud Shell, que faz logon automaticamente. Com uma instalação local, você pode entrar interativamente por meio do navegador. Ao escrever scripts para automação, a abordagem recomendada é usar um principal de serviço com as permissões necessárias. Ao restringir as permissões de entrada o máximo possível para seu caso de uso, você ajuda a manter seus recursos do Azure seguros.
Depois de entrar, os comandos são executados na sua assinatura padrão. Para alterar sua assinatura ativa para uma sessão, use o cmdlet Set-AzContext . Para alterar a assinatura padrão usada ao fazer logon com o Azure PowerShell, use Set-AzDefault.
Importante
Suas credenciais são compartilhadas entre várias sessões do PowerShell, desde que você permaneça conectado. Para obter mais informações, consulte o artigo sobre Credenciais Persistentes.
Fazer login de forma interativa
Para entrar interativamente, use o cmdlet Connect-AzAccount .
Connect-AzAccount
Quando executado, esse cmdlet apresentará uma cadeia de caracteres de token. Para fazer login, copie essa sequência e cole-a em https://microsoft.com/devicelogin em um navegador. Sua sessão do PowerShell será autenticada para se conectar ao Azure.
Importante
A autorização de credencial de nome de usuário/senha foi removida no Azure PowerShell devido a alterações nas implementações de autorização do Active Directory e preocupações com a segurança. Se você usar autorização de credencial para fins de automação, em vez disso, crie uma entidade de serviço.
Entrar com uma entidade de serviço
As entidades de serviço são contas do Azure não interativas. Assim como outras contas de usuário, suas permissões são gerenciadas com a ID do Microsoft Entra. Ao conceder a uma entidade de serviço somente as permissões necessárias, você manterá os scripts de automação protegidos.
Para saber como criar uma entidade de serviço para uso com o Azure PowerShell, consulte Criar uma entidade de serviço do Azure com o Azure PowerShell.
Para fazer login com uma entidade de serviço, use o argumento -ServicePrincipal
com o cmdlet Connect-AzAccount
. Você também precisará da ID do aplicativo da entidade de serviço, das credenciais de entrada e da ID do locatário associada à entidade de serviço. A forma como você entra com uma entidade de serviço dependerá se ela está configurada para autenticação baseada em senha ou certificado.
Autenticação baseada em senha
Para obter as credenciais do principal de serviço como o objeto correto, use o cmdlet Get-Credential. Esse cmdlet apresentará um prompt para um nome de usuário e uma senha. Use o ID principal do serviço para o nome de usuário.
$pscredential = Get-Credential
Connect-AzAccount -ServicePrincipal -Credential $pscredential -Tenant $tenantId
Para cenários de automação, você precisa criar credenciais de um nome de usuário e uma cadeia de caracteres segura:
$passwd = ConvertTo-SecureString <use a secure password here> -AsPlainText -Force
$pscredential = New-Object System.Management.Automation.PSCredential('service principal name/id', $passwd)
Connect-AzAccount -ServicePrincipal -Credential $pscredential -Tenant $tenantId
Certifique-se de usar boas práticas de armazenamento de senhas ao automatizar conexões de entidades de serviço.
Autenticação baseada em certificado
A autenticação baseada em certificado exige que o Azure PowerShell possa recuperar informações de um repositório de certificados local com base em uma impressão digital do certificado.
Connect-AzAccount -ApplicationId $appId -Tenant $tenantId -CertificateThumbprint <thumbprint>
Ao usar um principal de serviço em vez de um aplicativo registrado, adicione o argumento -ServicePrincipal
e forneça a ID do aplicativo do principal de serviço como valor do parâmetro -ApplicationId
.
Connect-AzAccount -ServicePrincipal -ApplicationId $servicePrincipalId -Tenant $tenantId -CertificateThumbprint <thumbprint>
No PowerShell 5.1, o repositório de certificados pode ser gerenciado e inspecionado com o módulo PKI . Para o PowerShell Core 6.x e posterior, o processo é mais complicado. Os scripts a seguir mostram como importar um certificado existente para o repositório de certificados acessível pelo PowerShell.
Importar um certificado no PowerShell 5.1
# Import a PFX
$credentials = Get-Credential -Message "Provide PFX private key password"
Import-PfxCertificate -FilePath <path to certificate> -Password $credentials.Password -CertStoreLocation cert:\CurrentUser\My
Importar um certificado no PowerShell Core 6.x e posterior
# Import a PFX
$storeName = [System.Security.Cryptography.X509Certificates.StoreName]::My
$storeLocation = [System.Security.Cryptography.X509Certificates.StoreLocation]::CurrentUser
$store = [System.Security.Cryptography.X509Certificates.X509Store]::new($storeName, $storeLocation)
$certPath = <path to certificate>
$credentials = Get-Credential -Message "Provide PFX private key password"
$flag = [System.Security.Cryptography.X509Certificates.X509KeyStorageFlags]::Exportable
$certificate = [System.Security.Cryptography.X509Certificates.X509Certificate2]::new($certPath, $credentials.Password, $flag)
$store.Open([System.Security.Cryptography.X509Certificates.OpenFlags]::ReadWrite)
$store.Add($Certificate)
$store.Close()
Entrar usando uma identidade gerenciada
As identidades gerenciadas são um recurso da ID do Microsoft Entra. As identidades gerenciadas são entidades de serviço atribuídas aos recursos executados no Azure. Você pode usar uma entidade de serviço de identidade gerenciada para fazer login e adquirir um token de acesso somente ao aplicativo para acessar outros recursos. As identidades gerenciadas só estão disponíveis em recursos em execução em uma nuvem do Azure.
Esse comando se conecta usando a identidade gerenciada do ambiente do host. Por exemplo, se executado em um VirtualMachine com uma Identidade de Serviço Gerenciada atribuída, isso permite que o código entre usando essa identidade atribuída.
Connect-AzAccount -Identity
Faça login com um locatário não padrão ou como um Provedor de Soluções em Nuvem (CSP)
Se sua conta estiver associada a mais de um locatário, a entrada exigirá o uso do -Tenant
parâmetro ao se conectar. Esse parâmetro funcionará com qualquer método de entrada. Ao se logar, esse valor de parâmetro pode ser o ID do objeto Azure do locatário (ID do locatário) ou o nome de domínio completo do locatário.
Se você for um CSP (Provedor de Soluções na Nuvem), o -Tenant
valor deverá ser uma ID de locatário.
Connect-AzAccount -Tenant 'xxxx-xxxx-xxxx-xxxx'
Entrar em outra nuvem
Os serviços de nuvem do Azure oferecem ambientes compatíveis com as leis regionais de tratamento de dados.
Para contas em uma nuvem regional, defina o ambiente ao fazer login com o argumento -Environment
.
Esse parâmetro funcionará com qualquer método de entrada. Por exemplo, se sua conta estiver na nuvem da China:
Connect-AzAccount -Environment AzureChinaCloud
O comando a seguir obtém uma lista de ambientes disponíveis:
Get-AzEnvironment | Select-Object Name