Partilhar via


Criar uma aplicação de principal do serviço com o PowerShell

Muitas vezes, a autenticação através de nome de utilizador e palavra-passe não é a ideal, sobretudo com o aumento da autenticação multifator. Nestes casos, é preferível a autenticação do principal do serviço (ou do fluxo de credenciais de cliente). Isto pode ser efetuado registando uma nova aplicação do principal de serviço no seu próprio inquilino do Microsoft Entra e, em seguida, registando a mesma aplicação no Power Platform.

Registar uma aplicação de gestão de administração

Primeiro, a aplicação cliente tem de ser registada no seu inquilino do Microsoft Entra. Para o definir, reveja o artigo Autenticação para APIs do Power Platform porque é necessária a mesma configuração de aplicação para o PowerShell.

Depois de registada a sua aplicação cliente no ID do Microsoft Entra, também tem de ser registada no Microsoft Power Platform. Atualmente, não possível fazer isto através do centro de administração do Power Platform; tem de ser feito programaticamente através da API do Power Platform ou do PowerShell para administradores do Power Platform. Um principal do serviço não pode registar-se a si mesmo. Por predefinição, a aplicação tem ser registada por um contexto de nome de utilizador e palavra-passe de administrador. Isto garante que a aplicação é criada por alguém que é um administrador para o inquilino.

Para registar uma nova aplicação de gestão, utilize o seguinte script:

$appId = "CLIENT_ID_FROM_AZURE_APP"

# Login interactively with a tenant administrator for Power Platform
Add-PowerAppsAccount -Endpoint prod -TenantID $tenantId 

# Register a new application, this gives the SPN / client application same permissions as a tenant admin
New-PowerAppManagementApp -ApplicationId $appId

Fazer pedidos como principal do serviço

Agora que foi registado com o Microsoft Power Platform, pode autenticar-se como o próprio principal do serviço. Utilize o seguinte script para consultar a sua lista de ambientes:

$appId = "CLIENT_ID_FROM_AZURE_APP"
$secret = "SECRET_FROM_AZURE_APP"
$tenantId = "TENANT_ID_FROM_AZURE_APP"

Add-PowerAppsAccount -Endpoint prod -TenantID $tenantId -ApplicationId $appId -ClientSecret $secret -Verbose
Get-AdminPowerAppEnvironment

Limitações dos principais do serviço

Atualmente, a autenticação do principal do serviço funciona para a gestão ambiental, definições de inquilino e gestão do Power Apps. Os cmdlets relacionados com o Fluxo são suportados para autenticação do principal do serviço em situações em que uma licença não é necessária, uma vez que não é possível atribuir licenças a identidades de principal do serviço no ID do Microsoft Entra.

As aplicações do principal de serviço são tratadas no Power Platform de maneira semelhante aos utilizadores normais com a função de Administrador do Power Platform atribuída. Não podem ser atribuídas funções e permissões granulares para limitar as suas capacidades. A aplicação não tem nenhuma função especial atribuída no ID do Microsoft Entra, pois é assim que os serviços da plataforma tratam os pedidos efetuados pelos principais de serviço.