Autentifikazioa

Artikulu honek Microsoft Entra-ren konfigurazioaren ikuspegi orokorra eskaintzen du Power Platform APIa deitzeko. Power Platform APIaren bidez eskuragarri dauden baliabideetara sartzeko, Microsoft Entra-ren eramaile-token bat lortu behar duzu eta goiburu gisa bidali behar duzu eskaera bakoitzarekin batera. Onartzen ari zaren identitate motaren arabera (erabiltzailea vs. zerbitzu nagusia), fluxu desberdinak daude eramailearen token hori lortzeko, artikulu honetan azaltzen den bezala.

Baimen egokiak dituen eramaile-token bat lortzeko, osatu urrats hauei:

  1. Sortu aplikazioaren erregistroa Microsoft Entra-ren maizterrean
  2. Konfiguratu APIaren baimenak
  3. Konfiguratu plataforma eta birbideratze URIa
  4. (Aukerakoa) Konfiguratu ziurtagiriak eta sekretuak
  5. Eskatu sarbide-tokena

1. urratsa. Sortu aplikazio-erregistroa zure Microsoft Entra errezinean

  1. Joan Azure portalera.
  2. Hautatu Microsoft Entra IDa orriaren goialdean. Ondoren, hautatu + Gehitu aplikazioaren>erregistroa.
  3. Bete Erregistratu eskaera orria:
    1. Izena - Eman aplikazioari izen ezaguna esaterako, adibidez, Power Platform Admin SDK.
    2. Onartutako kontu motak - Hautatu Maizter bakarra soilik - <zure enpresaren izena>.
    3. Birbideratze URIA - Saltatu hau oraingoz. 3. urratsean konfiguratu behar da.
  4. Hautatu Erregistratu aplikazioa sortzeko. Erregistroa amaitutakoan, kontuan hartu Aplikazioaren (bezeroaren) IDa eta Direktorioa (maizterra) IDa ikuspegi orokorreko orrian.

Erregistroa ere sor dezakezu Azure CLI erabiliz:

az login

az ad app create --display-name "Power Platform Admin SDK" --sign-in-audience AzureADMyOrg

Komandoak JSON objektu bat itzultzen du. Kontuan hartu balioa appId : balio hau zure bezeroaren IDa da.

2. urratsa. Konfiguratu API baimenak

Zure aplikazio berriaren erregistroan, joan Kudeatu - API baimenak fitxara. Konfiguratu baimenak atalean, hautatu Gehitu baimena. Elkarrizketa-koadroan, hautatu nire erakundeak erabiltzen dituen APIak fitxa eta, ondoren, bilatu Power Platform APIa. Baliteke honi antzeko izena duten hainbat sarrera ikustea, beraz, ziurtatu GUID 8578e004-a5c6-46e7-913e-12f58912df43 erabiltzen duzula.

GUIDen bidez bilatzean Power Platform APIa zerrendan bistaratzen ikusten ez baduzu, baliteke oraindik sarbidea izatea, baina ikusgaitasuna ez da freskatuko. Freskatzea behartzeko, exekutatu ondorengo scripta:

#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"

Hemendik aurrera, hautatu behar dituzun baimenak. Baimen hauek izen-espazioen arabera taldekatzen dira. Izen-espazio baten barruan, baliabide motak eta ekintzak ikusten dituzu, hala nola AppManagement.ApplicationPackages.Read, aplikazio-paketeen irakurketa-baimenak ematen dituena. Informazio gehiago nahi izanez gero, ikus Baimenen erreferentziazko artikulua.

Oharra

Power Platform APIak une honetan soilik erabiltzen ditu baimen delegatuak. Erabiltzailearen testuinguru batekin exekutatzen diren aplikazioetarako, eskatu delegatuen baimenak scope parametroa erabiliz. Baimen horiek saioa hasi duen erabiltzailearen pribilegioak delegatzen dituzte zure aplikazioan, beraz, erabiltzaile gisa jardun dezake Power Platform APIaren amaierako puntuak deitzerakoan.

Zerbitzu nagusien identitateetarako, ez erabili aplikazioen baimenak. Horren ordez, aplikazioaren erregistroa sortu ondoren, esleitu RBAC rol bat esparruko baimenak emateko (adibidez , Laguntzailea edo Irakurlea). Informazio gehiago nahi izanez gero, ikus Tutoriala: Esleitu RBAC rolak zerbitzu nagusiei.

Aplikazioari beharrezko baimenak gehitu ondoren, hautatu Eman administratzailearen baimena konfigurazioa osatzeko. Administratzailearen baimena emanez, maizterreko erabiltzaile guztien baimenak baimentzen dituzu, zure aplikazioa erabiltzen duten lehen aldian adostasun elkarrizketa-koadro interaktibo bat eskatu ez dezaten. Erabiltzaile bakoitzeko adostasun interaktiboa nahiago baduzu, jarraitu Microsoft identitate plataforma eta OAuth 2.0 baimen-kodearen fluxua.

Administratzailearen baimena ere eman dezakezu Azure CLI erabiliz:

# Replace <app-id> with your application (client) ID
az ad app permission admin-consent --id <app-id>

3. urratsa. Konfiguratu plataforma eta birbideratze URIa

Erabiltzaile baten izenean autentifikatzen diren SDK, PowerShell scriptek eta mahaigaineko aplikazioek birbideratze URI bat behar dute, Microsoft Entra-k tokenak zure aplikaziora itzuli ahal izateko autentifikatu ondoren.

  1. Zure aplikazioaren erregistroan, joan Kudeatu - Autentifikazioa.

  2. Hautatu Gehitu birbideratze URIa, eta aukeratu Mugikorretarako eta mahaigaineko aplikazioak.

  3. Hautatu birbideratze integratuaren URI hau:

    https://login.microsoftonline.com/common/oauth2/nativeclient

  4. Hautatu Konfiguratu gordetzeko .

Birbideratze URIa ere gehi dezakezu Azure CLI erabiliz:

# 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

Bezeroaren ezarpen publikoa

Autentifikazio fitxa bereko ezarpen aurreratuak atalean, Baimendu bezeroen fluxu publikoak txandakatzea. Ezarri txandakabe hau Bai gisa soilik Baliabidearen Jabearen Pasahitzaren Kredentzialak (ROPC) fluxua erabiltzeko asmoa baduzu, erabiltzaile-izena eta pasahitza zuzenean bidaltzen baititu token eskaeraren gorputzean.

Fluxu honek ez du funtzionatzen faktore anitzeko autentifikazioa gaituta duten kontuentzat. Arakatzaile interaktiboen edo gailuaren kode-fluxuen kasuan, ez duzu ezarpen hau gaitu beharrik.

4. urratsa. (Aukerakoa) Konfiguratu ziurtagiriak eta sekretuak

Zure aplikazioak irakurketa eta idazketa baliabideak behar baditu, zerbitzu nagusi gisa ere ezaguna, autentifikatzeko bi modu daude. Ziurtagiriak erabiltzeko, joan Administratu - Ziurtagiriak eta sekretuak. Ziurtagiriak atalean, kargatu x509 ziurtagiri bat, autentifikatzeko erabil dezakezuna.

Bestela, Sekretuak atala bezeroaren sekretua sortzeko. Gorde sekretua toki seguru batean, zure automatizazio beharrekin erabiltzeko. Ziurtagiri edo sekretu aukerek Microsoft Entra-rekin autentifikatu eta bezero honentzako token bat jasotzeko aukera ematen dizute, REST APIetara edo PowerShell cmdlet-etara pasatzen dena.

5. urratsa. Kontsultatu sarbide-token bat

Sarbide-eramailearen token bat bi modutara lor dezakezu: bata erabiltzaile-izena eta pasahitza da, eta bestea zerbitzu-nagusientzat.

Erabiltzaile-izena eta pasahitzaren fluxua

Ziurtatu bezero publikoaren atala irakurtzen duzula. Ondoren, bidali POST eskaera HTTP bidez Microsoft Entra ID erabiltzaile-izen eta pasahitz karga batekin.

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

Aurreko adibideak zure bezero-aplikaziotik Microsoft Entra IDan berreskuratu ditzakezun leku-markak ditu. Power Platform APIra ondorengo deiak egiteko erabil dezakezun erantzuna jasoko duzu.

{
  "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..."
}

Erabili access_token balioa ondorengo deietan Power Platform APIa erabiliz Baimena HTTP goiburua.

Zerbitzu-fluxu nagusia

Ziurtatu Konfiguratu ziurtagiriak eta sekretuak atala irakurtzen duzula. Ondoren, bidali POST eskaera HTTP bidez Microsoft Entra ID bezeroaren karga sekretu batekin. Autentifikazio-metodo horri askotan autentifikazio nagusi gisa ezagutzen da.

Garrantzitsua

Zerbitzu-nagusiaren autentifikazioa erabili aurretik, bete artikulu honetako 1-4 urratsak zure aplikazioaren erregistroa ziurtagiri edo bezeroaren sekretu batekin sortu eta konfiguratzeko. Ondoren, esleitu zerbitzu nagusiari RBAC rol bat sarbide maila kontrolatzeko. Gehiago jakiteko, ikus Tutoriala: Esleitu RBAC rolak zerbitzu nagusiei.

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

Aurreko adibideak zure bezero-aplikaziotik Microsoft Entra IDan berreskuratu ditzakezun leku-markak ditu. Power Platform APIra ondorengo deiak egiteko erabil dezakezun erantzuna jasoko duzu.

{
  "token_type": "Bearer",
  "expires_in": 3599,
  "ext_expires_in": 3599,
  "access_token": "eyJ0eXAiOiJKV1..."
}

Erabili access_token balioa ondorengo deietan Power Platform APIa erabiliz Baimena HTTP goiburua. Zerbitzu nagusiaren baimen eraginkorrak RBAC rolaren arabera zehazten dira. Rol bat nola esleitu jakiteko, ikus Tutoriala: Esleitu RBAC rolak zerbitzu nagusiei.

Hasiera azkarra Azure CLI

Ondorengo script-ak aplikazioaren erregistroa sortzen du muturretik muturrera. Exekutatu komando bakoitza ordenan, eta ordeztu leku-markaren balioak zureekin.

# 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

Komando hauek exekutatu ondoren, zure aplikazioaren erregistroa erabil dezakezu SDKekin, PowerShell-ekin edo zuzeneko REST deiekin. Parametroaren --api-permissions baimen-IDak bilatzeko, ikus Baimenen erreferentzia.

Ohiko arazoak konpontzea

Errore hau gertatzen da administratzaileak zure aplikazioaren erregistroan APIaren baimenak onartzen ez dituenean. Joan aplikazioen erregistroetara zure aplikazioaren>>APIaren baimenak eta hautatu Eman administratzailearen baimena.

Bestela, exekutatu:

az ad app permission admin-consent --id <app-id>

"Erabiltzailea ez zaio aplikazioaren rol bati esleitu" erroreak

Errore honek esan nahi du zure aplikazioaren erregistroarekin lotutako enpresa-aplikazioak erabiltzailearen esleipena beharrezkoa duela Bai, ezarrita. Ezarpen hau gaituta dagoenean, aplikazioari espresuki esleitutako erabiltzaileek edo taldeek soilik saioa hasi ahal izango dute. Errore hau konpontzeko, egin ekintza hauetako bat:

  • Joan Microsoft Entra ID>Enterprise aplikazioetara> zure aplikazioaren >propietateak eta ezarri Esleipena beharrezkoaEz.
  • Gehitu dagozkien erabiltzaileak edo segurtasun-taldeak Erabiltzaileak eta taldeak atalean.

Sarbidea blokeatzen duten baldintzapeko sarbide-politikak

Zure erakundeak baldintzapeko sarbide-politikak aplikatzen baditu, zure aplikazioaren erregistrorako tokenak eskuratzea blokeatu dezakete. Arrazoi arruntak gailuen betetze eskakizunak, kokapen-murrizketak edo arriskuan oinarritutako politikak dira. Lan egin Microsoft Entra-ko administratzailearekin zure aplikazioaren erregistroa politikatik kanpo uzteko edo bezeroek politikaren baldintzak betetzen dituztela ziurtatzeko.

"Power Platform API" ez da aurkitu API hautatzailean

API baimenen elkarrizketa-koadroan Power Platform APIa izenez edo GUID bidez bilatzeak ez badu emaitzarik ematen, zerbitzu-nagusia ez da zure maizterrean sortuko. Jarraitu 2. urratseko urratsak sortzeko.

Autentifikatu Power Platform SDK-ekin eta PowerShell-ekin

Ondorengo adibideek erakusten dute nola autentifikatu eta API dei adibide bat egin SDK eta PowerShell bakoitza erabiliz. Adibide hauek exekutatu aurretik, bete artikulu honetako 1-3 urratsak zure aplikazioaren erregistroa sortzeko eta konfiguratzeko.

Autentifikazio interaktiboa (erabiltzaile delegatua)

Autentifikazio interaktiboak arakatzailearen leiho bat irekitzen du erabiltzaileak saioa hasteko. Fluxu honek hobeto funtzionatzen du garatzaileen scriptetan, administrazio-tresnetan eta erabiltzaile bat dagoen edozein agertokitan.

# 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

Bezero konfidentziala (zerbitzu nagusia)

Bezeroaren autentifikazio konfidentzialak bezeroaren sekretua edo ziurtagiria erabiltzen du, eta ez du erabiltzailearen interakziorik behar. Autentifikazio-fluxu hau onena da atzeko planoko zerbitzuetarako, kanalizazioetarako eta automatizaziorako.

Garrantzitsua

Zerbitzu nagusiaren autentifikazioa erabili aurretik, bete goiko 1-4 urratsak zure aplikazioaren erregistroa ziurtagiri edo bezeroaren sekretu batekin sortu eta konfiguratzeko. Ondoren, esleitu zerbitzu nagusiari RBAC rol bat sarbide maila kontrolatzeko. Informazio gehiago nahi izanez gero, ikus Tutoriala: Esleitu RBAC rolak zerbitzu nagusiei.

$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

Tutoriala: Esleitu RBAC rolak zerbitzu-nagusiei
Power Platform-en administrazio zentrorako roletan oinarritutako sarbide-kontrola
Baimenen erreferentzia