Nota
O acceso a esta páxina require autorización. Pode tentar iniciar sesión ou modificar os directorios.
O acceso a esta páxina require autorización. Pode tentar modificar os directorios.
Este artigo ofrece unha visión xeral da configuración de Microsoft Entra para chamar á API de Power Platform. Para acceder aos recursos dispoñibles a través da API Power Platform, debes obter un token portador de Microsoft Entra e envialo como cabeceira xunto con cada solicitude. Dependendo do tipo de identidade que esteas a soportar (usuario vs. principal de servizo) existen diferentes fluxos para obter este token portador, como se describe neste artigo.
Para obter un token portador cos permisos correctos, completa os seguintes pasos:
- Crea un rexistro de aplicación no teu inquilino Microsoft Entra
- Configurar permisos da API
- Configurar a plataforma e redirixir o URI
- (Opcional) Configurar certificados e segredos
- Solicitar un token de acceso
Paso 1. Crea un rexistro de aplicación no teu Microsoft Entra inquilino
- Vai ao portal Azure.
- Selecciona o ID Microsoft Entra na parte superior da páxina. Logo selecciona + Engadir>rexistro de aplicación.
- Enche a páxina de Rexistro dunha solicitude :
- Nome — Dálle á aplicación un nome recoñecible, como Power Platform Admin SDK.
- Tipos de contas soportadas — Selecciona Só inquilino único - <nome> da túa empresa.
- URI de redirección — Salta isto por agora. Configúrao no Paso 3.
- Seleccione Rexistrarse para crear a solicitude. Unha vez rematado o rexistro, anota o ID da Aplicación (cliente) e o ID do Directorio (inquilino ) na páxina de visión xeral — necesitas ambos valores máis adiante.
Tamén podes crear o rexistro usando Azure CLI:
az login
az ad app create --display-name "Power Platform Admin SDK" --sign-in-audience AzureADMyOrg
O comando devolve un obxecto JSON. Anota o appId valor — ese valor é o teu ID de cliente.
Paso 2. Configurar permisos de API
No teu novo rexistro de aplicacións, vai á pestana Xestionar - Permisos da API . Na sección Configurar permisos , selecciona Engadir un permiso. No cadro de diálogo, selecciona a pestana das APIs que usa a miña organización e logo busca a API de Power Platform. Podes ver varias entradas cun nome similar a este, así que asegúrate de usar a que ten o GUID 8578e004-a5c6-46e7-913e-12f58912df43.
Se non ves a API de Power Platform mostrada na lista ao buscar por GUID, pode que aínda teñas acceso a ela pero a visibilidade non se actualiza. Para forzar unha actualización, execute o seguinte script:
#Install the Microsoft Graph PowerShell SDK module
Install-Module Microsoft.Graph -Scope CurrentUser -Repository PSGallery -Force
Connect-MgGraph
New-MgServicePrincipal -AppId 8578e004-a5c6-46e7-913e-12f58912df43 -DisplayName "Power Platform API"
A partir de aquí, selecciona os permisos que necesitas. Estes permisos agrúpanse por Espazos de Nomes. Dentro dun espazo de nomes, ves tipos de recursos e accións, como AppManagement.ApplicationPackages.Read, que dá permisos de lectura para paquetes de aplicacións. Para máis información, consulte o artigo de referencia sobre permisos .
Nota
A API de Power Platform usa só permisos delegados neste momento. Para aplicacións que se executan cun contexto de usuario, solicita permisos delegados usando o parámetro de alcance . Estes permisos delegan os privilexios do usuario iniciado sesión na túa aplicación, para que poida actuar como usuario ao chamar aos puntos finais da API de Power Platform.
Para as identidades de principal de servizo, non uses permisos de aplicación. En vez diso, despois de crear o rexistro da túa aplicación, asigna un rol RBAC para conceder permisos con alcance (como Contribuínte ou Lector). Para máis información, véxase Tutorial: Asignar roles RBAC aos principais de servizo.
Despois de engadir os permisos necesarios á solicitude, selecciona Conceder consentimento de administrador para completar a configuración. Ao conceder o consentimento do administrador, autorizas os permisos para todos os usuarios do inquilino para que non se lles solicite un diálogo interactivo de consentimento a primeira vez que usan a túa aplicación. Se prefires consentimento interactivo por usuario, segue a plataforma de identidade de Microsoft e o fluxo de código de autorización OAuth 2.0.
Tamén podes conceder o consentimento do administrador usando Azure CLI:
# Replace <app-id> with your application (client) ID
az ad app permission admin-consent --id <app-id>
Paso 3. Configurar a plataforma e redirixir o URI
Os SDKs, scripts PowerShell e aplicacións de escritorio que se autentican en nome dun usuario requiren un URI de redirección para que Microsoft Entra poida devolver tokens á túa aplicación despois da autenticación.
Dentro do rexistro da túa aplicación, vai a Xestionar - Autenticación.
Selecciona Engadir un URI de redirección, logo escolle aplicacións móbiles e de escritorio.
Seleccione o seguinte URI de redirección incorporado:
https://login.microsoftonline.com/common/oauth2/nativeclientSelecciona Configurar para gardar.
Tamén podes engadir o URI de redirección usando Azure CLI:
# Replace <app-id> with your application (client) ID
az ad app update --id <app-id> --public-client-redirect-uris https://login.microsoftonline.com/common/oauth2/nativeclient
Configuración de cliente público
Na sección de configuración avanzada na mesma pestana de Autenticación , hai un interruptor para permitir fluxos públicos de clientes . Configura este interruptor en Si só se planeas usar o fluxo de Credenciais de Contrasinal do Propietario do Recurso (ROPC), que envía un nome de usuario e un contrasinal directamente no corpo da solicitude do token.
Este fluxo non funciona para contas que teñen autenticación multifactor activada. Para fluxos interactivos de código de navegador ou dispositivo, non necesitas activar esta configuración.
Paso 4. (Opcional) Configurar certificados e segredos
Se a túa aplicación require recursos de lectura e escritura por si mesma, tamén coñecidos como principio de servizo, hai dúas formas de autenticar. Para usar certificados, vai a Xestión - Certificados e segredos. Na sección de Certificados , sube un certificado x509 que poidas usar para autenticarte.
O outro xeito é usar a sección Segredos para xerar un segredo do cliente. Garde o segredo nun lugar seguro para empregalo coas súas necesidades de automatización. As opcións de certificado ou segredo permítenche autenticarte con Microsoft Entra e recibir un token para este cliente, que pasas ás APIs REST ou aos cmdlets de PowerShell.
Paso 5. Solicitar un token de acceso
Podes obter un token portador de acceso de dúas maneiras: unha forma é para nome de usuario e contrasinal, e a outra é para os principais de servizo.
Fluxo de nome de usuario e contrasinal
Asegúrate de ler a sección de clientes públicos. A continuación, envíe unha solicitude POST a través de HTTP a Microsoft Entra ID cunha carga útil de nome de usuario e contrasinal.
Content-Type: application/x-www-form-urlencoded
Host: login.microsoftonline.com
Accept: application/json
POST https://login.microsoftonline.com/YOUR_TENANT.COM/oauth2/v2.0/token
BODY:
client_id={CLIENT_ID_FROM_AZURE_CLIENT_APP}&scope=https://api.powerplatform.com/.default&username={USER_EMAIL_ADDRESS}&password={PASSWORD}&grant_type=password
O exemplo anterior contén marcadores de posición que podes recuperar da túa aplicación cliente en Microsoft Entra ID. Recibes unha resposta que podes usar para facer chamadas posteriores á API de Power Platform.
{
"token_type": "Bearer",
"scope": "https://api.powerplatform.com/AppManagement.ApplicationPackages.Install https://api.powerplatform.com/AppManagement.ApplicationPackages.Read https://api.powerplatform.com/.default",
"expires_in": 4747,
"ext_expires_in": 4747,
"access_token": "eyJ0eXAiOiJKV1QiLCJu..."
}
Use o valor access_token nas chamadas posteriores á API de Power Platform coa cabeceira HTTP de autorización.
Fluxo principal do servizo
Asegúrate de ler a sección Configurar certificados e segredos . A continuación, envíe unha solicitude POST a través de HTTP a Microsoft Entra ID cunha carga útil secreta do cliente. Este método de autenticación adoita denominarse autenticación principal de servizo.
Importante
Antes de usar a autenticación do principal de servizo, completa os pasos 1-4 anteriores neste artigo para crear e configurar o rexistro da túa aplicación cun certificado ou segredo do cliente. Logo asigna ao principal do servizo un rol RBAC para controlar o seu nivel de acceso. Para saber máis, consulta o Tutorial: Asignar roles RBAC aos principais de servizo.
Content-Type: application/x-www-form-urlencoded
Host: login.microsoftonline.com
Accept: application/json
POST https://login.microsoftonline.com/YOUR_TENANT.COM/oauth2/v2.0/token
BODY:
client_id={CLIENT_ID_FROM_AZURE_CLIENT_APP}&scope=https://api.powerplatform.com/.default&client_secret={SECRET_FROM_AZURE_CLIENT_APP}&grant_type=client_credentials
O exemplo anterior contén marcadores de posición que podes recuperar da túa aplicación cliente en Microsoft Entra ID. Recibes unha resposta que podes usar para facer chamadas posteriores á API de Power Platform.
{
"token_type": "Bearer",
"expires_in": 3599,
"ext_expires_in": 3599,
"access_token": "eyJ0eXAiOiJKV1..."
}
Use o valor access_token nas chamadas posteriores á API de Power Platform coa cabeceira HTTP de autorización. Os permisos efectivos do principal de servizo determínanse polo rol RBAC que lle está asignado. Para aprender a asignar un rol, consulta o Tutorial: Asignar roles RBAC aos principais de servizo.
Comezo rápido con Azure CLI
O seguinte script crea un rexistro de aplicación de extremo a extremo. Executa cada comando en orde e substitúe os valores provisionais polos teus propios.
# Sign in to Azure CLI
az login
# Create the app registration (single tenant)
az ad app create --display-name "Power Platform Admin SDK" --sign-in-audience AzureADMyOrg
# Save the app ID from the output, then create a service principal for it
az ad sp create --id <app-id>
# Add a delegated permission (example: AppManagement.ApplicationPackages.Read)
# The --api value is the Power Platform API app ID.
# The --api-permissions value is the permission ID and type (Scope = delegated).
# Repeat this command for each permission you need. See the Permission reference for IDs.
az ad app permission add --id <app-id> \
--api 8578e004-a5c6-46e7-913e-12f58912df43 \
--api-permissions <permission-id>=Scope
# Grant admin consent so users aren't prompted individually
az ad app permission admin-consent --id <app-id>
# Add the native client redirect URI for interactive auth
az ad app update --id <app-id> \
--public-client-redirect-uris https://login.microsoftonline.com/common/oauth2/nativeclient
Despois de executar estes comandos, podes usar o rexistro da túa aplicación cos SDKs, PowerShell ou chamadas REST directas. Para buscar os IDs de permiso do --api-permissions parámetro, consulta a referencia de permisos.
Resolución de problemas comúns
Erros de "requírese consentimento" ou "necesita aprobación administrativa"
Este erro prodúcese cando o administrador non consentiu os permisos da API para o rexistro da túa aplicación. Vai a Rexistros> de aplicacións, permisos da API da túa aplicación > e selecciona Conceder consentimento de administrador.
Alternativamente, executa:
az ad app permission admin-consent --id <app-id>
Erros de "O usuario non está asignado a un rol para a aplicación"
Este erro significa que a aplicación empresarial asociada ao rexistro da túa aplicación ten asignación de usuario requerida configurada como Si. Cando esta configuración está activada, só os usuarios ou grupos explicitamente asignados á aplicación poden iniciar sesión. Para corrixir este erro, realiza unha das seguintes accións:
- Vai a Microsoft Entra ID>aplicacións>empresariais, propiedades da túa aplicación > e configura Asignación requirida en Nº.
- Engade os usuarios ou grupos de seguridade relevantes en Usuarios e grupos.
Políticas de acceso condicional que bloquean o acceso
Se a túa organización aplica políticas de acceso condicional, poden bloquear a adquisición de tokens para o rexistro da túa aplicación. As causas comúns inclúen requisitos de cumprimento do dispositivo, restricións de localización ou políticas baseadas no risco. Traballa co teu administrador de Microsoft Entra para excluír o rexistro da túa aplicación da política ou garantir que os clientes cumpran os requisitos da política.
"Power Platform API" non se atopa no selector de API
Se buscar a API de Power Platform por nome ou GUID no diálogo de permisos da API non dá resultados, o principal do servizo non se crea no teu inquilino. Segue os pasos de refresco forzado no Paso 2 para crealo.
Autenticar con SDKs de Power Platform e PowerShell
Os seguintes exemplos amosan como autenticar e facer unha chamada de exemplo á API usando cada SDK e PowerShell. Antes de executar estes exemplos, completa os pasos 1-3 anteriores neste artigo para crear e configurar o rexistro da túa aplicación.
Autenticación interactiva (usuario delegado)
A autenticación interactiva abre unha xanela do navegador para que o usuario poida iniciar sesión. Este fluxo funciona mellor para scripts de desenvolvedor, ferramentas administrativas e calquera escenario no que haxa un usuario presente.
# Sign in interactively (opens a browser)
Connect-AzAccount
# Get an access token for the Power Platform API
$token = Get-AzAccessToken -ResourceUrl "https://api.powerplatform.com"
# Call the List Environments endpoint as an example
$headers = @{ Authorization = "Bearer $($token.Token)" }
$environments = Invoke-RestMethod -Uri "https://api.powerplatform.com/environmentmanagement/environments?api-version=2024-10-01" -Headers $headers
$environments.value | Format-Table name, properties.displayName
Cliente confidencial (principal do servizo)
A autenticación de cliente confidencial usa un segredo ou certificado de cliente e non require interacción do usuario. Este fluxo de autenticación é mellor para servizos en segundo plano, pipelines e automatización.
Importante
Antes de usar a autenticación do principal de servizo, completa os pasos 1-4 anteriores para crear e configurar o rexistro da túa aplicación cun certificado ou segredo de cliente. Logo asigna ao principal do servizo un rol RBAC para controlar o seu nivel de acceso. Para máis información, véxase Tutorial: Asignar roles RBAC aos principais de servizo.
$tenantId = "YOUR_TENANT_ID"
$clientId = "YOUR_CLIENT_ID"
$clientSecret = "YOUR_CLIENT_SECRET"
# Request a token using client credentials
$body = @{
client_id = $clientId
scope = "https://api.powerplatform.com/.default"
client_secret = $clientSecret
grant_type = "client_credentials"
}
$tokenResponse = Invoke-RestMethod -Method Post `
-Uri "https://login.microsoftonline.com/$tenantId/oauth2/v2.0/token" `
-ContentType "application/x-www-form-urlencoded" `
-Body $body
# Call the List Environments endpoint as an example
$headers = @{ Authorization = "Bearer $($tokenResponse.access_token)" }
$environments = Invoke-RestMethod -Uri "https://api.powerplatform.com/environmentmanagement/environments?api-version=2024-10-01" -Headers $headers
$environments.value | Format-Table name, properties.displayName
Contido relacionado
Tutorial: Asignar roles RBAC aos principais de servizo
Control de acceso baseado en roles para o centro de administración de Power Platform
Referencia de permisos