Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Neste artigo, aprende como autenticar aplicações de forma segura para automatizar tarefas usando o módulo PowerShell da Microsoft Entra. Abrange autenticação baseada em certificados, credenciais secretas de clientes e identidades geridas.
Este conhecimento permite um acesso eficiente e seguro aos recursos do Microsoft Entra e Azure sem gerir manualmente credenciais sensíveis. É crucial para manter práticas de segurança robustas e simplificar a gestão de acessos em ambientes cloud.
Important
O acesso apenas por aplicação concede permissões diretamente a uma aplicação e exige que um administrador consinta com os escopos de permissões exigidos. Para mais informações sobre acesso apenas por aplicações, consulte plataforma de identidades da Microsoft e o fluxo de credenciais do cliente OAuth 2.0.
Pré-requisitos
Para usar o acesso apenas por aplicação com o módulo PowerShell Microsoft Entra, precisa de:
- Uma conta Microsoft Entra ID. Se ainda não tiveres uma, podes Criar uma conta gratuitamente.
- Uma das seguintes funções:
- Módulo PowerShell Microsoft Entra instalado. Siga o guia Instalar o módulo PowerShell da Microsoft Entra para instalar o módulo.
- Um certificado para usar como credencial na candidatura. O certificado pode ser um certificado autoassinado ou um certificado de uma autoridade. Para mais informações sobre como criar um certificado auto-assinado, consulte Criar um certificado público auto-assinado. Certificados auto-assinados não são recomendados para cenários de produção. Obtenha um certificado de uma autoridade certificadora para cenários de produção.
Utilizar autenticação baseada em certificado
Deve ter esta informação para autenticar usando um certificado.
- Sujeito do certificado ou impressão digital do certificado carregado no registo da aplicação Microsoft Entra.
- ID da aplicação para o registo da sua aplicação. Se ainda não tiver registo de uma aplicação, veja Criar uma aplicação personalizada.
- O ID do inquilino.
Nesta secção, aprende a usar um certificado para autenticar com o módulo PowerShell da Microsoft Entra. Pode usar a impressão digital do certificado, o nome do certificado ou o próprio certificado para autenticar. Para se autenticar com os exemplos fornecidos, precisa de iniciar sessão com, pelo menos, a função Administrador de Funções Privilegiadas.
Usar a impressão digital do certificado
$params = @{
ClientId = 'YOUR_APP_ID'
TenantId = 'YOUR_TENANT_ID'
CertificateThumbprint = 'YOUR_CERT_THUMBPRINT'
}
Connect-Entra @params
Para encontrar a impressão digital do certificado no centro de administração Microsoft Entra, navegue até Identity>Registos de aplicações>Certificates & secrets>Certificates. Selecione o certificado e copie a sua impressão digital.
Em alternativa, pode usar o seguinte comando PowerShell para obter o seu certificado auto-assinado:
Get-ChildItem Cert:\CurrentUser\My
Usar o nome do certificado
$params = @{
ClientId = 'YOUR_APP_ID'
TenantId = 'YOUR_TENANT_ID'
CertificateName = 'YOUR_CERT_SUBJECT'
}
Connect-Entra @params
Pode encontrar o assunto do certificado executando o comando:
Get-ChildItem Cert:\CurrentUser\My\$CertThumbprint | Select Subject
Use um certificado
$cert = Get-ChildItem Cert:\CurrentUser\My\$CertThumbprint
Connect-Entra -ClientId 'YOUR_APP_ID' -TenantId 'YOUR_TENANT_ID' -Certificate $cert
Para usar um certificado armazenado na loja de certificados da sua máquina ou noutro local ao ligar-se ao Microsoft Entra PowerShell, especifique a localização do certificado.
Se a autenticação for bem-sucedida, verá a mensagem Welcome To Microsoft Graph!. Executa o Get-EntraContext para confirmar que estás autenticado apenas com o método da aplicação. A saída deve ser semelhante à seguinte.
ClientId : YOUR_APP_ID
TenantId : YOUR_TENANT_ID
CertificateThumbprint :
Scopes : {Group.Read.All, User.Read.All}
AuthType : AppOnly
CertificateName : YOUR_CERT_SUBJECT
Account :
AppName : {Your Awesome Application Name Here}
ContextScope : Process
Environment : Global
Usar credenciais secretas de cliente
A concessão de credenciais do cliente é usada para autenticar e autorizar a aplicação a aceder a recursos em seu próprio nome. O suporte para credenciais secretas de cliente é adicionado ao adicionar o parâmetro -ClientSecretCredential ao Connect-Entra.
# Define the Application (Client) ID and Secret
$applicationClientId = '<application(client)ID>' # Application (Client) ID
$applicationClientSecret = '<secret.value>' # Application Secret Value
$tenantId = 'Tenant_Id' # Tenant ID
# Convert the Client Secret to a Secure String
$secureClientSecret = ConvertTo-SecureString -String $applicationClientSecret -AsPlainText -Force
# Create a PSCredential Object Using the Client ID and Secure Client Secret
$clientSecretCredential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $applicationClientId, $secureClientSecret
# Connect to Microsoft Graph Using the Tenant ID and Client Secret Credential
Connect-Entra -TenantId $tenantId -ClientSecretCredential $clientSecretCredential
Para criar ou adicionar um segredo cliente, utilize o comando New-EntraServicePrincipalPasswordCredential ou veja: Adicionar um segredo cliente no centro de administração Microsoft Entra.
Note
Recomenda-se usar o PowerShell 7 ou superior ao usar o método de autenticação de credenciais secretas do cliente.
Utilizar a identidade gerida
Um desafio comum ao escrever scripts de automação é a gestão de segredos, credenciais, certificados e chaves usados para garantir a comunicação entre serviços. Elimine a necessidade de gerir credenciais permitindo que o módulo obtenha tokens de acesso para recursos do Azure protegidos pelo Microsoft Entra ID. A plataforma Azure gere a identidade e não exige que cries ou rodes segredos.
Identidade gerida atribuída pelo sistema - Utiliza uma identidade gerida automaticamente numa instância de serviço. A identidade está ligada ao ciclo de vida de uma instância de serviço.
Connect-Entra -IdentityIdentidade gerida atribuída pelo utilizador - Utiliza uma identidade gerida criada pelo utilizador como recurso Azure autónomo.
Connect-Entra -Identity -ClientId 'User_Assigned_Managed_identity_Client_Id'