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.
Use uma entidade de serviço Microsoft Entra para autenticar a CLI do Power Apps sem abrir um navegador ou usar uma conta de usuário armazenada em cache. Esse método de autenticação é útil para pipelines de CI/CD (integração contínua e entrega contínua) e outros processos automatizados que publicam atualizações em um aplicativo de código existente.
Para publicar uma atualização, a entidade de serviço precisa de acesso ao ambiente de destino do Power Platform e de acesso de edição ao aplicativo de código. Somente as permissões de nível de ambiente não concedem permissão para atualizar um aplicativo existente. O compartilhamento de aplicativos e a autenticação do service principal são recursos separados, mas compartilhar o aplicativo é um pré-requisito para publicar atualizações usando o service principal.
Importante
Um criador de aplicativos deve compartilhar o aplicativo com a entidade de serviço antes que a entidade de serviço publique sua primeira atualização. O compartilhamento é um pré-requisito único, não faz parte do processo de publicação recorrente. Uma entidade de serviço não pode conceder acesso a si mesma.
Pré-requisitos
Um aplicativo de código Power Apps que você já publicou
Uma conta do criador de aplicativos que tem permissão para compartilhar o aplicativo
Uma entidade de serviço do Microsoft Entra que tem acesso ao ambiente de destino da Power Platform
Estes valores de entidade de serviço:
- ID do aplicativo (cliente)
- Segredo do cliente
- ID do Diretório (locatário)
- ID do objeto aplicativo empresarial
Entender os identificadores da entidade de serviço
Microsoft Entra ID fornece vários identificadores para um registro de aplicativo e sua entidade de serviço. Use o identificador correto para cada operação.
| Identificador | Onde encontrá-lo | Como ele é usado |
|---|---|---|
| ID do aplicativo (cliente) | Registros de aplicativo | Defina a variável de ambiente PA_CLI_SP_CLIENT_ID. |
| ID do Diretório (locatário) | Registros de aplicativo | Defina a variável de ambiente PA_CLI_SP_TENANT_ID. |
| ID do objeto aplicativo empresarial | Aplicativos empresariais | Passe para pa app share --principal. |
Pré-requisito: compartilhar o aplicativo com a entidade de serviço
Se o aplicativo já tiver acesso de edição para a entidade de serviço, ignore esta seção. Caso contrário, conclua essas etapas uma vez no computador do fabricante do aplicativo. Não inclua o comando de compartilhamento no pipeline de CI/CD.
Importante
Não use a ID de Objeto mostrada em Registros de aplicativo no centro de administração do Microsoft Entra, em que você encontra a ID do aplicativo (cliente), a ID do diretório (locatário) e o segredo do cliente. Em vez disso, use a ID do objeto mostrada em Aplicativos empresariais.
Como alternativa, se você souber a ID do aplicativo (cliente), recupere a ID do objeto aplicativo empresarial usando o comando CLI do Azureaz ad sp show:
az ad sp show --id <application-client-id> --query id --output tsv
Faça login como o criador do aplicativo e compartilhe o aplicativo Code
Não habilite a autenticação de entidade de serviço ao compartilhar o aplicativo.
Entre interativamente com a conta do criador de aplicativos usando o pa auth login comando:
pa auth login --account <maker-email>
Confirme se a conta do criador de aplicativos está ativa usando o pa auth status comando:
pa auth status
Na pasta do aplicativo, conceda à entidade de serviço acesso de edição usando o pa app share comando:
pa app share --principal <enterprise-application-object-id> --access edit
O edit nível de acesso concede à entidade de serviço permissão para atualizar o aplicativo usando o comando pa app push.
Para permitir executar o aplicativo sem atualizá-lo, use --access play:
pa app share --principal <enterprise-application-object-id> --access play
Publicar atualizações como o principal de serviço
Depois que o aplicativo tiver acesso de edição para a entidade de serviço, use a entidade de serviço para publicar atualizações por meio de um pipeline de CI/CD ou de um computador local. Repita este procedimento para cada atualização. Você não precisa compartilhar o aplicativo novamente, a menos que o acesso da entidade de serviço seja removido.
Configurar a autenticação da entidade de serviço
Defina as variáveis de ambiente de autenticação da entidade de serviço na sessão de terminal ou trabalho de CI/CD que você usa para publicar a atualização. Essas variáveis fazem com que a CLI se autentique como a entidade de serviço em vez de usar uma conta interativa armazenada em cache.
$env:PA_CLI_USE_SP_AUTH = "true"
$env:PA_CLI_SP_CLIENT_ID = "<application-client-id>"
$env:PA_CLI_SP_CLIENT_SECRET = "<client-secret>"
$env:PA_CLI_SP_TENANT_ID = "<tenant-id>"
Depois de definir as variáveis, execute os comandos de compilação e publicação dessa sessão de terminal ou trabalho de CI/CD.
Compilar e publicar a atualização
Crie o aplicativo usando o comando configurado para seu projeto. Por exemplo:
npm run build
Publicar o aplicativo compilado no modo nãointerativo usando o pa app push comando
pa app push --non-interactive
A CLI usa as credenciais da entidade de serviço definidas nas variáveis de ambiente e não abre o navegador nem usa uma conta interativa em cache.
Quando o comando é concluído, um código de 0 saída indica que a atualização foi publicada. Um código de saída diferente de zero indica que o comando falhou.