Kongsi melalui


Mencipta aplikasi prinsipal perkhidmatan dengan menggunakan PowerShell

Pengesahan melalui nama pengguna dan kata laluan biasanya tidak sesuai, terutamanya dengan peningkatan pengesahan berbilang faktor. Dalam kes sedemikian, pengesahan prinsipal perkhidmatan (atau aliran kelayakan klien) diutamakan. Ini boleh dilakukan dengan kedua-duanya mendaftarkan permohonan utama perkhidmatan baharu di penyewa anda sendiri Microsoft Entra dan kemudian mendaftarkan permohonan yang sama dengan Power Platform.

Mendaftarkan aplikasi pengurusan pentadbir

Pertama, permohonan pelanggan perlu didaftarkan di penyewa anda Microsoft Entra . Untuk menetapkan ini, semak semula artikel Pengesahan untuk API Power Platform kerana persediaan aplikasi yang sama diperlukan untuk PowerShell.

Selepas permohonan pelanggan anda didaftarkan dalam Microsoft Entra ID, ia juga perlu didaftarkan Microsoft Power Platform. Hari ini, tiada cara untuk melakukan ini melalui pusat pentadbir Power Platform; ia mesti dilakukan dengan pengaturcaraan melalui API Power Platform atau PowerShell untuk pentadbir Power Platform. Prinsipal perkhidmatan tidak boleh mendaftarkannya sendiri—mengikut reka bentuk, aplikasi mesti didaftarkan oleh konteks nama pengguna dan kata laluan pentadbir. Ini memastikan bahawa aplikasi dicipta oleh seseorang yang merupakan pentadbir untuk penyewa.

Untuk mendaftar aplikasi pengurusan baharu, gunakan skrip berikut:

$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

Buat permintaan sebagai prinsipal perkhidmatan

Kini ia telah didaftarkan dengan Microsoft Power Platform, anda boleh mengesahkan sebagai prinsipal perkhidmatan sendiri. Gunakan skrip berikut untuk pertanyaan bagi senarai persekitaran anda.

$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

Had prinsipal perkhidmatan

Pada masa ini, pengesahan prinsipal perkhidmatan berfungsi untuk pengurusan persekitaran, tetapan penyewa dan pengurusan Power Apps. Cmdlet yang berkaitan dengan Flow disokong untuk pengesahan prinsipal perkhidmatan dalam situasi di mana lesen tidak diperlukan, kerana tidak mungkin untuk memperuntukkan lesen kepada identiti prinsipal perkhidmatan dalam Microsoft Entra ID.

Aplikasi prinsipal perkhidmatan dilayan dalam keadaan serupa Power Platform dengan cara pengguna biasa dengan peranan Pentadbir yang Power Platform diberikan. Peranan dan kebenaran terperinci tidak boleh diperuntukkan untuk mengehadkan keupayaan mereka. Aplikasi ini tidak mendapat sebarang peranan khas yang diberikan dalam Microsoft Entra ID, kerana ini adalah cara perkhidmatan platform menangani permintaan yang dibuat oleh prinsipal perkhidmatan.