Muistiinpano
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoa.
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoa.
Kun käytät Power Platformin hallittuja käyttäjätietoja, Dataverse-laajennukset tai laajennukset voivat muodostaa yhteyden Azure resursseihin ilman tunnistetietojen hallintaa. Tässä artikkelissa kuvataan suositeltu määritys (versio 2 ), joka luo yhdistettyjen käyttäjätietojen tunnistetiedot (FIC) varmenteen täydellisen Distinguished Name (DN) -nimen hajautuksen perusteella.
Muistio
Käytä Power Platformin hallitseman käyttäjätiedon versiota 2 kaikissa uusissa ja olemassa olevissa laajennuksille. Jos ylläpidät laajennusta, joka käyttää yhä version 1 (CN) muotoa, katso Hallitun käyttäjätietojen version 1 määrittäminen. Jos haluat siirtää olemassa olevan laajennuksen versioon 2, katso Päivitä versioon 2.
Miksi versio 2
Versio 2 tuottaa kiinteän pituisen, VAIN ASCII -aihetunnisteen, joten se toimii minkä tahansa varmenteen nimen kanssa. Versio 1 ei toimi tietyillä varmenteiden nimillä:
- CN:n muut kuin ASCII-merkit (esimerkiksi aksenttimerkit) →
AADSTS70050: The Federated Managed Identity path is not properly formatted. -
Pilkut CN:ssä (esimerkiksi
CN=Contoso, Inc.) →AADSTS700213: No matching federated identity record found.
Edellytykset
- Azure tilaus, jossa on käyttöoikeus valmistelukäyttäjän määrittämään hallittuun käyttäjätietoon (UAMI) tai sovelluksen rekisteröintiin.
- Laajennukset- ja laajennuspakettien työkalut:
- Integroitu kehitysympäristö (IDE), kuten Visual Studio, laajennuksen koostamiseen
- Plug-in Registration Tool
- SignTool.exe (allekirjoitustyökalu) laajennuskokoonpanon allekirjoittamista varten
- Power Platform CLI
- Kelvollinen varmenne liitännäisen koontiversion allekirjoittamiseen.
Hallittujen käyttäjätietojen määrittäminen
- Luo uusi sovellusrekisteröinti tai käyttäjän määrittämät hallitut käyttäjätiedot.
- Luo, allekirjoita ja rekisteröi laajennus.
- Määritä yhdistettyjen käyttäjätietojen tunnistetiedot.
- Luo hallittu käyttäjätietotietue Dataversessa.
- Myönnä käyttöoikeus Azure resurssiin.
- Vahvista integrointi.
Vaihe 1: Luo sovelluksen rekisteröinti tai käyttäjän määrittämät hallitut käyttäjätiedot
Luo joko käyttäjän määrittämät hallitut käyttäjätiedot tai sovellus Microsoft Entra ID:
- Sovelluksen käyttäjätiedoille, jotka liittyvät laajennukseen (jotta voit ottaa käyttöön Azure käytäntöjä), käytä sovelluksen rekisteröintiä.
- Jos kyseessä on palvelun päänimi, valmistele käyttäjän määrittämät hallitut käyttäjätiedot.
Muistio
Sieppaa Sovelluksen (asiakkaan) tunnus ja vuokraajatunnus – voit käyttää niitä myöhemissä vaiheissa.
Vaihe 2: Laajennuksen luominen, allekirjoittaminen ja rekisteröiminen
Luo laajennus Visual Studio. Käytä vuokraajan tunnusta vaiheesta 1 ja sen kaltaisesta
https://{OrgName}.crm*.dynamics.com/.defaultlaajuudesta. Käytä IManagedIdentityService-palvelua tunnuksen pyytämiseen:string AcquireToken(IEnumerable<string> scopes);Allekirjoita laajennus varmenteellasi.
Laajennuspaketti (NuGet):
nuget sign YourPlugin.nupkg ` -CertificatePath MyCert.pfx ` -CertificatePassword "MyPassword" ` -Timestamper http://timestamp.digicert.comLaajennuskokoonpano (SignTool):
signtool sign /f MyCert.pfx /p MyPassword /t http://timestamp.digicert.com /fd SHA256 MyAssembly.dllRekisteröi laajennus laajennuksenrekisteröintityökalun avulla.
Muistio
Käytä itse allekirjoitettua varmennetta vain kehittämiseen tai testaukseen. Älä käytä itse allekirjoitettuja varmenteita tuotannossa. Jos haluat luoda varmenteen, katso Itse allekirjoitetun varmenteen luominen.
Vaihe 3: Yhdistettyjen käyttäjätietojen tunnistetietojen määrittäminen
Avaa Azure-portaalissa sovelluksesi tai käyttäjän määrittämät hallitut käyttäjätiedot (UAMI), siirry kohtaan Varmenteet ja salasanat>Liitetty tunnistetiedot>Lisää tunnistetiedot ja valitse Muu myöntäjä. Kirjoita sitten:
Myöntäjä —
https://login.microsoftonline.com/{tenantID}/v2.0Tyyppi – Eksplisiittinen aihetunniste
Varmenteen aiheen tunniste — käytä varmenteesi tyypin mukaista muotoa:
Luotetun myöntäjän varmenne (tuotanto):
/eid1/c/pub/t/{encodedTenantId}/a/qzXoWDkuqUa3l6zM5mM0Rw/n/plugin/e/{environmentId}/i/{issuerHash}/s/{subjectHash}Itse allekirjoitettu varmenne (vain kehityskäyttöön):
/eid1/c/pub/t/{encodedTenantId}/a/qzXoWDkuqUa3l6zM5mM0Rw/n/plugin/e/{environmentId}/h/{hash}
Segmenttiviittaus
Segmentti Description eid1Tunnusmuodon versio c/pubJulkisen pilvipalvelun, GCC:n ja GCC:n ensimmäisen julkaisuaseman pilvikoodi t/{encodedTenantId}Vuokraajatunnus. Katso Koodatun vuokraajan tunnuksen hankkiminen a/qzXoWDkuqUa3l6zM5mM0Rw/Vain sisäiseen käyttöön. Älä muokkaa n/pluginLaajennusosa e/{environmentId}Ympäristön tunnus i/{issuerHash}s/{subjectHash}TÄYDELLISEN liikkeeseenlaskijan/aiheen DN:n SHA-256 Base64URL -hajautusarvo. Katso Liikkeeseenlaskijan ja subjektin tiivisteiden laskeminen h/{hash}Varmenteen SHA-256 (vain itse allekirjoitettu)
Laske liikkeeseenlaskijan ja kohteen tiivisteet
Ota koko myöntäjän ja aiheen DN-merkkijonojen SHA-256-hajautusarvo sellaisina kuin ne näkyvät varmenteessa, ja koodaa ne kaikki URL-turvallisiksi Base64-base64-tiedostoiksi. Hae DN-merkkijonot käyttäen:
$cert = Get-PfxCertificate -FilePath "path\to\your.pfx"
Write-Host "Issuer: $($cert.Issuer)"
Write-Host "Subject: $($cert.Subject)"
Laske tiivisteet (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"
Tai C#:ssä:
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('=');
}
Tuloksena on 43-merkkinen merkkijono, joka sisältää vain A-Zmerkkijonot , a-z, 0-9, -ja _.
Tärkeää
Käytä runtime-funktion käyttämää tarkkaa DN-merkkijonoa (.NET X509Certificate2.Issuer ja X509Certificate2.Subject ominaisuuksia). Eri tavalla muotoiltu DN ei vastaa ja epäonnistuu :n kanssa AADSTS700213.
Muistio
Määritä julkisten pilvipalvelujen ulkopuolisissa käyttöönotoissa pilvipalvelukohtaiset arvot. Katso Erityiset Azure pilviympäristöt.
Vaihe 4: Luo hallittu käyttäjätietotietue Dataversessa
HTTP POST -pyynnön lähettäminen REST-asiakasohjelman avulla. Jos kyseessä on versio 2, määritä arvoksi version2.
POST https://<<orgURL>>/api/data/v9.0/managedidentities
{
"applicationid": "<<appId>>",
"managedidentityid": "<<anyGuid>>",
"credentialsource": 2,
"subjectscope": 1,
"tenantid": "<<tenantId>>",
"version": 2
}
Sido seuraavaksi laajennuskokoonpano (tai paketti) tietueeseen:
PATCH https://<<orgURL>>/api/data/v9.0/pluginassemblies(<<PluginAssemblyId>>)
{
"managedidentityid@odata.bind": "/managedidentities(<<ManagedIdentityGuid>>)"
}
Käytä sen sijaan laajennuspakettia pluginpackages(<<PluginPackageId>>) .
Vaihe 5: myönnä käyttöoikeus Azure resurssiin
Myönnä sovellukselle tai käyttäjälle määritetty hallittujen käyttäjätietojen käyttöoikeus sen tarvitsemaan Azure resurssiin, kuten Azure Key Vault.
Vaihe 6: Integroinnin vahvistaminen
Käynnistä laajennus ja varmista, että se hankkii tunnuksen ja saavuttaa Azure resurssin ilman erillisiä tunnistetietoja.
Päivitä versioon 2
Jos sinulla on laajennusversio 0 tai versio 1, voit siirtää sen versioon 2 ilman laajennuksen uudelleenmuodostamista tai uudelleenrekisteröimistä.
Vaihtoehto 1: Power Platform CLI
Muistio
Komentorivikäyttöliittymän hallitut käyttäjätietojen verbit eivät toimi Linux-pohjaisissa käyttöjärjestelmissä tai käyttäjän määrittämissä hallituissa käyttäjätiedoissa (UAMI). Jos CLI ei toimi varmenteellesi, käytä Vaihtoehto 2: Manuaalinen.
- Asenna Power Platform CLI -versio 2.8.1 tai uudempi. Katso Komentorivikäyttöliittymän Microsoft Power Platform asentaminen.
- Luo todennusprofiili:
pac auth create - Tarkista nykyinen versio:
pac managed-identity show-fic --environment <orgUrl> --component-type PluginAssembly --component-id <pluginAssemblyId> --version 2 - Päivitys:
pac managed-identity upgrade-version --environment <orgUrl> --component-type PluginAssembly --component-id <pluginAssemblyId> --target-version 2 --confirm - Käynnistä laajennus vahvistettavaksi.
Vaihtoehto 2: Manuaalinen
Laske version 2:n myöntäjän ja subjektin tiivisteet. Katso Liikkeeseenlaskijan ja subjektin tiivisteiden laskeminen.
Lisää uusi FIC,jolla on version 2 aiheen tunnistemuoto (vaihe 3).
Päivitä hallittu käyttäjätietotietue versioon 2:
PATCH https://<<orgURL>>/api/data/v9.0/managedidentities(<<ManagedIdentityId>>){ "version": 2 }Käynnistä laajennus ja varmista, että tunnuksen hankinta onnistuu.
Poista vanha versio 1 FIC.
Muistio
Versio 0 on vanhentunut. CLI-tuki FIC-version 2 luomiselle on käynnissä.
Lähdeaineistot
Hanki koodatun vuokraajan tunnus
Koodattu vuokraajan tunnus on vuokraajan GUID-tunnus, joka on muunnettu tavuiksi ja koodattu Base64URL-muotoon (ei vakiomuotoinen Base64):
$tenantId = "<your-tenant-guid>"
$tenantGuid = [System.Guid]::Parse($tenantId)
$tenantBytes = $tenantGuid.ToByteArray()
$base64 = [System.Convert]::ToBase64String($tenantBytes)
$encodedTenantId = $base64.Replace('+', '-').Replace('/', '_').TrimEnd('=')
$encodedTenantId
Luo itse allekirjoitettu varmenne
Vain kehitystä tai testausta varten:
$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
Laske itseallekirjoitettu {hash} (SHA-256 kohteesta .cer; vie se tarvittaessa ensin kohteesta .pfx):
CertUtil -hashfile <CertificateFilePath> SHA256
$cert = Get-PfxCertificate -FilePath "path\to\your.pfx"
$cert.RawData | Set-Content -Encoding Byte -Path "extracted.cer"
Erityiset Azure-pilviympäristöt
Määritä Kohderyhmä-, Myöntäjän URL-osoite- ja Aihe-etuliite eksplisiittisesti, kun otat käyttöön julkisen pilvipalvelun, GCC:n ja GCC:n ensimmäisen julkaisuaseman.
| Pilvi | Yleisö | Myöntäjän URL-osoite | Aiheen etuliite |
|---|---|---|---|
| GCC High ja DoD | api://AzureADTokenExchangeUSGov |
https://login.microsoftonline.us |
/eid1/c/usg |
| Mooncake (Kiina) | api://AzureADTokenExchangeChina |
https://login.partner.microsoftonline.cn |
/eid1/c/chn |
| Yhdysvaltain kansallinen (USNAT) | api://AzureADTokenExchangeUSNat |
https://login.microsoftonline.eaglex.ic.gov |
/eid1/c/uss |
| US Secure (USSec) | api://AzureADTokenExchangeUSSec |
https://login.microsoftonline.scloud |
/eid1/c/usn |
Muistio
Audience-arvossa erotellaan isot ja pienet kirjaimet. Julkisen pilvipalvelun, GCC:n ja GCC:n ensimmäisen julkaisuaseman oletusasemia ovat Audience api://AzureADTokenExchange, Issuer https://login.microsoftonline.com, Subject-etuliite /eid1/c/pub.
Usein kysyttyjä kysymyksiä
Miten voin ratkaista AADSTS700213: Vastaavaa yhdistettyä käyttäjätietotietuetta ei löytynyt?
Suorituspalvelussa laskettu aihetunniste ei vastaa mitään FIC:ä sovelluksessa. Tarkista, että:
- Määritit ja tallensit FIC:n.
- Myöntäjä ja aihe vastaavat vaiheen 3 muotoa. Löydät myös odotetun muodon virhepinosta.
- Tietue
versionon2ja FIC käyttää version 2 hajautusarvomuotoa. - Hajautusarvo lasketaan runtimen DN-merkkijonosta (
X509Certificate2.Issuer/X509Certificate2.Subject). - Liikkeeseenlaskija on
https://login.microsoftonline.com/{tenantId}/v2.0ja yleisö onapi://AzureADTokenExchange(kirjainkoko merkitsee).
Miten voin ratkaista AADSTS70050: Yhdistettyjen hallittujen käyttäjätietojen polkua ei ole muotoiltu oikein?
Aiheen tunnus sisältää merkkejä, jota käyttäjätietopalvelu ei hyväksy – useimmiten ei-ASCII-merkkejä varmenteessa CN:ssä versiossa 1. Versio 2 tuottaa VAIN ASCII -aihetunnisteen ja ratkaisee tämän virheen.
Miten voin ratkaista "Yhteyden muodostaminen Power Platformiin ei onnistu" -virheen?
Jos haluat varmistaa, että Power Platform -päätepisteet ovat tavoitettavissa ja sallittujen luettelossa, katso Power Platformin URL-osoitteet ja IP-osoitealueet.