Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Identitas terkelola Power Platform memungkinkan plug-in Dataverse atau paket plug-in terhubung dengan sumber daya Azure untuk mendukung identitas terkelola tanpa perlu kredensial. Artikel ini membantu Anda menyiapkan identitas terkelola di lingkungan Power Platform Anda.
Prasyarat
- Langganan Azure dengan akses untuk menyediakan identitas terkelola yang ditetapkan oleh pengguna (UAMI) atau pendaftaran aplikasi.
- Alat untuk plug-in atau paket plug-in:
- Lingkungan Pengembangan Terintegrasi (IDE), seperti Visual Studio, untuk membangun plug-in
- Alat registrasi Plugin
- SignTool.exe (Alat tanda tangan ) untuk menandatangani rakitan plug-in
- Power Platform CLI
- Sertifikat yang valid untuk menandatangani rakitan plug-in.
Menyiapkan identitas terkelola
Untuk mengonfigurasi identitas terkelola Power Platform untuk plug-in Dataverse atau paket plug-in, selesaikan langkah-langkah berikut.
- Buat pendaftaran aplikasi baru atau identitas terkelola yang ditetapkan pengguna.
- Konfigurasikan kredensial identitas federasi.
- Membuat dan mendaftarkan plug-in atau paket plug-in untuk Dataverse.
Pastikan untuk membuat rakitan plug-in dan mendaftarkan plug-in atau paket plug-in. - Buat rekaman identitas terkelola di Dataverse.
- Berikan akses ke sumber daya Azure ke aplikasi atau identitas terkelola yang ditetapkan pengguna (UAMI).
- Validasi integrasi plug-in.
Buat pendaftaran aplikasi baru atau identitas terkelola yang ditetapkan pengguna
Anda dapat membuat identitas terkelola yang ditetapkan pengguna atau aplikasi di Microsoft Entra ID berdasarkan skenario berikut.
- Jika Anda ingin identitas aplikasi yang terkait dengan plug-in yang tersambung ke sumber daya Azure, seperti Azure Key Vault, gunakan pendaftaran aplikasi . Dengan identitas aplikasi, Anda dapat menerapkan kebijakan Azure pada plug-in yang mengakses sumber daya Azure.
- Jika Anda ingin perwakilan layanan mengakses sumber daya Azure, seperti Azure Key Vault, Anda dapat menyediakan identitas terkelola yang ditetapkan pengguna.
Catatan
Pastikan untuk mencatat ID berikut karena Anda akan menggunakannya di langkah-langkah berikutnya.
- ID Aplikasi (klien)
- ID Penyewa
Konfigurasikan kredensial identitas federasi
Untuk mengonfigurasi identitas terkelola, buka identitas terkelola yang ditetapkan pengguna atau aplikasi Microsoft Entra ID di portal Azure yang Anda buat di bagian sebelumnya.
- Buka portal Azure.
- Navigasi ke Microsoft Entra ID.
- Pilih App registrations.
- Buka aplikasi yang Anda buat di Menyiapkan identitas terkelola.
- Cari Sertifikat & rahasia.
- Pilih tab Kredensial federasi dan pilih Tambahkan kredensial.
- Pilih penerbit sebagai penerbit lainnya.
- Masukkan informasi berikut:
Penerbit
Gunakan penerbit penyewa v2.0:
https://login.microsoftonline.com/{tenantID}/v2.0
Example
https://login.microsoftonline.com/5f8a1a9f-2e1a-415f-b10c-84c3736a21b9/v2.0
Tipe
Pilih Pengidentifikasi subjek eksplisit.
Identifikasi Subjek
Pilih format yang cocok dengan jenis sertifikat Anda:
Sertifikat swatanda tangan (hanya pengembangan):
/eid1/c/pub/t/{encodedTenantId}/a/qzXoWDkuqUa3l6zM5mM0Rw/n/plugin/e/{environmentId}/h/{hash}Sertifikat penerbit tepercaya (disarankan untuk produksi):
/eid1/c/pub/t/{encodedTenantId}/a/qzXoWDkuqUa3l6zM5mM0Rw/n/plugin/e/{environmentId}/i/{issuer}/s/{certificateSubject}
Referensi segmen
| Segmen | Description |
|---|---|
| eid1 | Versi format identitas |
| c/pub | Kode cloud untuk cloud publik, Government Community Cloud (GCC), dan stasiun rilis pertama di GCC. |
| t/{encodedTenantId} | ID Penyewa |
| a/qzXoWDkuqUa3l6zM5mM0Rw/ | Hanya penggunaan internal. Jangan ubah. |
| n/plugin | Komponen plugin |
| e/{environmentId} | ID Lingkungan |
| h/{hash} | SERTIFIKAT SHA-256 (hanya ditandatangani sendiri) |
| i/{issuer} s/{certificateSubject} |
Detail penerbit tepercaya |
Membuat sertifikat yang ditandatangani sendiri
Setiap plug-in harus memiliki identitas yang dapat diverifikasi, dan sertifikat penandatanganan bertindak sebagai sidik jari unik plug-in. Kode berikut adalah sampel cuplikan PowerShell yang dapat Anda gunakan untuk membuat sertifikat yang ditandatangani sendiri untuk skenario pengembangan atau pengujian. Sebagai referensi, Anda dapat mengikuti dari contoh 3.
$params = @{
Type = 'Custom'
Subject = 'E=admin@contoso.com,CN=Contoso'
TextExtension = @(
'2.5.29.37={text}1.3.6.1.5.5.7.3.4',
'2.5.29.17={text}email=admin@contoso.com' )
KeyAlgorithm = 'RSA'
KeyLength = 2048
SmimeCapabilities = $true
CertStoreLocation = 'Cert:\CurrentUser\My'
}
New-SelfSignedCertificate @params
Catatan
Pengodean untuk {encodedTenantId}
- Konversikan GUID → Hex.
- Konversi Hex → Base64URL (bukan Base64 standar).
Hash yang ditandatangani sendiri
-
Komputasi SHA-256 melalui .cer. Jika Anda memiliki .pfx, ekspor .cer terlebih dahulu:
CertUtil -hashfile <CertificateFilePath> SHA256 $cert = Get-PfxCertificate -FilePath "path o\your.pfx" $cert.RawData | Set-Content -Encoding Byte -Path "extracted.cer"
Layanan cloud Azure khusus
Atur Audiens, URL Penerbit, dan Awalan subjek secara eksplisit saat melakukan penyebaran di luar cloud publik, GCC, dan stasiun rilis pertama di GCC:
| Cloud | Audiens | URL Pengeluar Sertifikat | Awalan subjek |
|---|---|---|---|
| GCC High dan DoD | api://AzureADTokenExchangeUSGov |
https://login.microsoftonline.us |
/eid1/c/usg |
| Mooncake (Tiongkok) | api://AzureADTokenExchangeChina |
https://login.partner.microsoftonline.cn |
/eid1/c/chn |
| Nasional AS (USNAT) | api://AzureADTokenExchangeUSNat |
https://login.microsoftonline.eaglex.ic.gov |
/eid1/c/uss |
| US Secure (USSec) | api://AzureADTokenExchangeUSSec |
https://login.microsoftonline.scloud |
/eid1/c/usn |
Catatan
Nilai Audiens bersifat sensitif huruf besar/kecil dan harus sama persis.
Untuk cloud publik, GCC, dan stasiun rilis pertama di GCC (dan cloud non-daftar lainnya), defaultnya adalah:
Pemirsa api://AzureADTokenExchange, Penerbit https://login.microsoftonline.com, Awalan subjek /eid1/c/pub.
Membuat dan mendaftarkan plug-in Dataverse atau paket plug-in
Buat rakitan Plug-in
Buat plug-in menggunakan Visual Studio. Saat membangun plug-in, gunakan ID penyewa dari Buat pendaftaran aplikasi baru atau identitas terkelola yang ditetapkan pengguna dan cakupan sebagai URL organisasi seperti
https://{OrgName}.crm*.dynamics.com/.defaultatau cakupan yang lebih terperinci.Gunakan IManagedIdentityService dan dapatkan metode token untuk meminta token dengan cakupan yang diberikan.
Tanda tangan metode:
string AcquireToken(IEnumerable<string> scopes);
Pengemasan dan penandatanganan
Menandatangani paket plug-in
Jika Anda membuat paket plug-in, gunakan NuGet Sign CLI untuk menghasilkan paket dari file .nuspec atau .csproj. Setelah membuat paket, tanda tangani dengan sertifikat Anda.
nuget sign YourPlugin.nupkg `
-CertificatePath MyCert.pfx `
-CertificatePassword "MyPassword" `
-Timestamper http://timestamp.digicert.com
Menandatangani rakitan plug-in
Jika Anda mendaftarkan plug-in (assembly), tanda tangani DLL dengan sertifikat dengan menggunakan SignTool.exe (Sign Tool).
signtool sign /f MyCert.pfx /p MyPassword /t http://timestamp.digicert.com /fd SHA256 MyAssembly.dll
Anda dapat secara opsional menambahkan tanda waktu dengan menyediakan URL server tanda waktu yang mematuhi RFC 3161.
Catatan
Gunakan sertifikat yang ditandatangani sendiri hanya untuk tujuan pengembangan atau pengujian. Jangan gunakan sertifikat yang ditandatangani sendiri di lingkungan produksi.
Mendaftarkan plug-in
Instal alat pendaftaran plug-in jika Anda belum memilikinya di komputer Anda. Untuk informasi lebih lanjut, lihat lat pengembangan Dataverse.
Mendaftarkan plug-in. Untuk informasi lebih lanjut, lihat Mendaftarkan plug-in.
Buat rekaman identitas terkelola di Dataverse
Untuk menyediakan catatan identitas terkelola di Dataverse, selesaikan langkah-langkah berikut.
Buat identitas terkelola dengan mengirim permintaan HTTP POST dengan klien REST (seperti Insomnia). Gunakan URL dan isi permintaan dalam format berikut.
POST https://<<orgURL>>/api/data/v9.0/managedidentitiesPastikan untuk mengganti orgURL dengan URL organisasi.
Pastikan credentialsource diatur ke 2 dalam payload, cakupan subjek diatur ke 1 untuk skenario khusus lingkungan, dan versi diatur ke 1 dalam payload.
Sampel payload
{ "applicationid": "<<appId>>", //Application Id, or ClientId, or User Managed Identity "managedidentityid": "<<anyGuid>>", "credentialsource": 2, // Managed client "subjectscope": 1, //Environment Scope "tenantid": "<<tenantId>>", //Entra Tenant Id "version": 1 }Perbarui paket plug-in atau rekaman rakitan plug-in Anda dengan mengeluarkan permintaan PATCH HTTP untuk mengaitkannya dengan identitas terkelola yang dibuat di langkah 1.
Rakitan plug-in
PATCH https://<<orgURL>>/api/data/v9.0/pluginassemblies(<<PluginAssemblyId>>)Paket plug-in
PATCH https://<<orgURL>>/api/data/v9.0/pluginpackages(<<PluginPackageId>>)Sampel payload
{ "managedidentityid@odata.bind": "/managedidentities(<<ManagedIdentityGuid>>)" }Pastikan untuk mengganti orgURL, PluginAssemblyId (atau PluginPackageId), dan ManagedIdentityGuid dengan nilai Anda.
Memberikan akses ke sumber daya Azure ke aplikasi atau identitas terkelola yang ditetapkan pengguna
Jika Anda perlu memberikan akses ke ID aplikasi untuk mengakses sumber daya Azure, seperti Azure Key Vault, berikan akses ke aplikasi atau identitas terkelola yang ditetapkan pengguna ke sumber daya tersebut.
Validasi integrasi plug-in
Verifikasi bahwa plug-in Anda dapat meminta akses dengan aman ke sumber daya Azure yang mendukung identitas terkelola, menghilangkan kebutuhan akan kredensial terpisah.
Pertanyaan Umum
Bagaimana cara menangani kesalahan ini?
Jika Anda menerima kesalahan berikut:
Mendapatkan Kesalahan – Masalah konfigurasi mencegah autentikasi.
AADSTS700213: Tidak ditemukan catatan identitas federasi yang cocok
Selesaikan langkah-langkah berikut untuk mengatasi masalah ini:
Pastikan FIC dikonfigurasi dan disimpan dengan benar.
Verifikasi bahwa penerbit/subjek cocok dengan format yang ditentukan sebelumnya.
Anda juga dapat menemukan format yang diharapkan dalam tumpukan kesalahan.
Bagaimana cara mengatasi kesalahan "Tidak dapat menjangkau atau menyambungkan ke Power Platform"?
Lihat URL Power Platform dan rentang alamat IP guna memastikan titik akhir Power Platform dapat dijangkau dan masuk dalam daftar izin.