Compartilhar via


Criação de um aplicativo de entidade de serviço usando o PowerShell

A autenticação por meio de nome de usuário e senha geralmente não é ideal, especialmente com o aumento da autenticação multifator. Nesses casos, a autenticação da entidade de serviço (ou fluxo de credenciais de cliente) é preferencial. Isso pode ser feito registrando um novo aplicativo principal de serviço em seu próprio locatário do Microsoft Entra e registrando o mesmo aplicativo com o Power Platform.

Registro de um aplicativo de gerenciamento de administrador

Primeiro, o aplicativo cliente precisa ser registrado em seu locatário do Microsoft Entra. Para definir isso, revise o artigo Autenticação para APIs do Power Platform porque a mesma configuração de aplicativo é necessária para o PowerShell.

Depois que seu aplicativo cliente for registrado no Microsoft Entra ID, ele também precisará ser registrado no Microsoft Power Platform. Hoje, não há como fazer isso por meio do centro de administração do Power Platform; deve ser feito programaticamente por meio da API do Power Platform ou do PowerShell para administradores do Power Platform. Uma entidade de serviço não pode se registrar – por design, o aplicativo deve ser registrado por um contexto de nome de usuário e senha do administrador. Isso garante que o aplicativo seja criado por alguém que é um administrador para o locatário.

Para registrar um novo aplicativo de gerenciamento, use 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 solicitações como a entidade de serviço

Agora que ele foi registrado no Microsoft Power Platform, você poderá se autenticar como a própria entidade de serviço. Use o seguinte script para consultar 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 de entidades de serviço

Atualmente, a autenticação de entidade de serviço funciona para gerenciamento de ambiente, configurações de locatário e gerenciamento do Power Apps. Os cmdlets relacionados ao Flow são compatíveis com a autenticação de entidade de serviço em situações em que uma licença não é necessária, pois não é possível atribuir licenças a identidades de entidade de serviço no Microsoft Entra ID.

Os aplicativos da entidade de serviço são tratados no Power Platform semelhante à forma como os usuários normais são com a função Administrador do Power Platform atribuída. Funções e permissões granulares não podem ser atribuídas para limitar seus recursos. O aplicativo não recebe nenhuma função especial atribuída no Microsoft Entra ID, pois é assim que os serviços da plataforma tratam as solicitações feitas pelas entidades de serviço.