Oharra
Baimena behar duzu orria atzitzeko. Direktorioetan saioa has dezakezu edo haiek alda ditzakezu.
Baimena behar duzu orria atzitzeko. Direktorioak alda ditzakezu.
Power Platform kudeatutako identitatea erabiltzen duzunean, Dataverse-ko plug-in-ek edo plug-in paketeek Azure baliabideetara konekta daitezke kredentzialak kudeatu gabe. Artikulu honek gomendatutako (2. bertsioa) konfigurazioa deskribatzen du, non federated identity credential (FIC) eraikitzen den ziurtagiriaren izen bereizgarri osoaren (DN) hash batetik.
Oharra
Erabili Power Platform kudeatutako identitatearen 2. bertsioa plug-in berri eta dauden guztientzat. Plug-in bat mantentzen baduzu oraindik 1. bertsioa (CN oinarritua) formatua erabiltzen duena, ikus Ezarri kudeatutako identitatea 1. bertsioa. Plug-in bat 2. bertsiora mugitzeko, ikusi Eguneratu 2. bertsiora.
Zergatik 2. bertsioa
2. bertsioak luzera finkoko, ASCII soilik duen subjektu identifikatzaile bat sortzen du, beraz, edozein ziurtagiri izenarekin funtzionatzen du. 1. bertsioak huts egiten du zenbait ziurtagiri izenetan (CN):
- CNko ASCII ez diren karaktereak (adibidez, letra azentuak) →
AADSTS70050: The Federated Managed Identity path is not properly formatted. - CNko komak (adibidez,
CN=Contoso, Inc.) →AADSTS700213: No matching federated identity record found.
Aurrebaldintzak
- Azure harpidetza, erabiltzaileak esleitutako kudeatutako identitatea (UAMI) edo aplikazioen erregistroa hornitzeko sarbidearekin.
- Plugin edo plug-in paketeen tresnak:
- Garapen Ingurune Integratua (IDE), Visual Studio bezala, plug-in eraikitzeko
- Pluginak erregistratzeko tresna
- SignTool.exe (Sign Tool) plugin-multzoa sinatzeko
- Power Platform-en CLI
- Pluginaren multzoa sinatzeko baliozko ziurtagiria.
Konfiguratu kudeatutako identitatea
- Sortu aplikazio-erregistro berri bat edo erabiltzaileak esleitutako kudeatutako identitate bat.
- Eraiki, sinatu eta erregistratu plug-ina.
- Federated Identity kredentziala konfiguratu.
- Sortu kudeatutako identitate erregistroa Dataverse-n.
- Azure baliabideari sarbidea eman.
- Egiaztatu integrazioa.
1. urratsa: Sortu aplikazioaren erregistroa edo erabiltzaileak esleitutako kudeatutako identitatea
Sortu erabiltzaileak esleitutako kudeatutako identitate bat edo aplikazio bat Microsoft Entra ID-n:
- Plug-inarekin lotutako aplikazio identitate baterako (Azure politikak aplikatu ahal izateko), erabili aplikazioaren erregistroa.
- Zerbitzu nagusiarentzat, erabiltzaileak esleitutako kudeatutako identitate bat eskaini.
Oharra
Harrapatu Aplikazioaren (bezeroaren) IDa eta Alokairu IDa — hurrengo urratsetan erabiltzen dituzu.
2. urratsa: eraiki, sinatu eta erregistratu plug-ina
Sortu plug-in bat Visual Studio-n. Erabili 1. urratseko tenant ID-a eta . bezalako
https://{OrgName}.crm*.dynamics.com/.defaultesparru bat. Erabili IManagedIdentityService token bat eskatzeko:string AcquireToken(IEnumerable<string> scopes);Sakatu plug-ina zure ziurtagiriarekin.
Plug-in paketea (NuGet):
nuget sign YourPlugin.nupkg ` -CertificatePath MyCert.pfx ` -CertificatePassword "MyPassword" ` -Timestamper http://timestamp.digicert.comPlug-in muntaketa (SignTool):
signtool sign /f MyCert.pfx /p MyPassword /t http://timestamp.digicert.com /fd SHA256 MyAssembly.dll
Oharra
Erabili auto-sinatutako ziurtagiri bat garapen edo probetarako bakarrik. Ez erabili auto-sinatutako ziurtagiriak ekoizpenean. Bat sortzeko, ikusi Sortu auto-sinatutako ziurtagiri bat.
3. urratsa: Federated identity credential konfiguratu
Azure atarian, ireki zure aplikazioa edo erabiltzaileak esleitutako kudeatutako identitatea (UAMI), joan Ziurtagiriak eta>Sekretuak Federatutakokredentzialak >Gehitu, eta hautatu Beste emisorea. Ondoren, sartu:
Emititzailea —
https://login.microsoftonline.com/{tenantID}/v2.0Mota — Subjektu identifikatzaile esplizitua
Subjektu identifikatzailea — erabili zure ziurtagiri motaren formatua:
Fidagarria den jaulkitzaile ziurtagiria (ekoizpena):
/eid1/c/pub/t/{encodedTenantId}/a/qzXoWDkuqUa3l6zM5mM0Rw/n/plugin/e/{environmentId}/i/{issuerHash}/s/{subjectHash}Auto-sinatutako ziurtagiria (garapena soilik):
/eid1/c/pub/t/{encodedTenantId}/a/qzXoWDkuqUa3l6zM5mM0Rw/n/plugin/e/{environmentId}/h/{hash}
Segmentuaren erreferentzia
Segmentua Deskribapenak eid1Identitate-formatuaren bertsioa c/pubHodei kodea hodei publikoaren, GCCrako eta GCCko lehen argitalpen estaziorako t/{encodedTenantId}Alokairudunaren IDa. Ikusi Lortu kodetutako alokairu IDa a/qzXoWDkuqUa3l6zM5mM0Rw/Barne-erabilera soilik. Ez aldatu n/pluginPluginaren osagaia e/{environmentId}Ingurunearen IDa i/{issuerHash}s/{subjectHash}SHA-256 Base64URL hash-a emisore/subjektu osoaren DN-a. Ikusi : Kalkulatu jaulkitzailea eta subjektu hash-ak h/{hash}Ziurtagiriaren SHA-256 (berak bakarrik sinatutako pertsonaia)
Kalkulatu jaulkitzaile eta subjektu hash-ak
Hartu SHA-256 hash-a jaulkitzaile osoaren eta subjektu DN kateak ziurtagirian agertzen diren moduan, eta bakoitza URL seguru Base64 gisa kodetu. Lortu DN kateak:
$cert = Get-PfxCertificate -FilePath "path\to\your.pfx"
Write-Host "Issuer: $($cert.Issuer)"
Write-Host "Subject: $($cert.Subject)"
Kalkulatu hasheak (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"
Edo C#-n:
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('=');
}
Irteera 43 karaktereko kate bat da, , A-Za-z, 0-9, eta -bakarrik _dituena.
Garrantzitsua da
Erabili runtime-ak erabiltzen duen DN kate zehatza (.NET X509Certificate2.Issuer eta X509Certificate2.Subject propietateak). DN formatu desberdin batek ez du bat etorriko eta huts egiten du AADSTS700213.
Oharra
Hodei publikotik kanpoko inplementazioetarako, ezarri hodeiko balio espezifikoak. Ikus Azure hodei ingurune espezializatuak.
4. urratsa: Sortu identitate kudeatuaren erregistroa Dataverse-n
HTTP POST eskaera bat bidali REST bezero bat erabiliz. 2. bertsiorako, ezarri version2.
POST https://<<orgURL>>/api/data/v9.0/managedidentities
{
"applicationid": "<<appId>>",
"managedidentityid": "<<anyGuid>>",
"credentialsource": 2,
"subjectscope": 1,
"tenantid": "<<tenantId>>",
"version": 2
}
Ondoren, lotu plug-in muntaketa (edo paketea) erregistroari:
PATCH https://<<orgURL>>/api/data/v9.0/pluginassemblies(<<PluginAssemblyId>>)
{
"managedidentityid@odata.bind": "/managedidentities(<<ManagedIdentityGuid>>)"
}
Plug-in pakete baterako, erabili pluginpackages(<<PluginPackageId>>) ordez.
5. urratsa: Azure baliabiderako sarbidea eman
Eman aplikazioari edo erabiltzaileak esleitutako kudeatutako identitateari behar duen Azure baliabidera, hala nola Azure Key Vault-era, sarbidea.
6. urratsa: Integrazioa balioztatu
Piztu plug-ina eta baieztatu token bat eskuratzen duela eta Azure baliabidean kredentzial bereizirik gabe iristen dela.
2. bertsiora eguneratzea
0. edo 1. bertsioan plug-in bat baduzu, 2. bertsiora pasa dezakezu plug-ina berreraiki edo berriro erregistratu gabe.
1. Aukera: Power Platform CLI
Oharra
CLI kudeatutako identitate aditzek ez dute funtzionatzen Linux oinarritutako sistema eragileetan edo erabiltzaileak esleitutako kudeatutako identitatearekin (UAMI). CLI ez badago zure ziurtagiriarentzat, erabili 2. aukera: Eskuzkoa.
- Power Platform CLI 2.8.1 bertsioa edo ondorengoa instalatu. Ikusi Microsoft Power Platform CLI instalatzea.
- Sortu autentifikazio profila:
pac auth create - Egungo bertsioa begiratu:
pac managed-identity show-fic --environment <orgUrl> --component-type PluginAssembly --component-id <pluginAssemblyId> --version 2 - Eguneratzea:
pac managed-identity upgrade-version --environment <orgUrl> --component-type PluginAssembly --component-id <pluginAssemblyId> --target-version 2 --confirm - Plug-ina piztu balioztatzeko.
2. Aukera: Eskuz
Kalkulatu 2. bertsioko igorle eta subjektu hash-ak. Ikusi: Kalkulatu jaulkitzailearen eta subjektu hash-ak.
Gehitu FIC berri bat 2. bertsioko gai identifikatzailearen formatuarekin (3. urratsa).
Kudeatutako identitate erregistroa 2. bertsiora eguneratu:
PATCH https://<<orgURL>>/api/data/v9.0/managedidentities(<<ManagedIdentityId>>){ "version": 2 }Plug-ina abiarazi eta token eskuratzea arrakastatsua dela egiaztatu.
Kendu 1 bertsio zaharra FIC.
Oharra
0. bertsioa zaharkituta. 2. bertsioko FIC sortzeko CLI laguntza martxan.
Erreferentzia
Lortu kodetutako alokairu-IDa
Kodetutako alokairu IDa GUID alokairuduna da, byte bihurtua eta Base64URL gisa kodetua (ez Base64 estandarra):
$tenantId = "<your-tenant-guid>"
$tenantGuid = [System.Guid]::Parse($tenantId)
$tenantBytes = $tenantGuid.ToByteArray()
$base64 = [System.Convert]::ToBase64String($tenantBytes)
$encodedTenantId = $base64.Replace('+', '-').Replace('/', '_').TrimEnd('=')
$encodedTenantId
Sortu auto-sinatutako ziurtagiri bat
Garapen edo probetarako bakarrik:
$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
Kalkulatu auto-sinatua {hash} (SHA-256 gainean .cer; behar izanez gero lehenengotik esportatu .pfx ):
CertUtil -hashfile <CertificateFilePath> SHA256
$cert = Get-PfxCertificate -FilePath "path\to\your.pfx"
$cert.RawData | Set-Content -Encoding Byte -Path "extracted.cer"
Azure hodeiko ingurune espezializatuak
Ezarri Audientzia, Emailearen URL-a eta Subjektu aurrizkia argi eta garbi hodei publikoaren kanpoan, GCCn eta lehen argitalpen estazioan inplementatzean.
| Hodeia | Jarraitzaileak | Jaulkitzailearen URLa | Subjektuaren aurrizkia |
|---|---|---|---|
| GCC Goiak eta DoD | api://AzureADTokenExchangeUSGov |
https://login.microsoftonline.us |
/eid1/c/usg |
| Mooncake (Txina) | api://AzureADTokenExchangeChina |
https://login.partner.microsoftonline.cn |
/eid1/c/chn |
| Estatu Batuetako Nazionalitatea (USNAT) | api://AzureADTokenExchangeUSNat |
https://login.microsoftonline.eaglex.ic.gov |
/eid1/c/uss |
| AEBetako Segurua (USSec) | api://AzureADTokenExchangeUSSec |
https://login.microsoftonline.scloud |
/eid1/c/usn |
Oharra
Audientziaren balioa kasualki sentikorra da. Hodei publikorako, GCC eta GCCko lehen argitalpen estaziorako, lehenetsiak Audientzia api://AzureADTokenExchange, Emisorea https://login.microsoftonline.cometa Subjektu aurrizkia /eid1/c/pubdira.
Maiz egiten diren galderak
Nola konpondu dezaket AADSTS700213: Ez da identifikazio federatuaren erregistro bat aurkitu?
Exekuzioan kalkulatutako subjektu identifikatzaileak ez du aplikazioko FIC-arekin bat egiten. Egiaztatu hori:
- FICa konfiguratu eta gorde duzu.
- Emisorea eta gaia 3. urratseko formatuarekin bat datoz. Errore-pilan espero den formatua ere aurki dezakezu.
- Erregistroa
versionda2eta FICak 2. bertsioko hash formatua erabiltzen du. - Hash-a exekuzioko DN katetik kalkulatzen da (
X509Certificate2.Issuer/X509Certificate2.Subject). - Emititzailea da
https://login.microsoftonline.com/{tenantId}/v2.0eta audientziaapi://AzureADTokenExchange(kasu-diferentzia) da.
Nola konpondu dezaket AADSTS70050: Federated Managed Identity bidea ez behar bezala formateatuta?
Subjektu identifikatzaileak identitate hornitzaileak onartzen ez dituen karaktereak ditu — gehienetan 1. bertsioan CN ziurtagiriaren ez-ASCII karaktereak. 2. bertsioak ASCII soilik subjektu identifikatzaile bat sortzen du eta errore hau konpontzen du.
Nola konpondu dezaket "Ezin da Power Platform-era iritsi edo hara konektatu" errorea?
Power Platform-en muturreko puntuak iristeko eta baimenduta daudela ziurtatzeko, ikusi Power Platform URLak eta IP helbide tarteak.