Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ha a Power Platform felügyelt identitását használja, a Dataverse beépülő moduljai vagy beépülőmodul-csomagjai anélkül csatlakozhatnak Azure-erőforrásokhoz, hogy hitelesítő adatokat kellene kezelniük. Ez a cikk az ajánlott (2. verzió) beállítást ismerteti, amely a tanúsítvány teljes megkülönböztető nevének (DN) kivonatából hozza létre az összevont identitás hitelesítő adatait (FIC).
Note
A Power Platform által felügyelt identitás 2- es verziójának használata minden új és meglévő beépülő modulhoz. Ha olyan beépülő modult tart fenn, amely továbbra is az 1-es (CN-alapú) formátumot használja, tekintse meg a felügyelt identitás 1-es verziójának beállításával kapcsolatos témakört. Meglévő beépülő modul 2-es verzióra való áthelyezéséhez lásd: Frissítés a 2- es verzióra.
Miért a 2- es verzió?
A 2. verzió rögzített hosszúságú, csak ASCII-tulajdonosazonosítót hoz létre, így bármilyen tanúsítványnévvel működik. Az 1. verzió bizonyos tanúsítványneveken (CN-eken) meghiúsul:
-
A CN nem ASCII karakterei (például ékezetes betűk) →
AADSTS70050: The Federated Managed Identity path is not properly formatted. -
Vesszők a CN -ben (például
CN=Contoso, Inc.) →AADSTS700213: No matching federated identity record found.
Prerequisites
- Egy Azure előfizetés, amely hozzáféréssel rendelkezik a felhasználó által hozzárendelt felügyelt identitás (UAMI) kiépítéséhez vagy az alkalmazásregisztrációhoz.
- Beépülő modulokhoz vagy beépülő csomagokhoz készült eszközök:
- Integrált fejlesztési környezet (IDE), például Visual Studio, beépülő modul létrehozásához
- Beépülőmodul regisztrációs eszköz
- SignTool.exe (Aláíró eszköz) a beépülő modul szerelvényének aláírásához
- Power Platform parancssori felület
- Érvényes tanúsítvány a beépülő modul szerelvényének aláírásához.
Felügyelt identitás beállítása
- Hozzon létre egy új alkalmazásregisztrációt vagy felhasználó által hozzárendelt felügyelt identitást.
- Hozza létre, jelentkezzen be és regisztrálja a beépülő modult.
- Konfigurálja az összevont identitás hitelesítő adatait.
- Hozza létre a felügyelt identitásrekordot a Dataverse-ben.
- Adjon hozzáférést a Azure erőforráshoz.
- Ellenőrizze az integrációt.
1. lépés: Alkalmazásregisztráció vagy felhasználó által hozzárendelt felügyelt identitás létrehozása
Hozzon létre egy felhasználó által hozzárendelt felügyelt identitást vagy egy alkalmazást a Microsoft Entra ID:
- A beépülő modulhoz társított alkalmazásidentitáshoz (Azure szabályzatok alkalmazása érdekében) használja az alkalmazásregisztrációt.
- Alkalmazáspéldány esetén ki kell építenie egy felhasználó által hozzárendelt felügyelt identitást.
Note
Rögzítse az alkalmazás (ügyfél) azonosítóját és a bérlőazonosítót – ezeket a későbbi lépésekben használhatja.
2. lépés: A beépülő modul létrehozása, aláírása és regisztrálása
Hozzon létre egy bővítményt a Visual Studióban. Használja az 1. lépésben szereplő bérlőazonosítót és egy olyan hatókört, mint a
https://{OrgName}.crm*.dynamics.com/.default. Használja az IManagedIdentityService szolgáltatást token kéréséhez:string AcquireToken(IEnumerable<string> scopes);Írja alá a bővítményt a tanúsítványával.
Bővítménycsomag (NuGet):
nuget sign YourPlugin.nupkg ` -CertificatePath MyCert.pfx ` -CertificatePassword "MyPassword" ` -Timestamper http://timestamp.digicert.comBeépülőmodul-összeállítás (SignTool):
signtool sign /f MyCert.pfx /p MyPassword /t http://timestamp.digicert.com /fd SHA256 MyAssembly.dllRegisztrálja a beépülő modult a beépülő modul regisztrációs eszközével.
Note
Csak fejlesztéshez vagy teszteléshez használjon önaláírt tanúsítványt. Ne használjon önaláírt tanúsítványokat éles környezetben. A létrehozáshoz tekintse meg az önaláírt tanúsítvány létrehozása című témakört.
3. lépés: Az összevont identitás hitelesítő adatainak konfigurálása
Az Azure Portalon nyissa meg az alkalmazását vagy a felhasználó által hozzárendelt felügyelt identitást (UAMI), majd lépjen a Tanúsítványok és titkos kulcsok>Szövetségi hitelesítő adatok>Hitelesítő adat hozzáadása elemre, és válassza a Másik kibocsátó lehetőséget. Ezután írja be a következőt:
Kiállító –
https://login.microsoftonline.com/{tenantID}/v2.0Típus – Explicit tárgyazonosító
Tulajdonosazonosító – használja a tanúsítványtípus formátumát:
Megbízható kiállítói tanúsítvány (éles):
/eid1/c/pub/t/{encodedTenantId}/a/qzXoWDkuqUa3l6zM5mM0Rw/n/plugin/e/{environmentId}/i/{issuerHash}/s/{subjectHash}Önaláírt tanúsítvány (csak fejlesztés esetén):
/eid1/c/pub/t/{encodedTenantId}/a/qzXoWDkuqUa3l6zM5mM0Rw/n/plugin/e/{environmentId}/h/{hash}
Szegmenshivatkozás
Szegmens Leírás eid1Identitásformátum verziója c/pubFelhőkód a nyilvános felhőhöz, a GCC-hez és az első kiadási állomáshoz a GCC-ben t/{encodedTenantId}Bérlőazonosító. Lásd : A kódolt bérlőazonosító lekérése a/qzXoWDkuqUa3l6zM5mM0Rw/Csak belső használatra. Ne módosítsd n/pluginBeépülő modul összetevő e/{environmentId}Környezet azonosítója i/{issuerHash}s/{subjectHash}SHA-256 Base64URL kivonat a teljes kiállító/tulajdonos megkülönböztető névről. Lásd: A kiállító és az alany hashértékeinek kiszámítása h/{hash}SHA-256 a tanúsítványból (csak önaláírt)
Számítsa ki a kiállító és az alany hashértékeit
Készítse el a teljes kiállítói és alanyi DN-karakterláncok SHA-256 kivonatát pontosan úgy, ahogyan a tanúsítványban szerepelnek, majd mindegyiket URL-biztos Base64 formában kódolja. A DN-karakterláncok lekérése a következőkkel:
$cert = Get-PfxCertificate -FilePath "path\to\your.pfx"
Write-Host "Issuer: $($cert.Issuer)"
Write-Host "Subject: $($cert.Subject)"
A kivonatok kiszámítása (PowerShell):
function Get-Sha256Base64Url {
param([string]$InputString)
$bytes = [System.Text.Encoding]::UTF8.GetBytes($InputString)
$sha256 = [System.Security.Cryptography.SHA256]::Create()
$hash = $sha256.ComputeHash($bytes)
$base64 = [Convert]::ToBase64String($hash)
return $base64.Replace('+', '-').Replace('/', '_').TrimEnd('=')
}
$issuerHash = Get-Sha256Base64Url -InputString "<full issuer DN string>"
$subjectHash = Get-Sha256Base64Url -InputString "<full subject DN string>"
Write-Host "Issuer Hash: $issuerHash"
Write-Host "Subject Hash: $subjectHash"
Vagy C#-ban:
using System.Security.Cryptography;
using System.Text;
static string ComputeSha256Base64Url(string input)
{
using var sha256 = SHA256.Create();
byte[] hashBytes = sha256.ComputeHash(Encoding.UTF8.GetBytes(input));
return Convert.ToBase64String(hashBytes)
.Replace('+', '-')
.Replace('/', '_')
.TrimEnd('=');
}
A kimenet egy 43 karakteres karakterlánc, amely kizárólag A-Z, a-z, 0-9, - és _ elemeket tartalmaz.
Important
Használja a futtatókörnyezet által használt pontos DN-karakterláncot (a .NET X509Certificate2.Issuer és X509Certificate2.Subject tulajdonságait). A másképp formázott DN nem fog egyezni, és meghiúsul a(z) AADSTS700213 elemmel.
Note
A nyilvános felhőn kívüli üzemelő példányok esetében állítson be felhőspecifikus értékeket. Lásd: Specializált Azure felhőkörnyezetek.
4. lépés: A felügyelt identitásrekord létrehozása a Dataverse-ben
HTTP POST-kérés küldése REST-ügyféllel. A 2-es verzióhoz állítsa a(z) version értékét erre: 2.
POST https://<<orgURL>>/api/data/v9.0/managedidentities
{
"applicationid": "<<appId>>",
"managedidentityid": "<<anyGuid>>",
"credentialsource": 2,
"subjectscope": 1,
"tenantid": "<<tenantId>>",
"version": 2
}
Ezután kösse a beépülő modul szerelvényét (vagy csomagját) a rekordhoz:
PATCH https://<<orgURL>>/api/data/v9.0/pluginassemblies(<<PluginAssemblyId>>)
{
"managedidentityid@odata.bind": "/managedidentities(<<ManagedIdentityGuid>>)"
}
Beépülő modulcsomag esetén használja pluginpackages(<<PluginPackageId>>) helyette.
5. lépés: Hozzáférés biztosítása az Azure erőforráshoz
Adjon hozzáférést az alkalmazásnak vagy a felhasználó által hozzárendelt felügyelt identitásnak a szükséges Azure erőforráshoz, például Azure Key Vault.
6. lépés: Az integráció ellenőrzése
Indítsa el a bővítményt, és győződjön meg arról, hogy megszerzi a tokent, és külön hitelesítő adatok nélkül hozzáfér az Azure-erőforráshoz.
Frissítés a 2- es verzióra
Ha rendelkezik beépülő modulval a 0-s vagy az 1-es verzióban, a beépülő modul újraépítése vagy újbóli regisztrálása nélkül áthelyezheti a 2- es verzióra.
1. lehetőség: A Power Platform parancssori felülete
Note
A CLI által felügyelt identitás-parancsai nem működnek Linux-alapú operációs rendszereken, illetve felhasználó által hozzárendelt felügyelt identitással (UAMI). Ha a parancssori felület nem működik a tanúsítványhoz, használja a 2. lehetőséget: Manuális.
- Telepítse a Power Platform CLI 2.8.1-es vagy újabb verzióját. Lásd: Microsoft Power Platform parancssori felület telepítése.
- Hitelesítési profil létrehozása:
pac auth create - Ellenőrizze az aktuális verziót:
pac managed-identity show-fic --environment <orgUrl> --component-type PluginAssembly --component-id <pluginAssemblyId> --version 2 - Frissítés:
pac managed-identity upgrade-version --environment <orgUrl> --component-type PluginAssembly --component-id <pluginAssemblyId> --target-version 2 --confirm - Aktiválja a beépülő modult az ellenőrzéshez.
2. lehetőség: Manuális
Számítsa ki a 2-es verziójú kiállító- és alanykivonatokat. Lásd: A kiállító és az alany hash-einek kiszámítása.
Adjon hozzá egy új FIC-t a 2-es verziójú tulajdonosazonosító formátumával (3. lépés).
Frissítse a felügyelt identitásrekordot a 2. verzióra:
PATCH https://<<orgURL>>/api/data/v9.0/managedidentities(<<ManagedIdentityId>>){ "version": 2 }Indítsa el a bővítményt, és ellenőrizze, hogy a token beszerzése sikeres-e.
Távolítsa el a régi 1-es verziójú FIC-t.
Note
A 0-s verzió elavult. A 2- es verziójú FIC létrehozásának parancssori felületi támogatása folyamatban van.
Reference
A kódolt bérlőazonosító lekérése
A kódolt bérlőazonosító a bájtokká konvertált és Base64URL formátumban kódolt bérlői GUID (nem standard Base64):
$tenantId = "<your-tenant-guid>"
$tenantGuid = [System.Guid]::Parse($tenantId)
$tenantBytes = $tenantGuid.ToByteArray()
$base64 = [System.Convert]::ToBase64String($tenantBytes)
$encodedTenantId = $base64.Replace('+', '-').Replace('/', '_').TrimEnd('=')
$encodedTenantId
Önaláírt tanúsítvány létrehozása
Csak fejlesztéshez vagy teszteléshez:
$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
Számítsa ki a saját aláírású {hash}-t (SHA-256 a(z) .cer alapján; ha szükséges, először exportálja egy .pfx-ből):
CertUtil -hashfile <CertificateFilePath> SHA256
$cert = Get-PfxCertificate -FilePath "path\to\your.pfx"
$cert.RawData | Set-Content -Encoding Byte -Path "extracted.cer"
Speciális Azure felhőkörnyezetek
A Célközönség, a Kiállító URL-címe és a Tárgy előtag explicit beállítása nyilvános felhőn, GCC-n és első kiadási állomáson kívüli üzembe helyezéskor a GCC-ben.
| Felhő | Közönség | Kiállító URL-címe | Tárgyelőtag |
|---|---|---|---|
| GCC High és DoD | api://AzureADTokenExchangeUSGov |
https://login.microsoftonline.us |
/eid1/c/usg |
| Mooncake (Kína) | api://AzureADTokenExchangeChina |
https://login.partner.microsoftonline.cn |
/eid1/c/chn |
| US National (USNAT) | api://AzureADTokenExchangeUSNat |
https://login.microsoftonline.eaglex.ic.gov |
/eid1/c/uss |
| US Secure (USSec) | api://AzureADTokenExchangeUSSec |
https://login.microsoftonline.scloud |
/eid1/c/usn |
Note
A Célközönség érték megkülönbözteti a kis- és nagybetűket. A nyilvános felhő, a GCC és a GCC első kiadási állomása esetében az alapértelmezett értékek a Célközönség api://AzureADTokenExchange, a Kiállító https://login.microsoftonline.comés a Tárgy előtag /eid1/c/pub.
Gyakori kérdések (GYIK)
Hogyan oldhatom fel a AADSTS700213: Nem található egyező összevont identitásrekord?
A futtatókörnyezetben kiszámított tulajdonosazonosító nem egyezik az alkalmazás egyetlen FIC-ével sem. Ellenőrizze ezt:
- Konfigurálta és mentette a FIC-t.
- A kiállító és a tárgy megegyezik a 3. lépés formátumával. A hibaveremben a várt formátum is megtalálható.
- A rekord
version2, a FIC pedig a 2-es verziójú hashformátumot használja. - A kivonat kiszámítása a futtatókörnyezet DN-sztringjéből (
X509Certificate2.Issuer/X509Certificate2.Subject) történik. - A kiállító
https://login.microsoftonline.com/{tenantId}/v2.0, a közönség pedigapi://AzureADTokenExchange(megkülönbözteti a kis- és nagybetűket).
Hogyan oldhatom meg az AADSTS70050 hibát: A föderált felügyelt identitás útvonalának formátuma nem megfelelő?
A tárgyazonosító olyan karaktereket tartalmaz, amelyek az identitásszolgáltató által nem elfogadottak – leggyakrabban nem ASCII-karakterek az 1. verzióban lévő CN-tanúsítványban. A 2. verzió kizárólag ASCII-karaktereket tartalmazó alanyazonosítót állít elő, és kiküszöböli ezt a hibát.
Hogyan háríthatom el a "Nem lehet elérni vagy csatlakozni a Power Platformhoz" hibát?
Annak érdekében, hogy a Power Platform-végpontok elérhetők és engedélyezhetők legyenek, tekintse meg a Power Platform URL-címeit és IP-címtartományait.