Dalintis per


"Power Platform" valdomos tapatybės nustatymas "Dataverse" papildiniams arba priedų paketams

"Power Platform" valdoma tapatybė leidžia "Dataverse" papildiniams arba priedų paketams prisijungti prie "Azure" išteklių, kad būtų palaikoma valdoma tapatybė be kredencialų. Šis straipsnis padės nustatyti valdomą tapatybę jūsų Power Platform aplinkose.

Būtinosios sąlygos

Valdomosios tapatybės nustatymas

Norėdami sukonfigūruoti "Power Platform" valdomą tapatybę "Dataverse" papildiniams arba priedų paketams, atlikite toliau nurodytus veiksmus.

  1. Sukurkite naują programos registraciją arba vartotojo priskirtą valdomą tapatybę.
  2. Konfigūruokite išorinės tapatybės kredencialus.
  3. Kurkite ir užregistruokite "Dataverse" priedus arba priedų paketus.
    Būtinai sukurkite priedų rinkinį ir užregistruokite priedą arba priedų paketą.
  4. Sukurkite valdomos tapatybės įrašą "Dataverse".
  5. Suteikite prieigą prie "Azure" išteklių programai arba vartotojo priskirtai valdomai tapatybei (UAMI).
  6. Patikrinkite priedo integravimą.

Naujo programos registravimo arba vartotojo priskirtos valdomos tapatybės kūrimas

Galite sukurti vartotojo priskirtą valdomą tapatybę arba programą "Microsoft Entra ID" pagal šiuos scenarijus.

  • Jei norite, kad programos tapatybė būtų susieta su priedu, kuris jungiasi prie "Azure" išteklių, pvz., "Azure Key Vault", naudokite programos registraciją. Naudodami programos tapatybę galite taikyti "Azure" strategijas papildiniui, pasiekiančiam "Azure" išteklius.
  • Jei norite, kad pagrindinis tarnybos vadovas pasiektų "Azure" išteklius, pvz., "Azure Key Vault", galite konfigūruoti vartotojo priskirtą valdomą tapatybę.

Pastaba.

Būtinai užfiksuokite šiuos ID, kai juos naudosite atlikdami tolesnius veiksmus.

  • Programos (kliento) ID
  • „“ nuomotojo ID

Išorinės tapatybės kredencialų konfigūravimas

Norėdami konfigūruoti valdomą tapatybę, atidarykite vartotojo priskirtą valdomą tapatybę arba Microsoft Entra ID programą "Azure" portale, kurį sukūrėte ankstesniame skyriuje.

  1. Eikite į "Azure" portalą.
  2. Eikite į Microsoft Entra ID.
  3. Pasirinkite Programos registracijos.
  4. Atidarykite programą, kurią sukūrėte dalyje Nustatyti valdomą tapatybę.
  5. Eikite į Sertifikatai ir paslaptys.
  6. Pasirinkite skirtuką Susieti kredencialai ir pasirinkite Įtraukti kredencialus.
  7. Pasirinkite emitentą kaip Kitas emitentas.
  8. Įveskite šią informaciją:

Issuer

Naudokite nuomotojo 2.0 versijos išdavėją:

https://login.microsoftonline.com/{tenantID}/v2.0

Pavyzdys

https://login.microsoftonline.com/5f8a1a9f-2e1a-415f-b10c-84c3736a21b9/v2.0

Tipas

Pasirinkite Aiškus temos identifikatorius.

Subjekto identifikatorius

Pasirinkite formatą, atitinkantį jūsų sertifikato tipą:

  • Savarankiškai pasirašytas sertifikatas (tik kūrimas):

    /eid1/c/pub/t/{encodedTenantId}/a/qzXoWDkuqUa3l6zM5mM0Rw/n/plugin/e/{environmentId}/h/{hash}
    
  • Patikimo išdavėjo sertifikatas (rekomenduojama gaminti):

    /eid1/c/pub/t/{encodedTenantId}/a/qzXoWDkuqUa3l6zM5mM0Rw/n/plugin/e/{environmentId}/i/{issuer}/s/{certificateSubject}
    

Segmento nuoroda

Segmentas Aprašą
eid1 Tapatybės formato versija
c/pub Debesies kodas viešajam debesiui, vyriausybės bendruomenės debesis (GCC) ir pirmoji leidimo stotis GCC.
t/{encodedTenantId} „“ nuomotojo ID
a/qzXoWDkuqUa3l6zM5mM0Rw/ Tik vidinis naudojimas. Nekeiskite.
n / įskiepis Papildinio komponentas
e/{environmentId} Aplinkos ID
h/{maiša} Sertifikato SHA-256 (tik savarankiškai pasirašytas)
i/{emitentas}
s/{certificateSubject}
Patikimo emitento duomenys

Generuoti savarankiškai pasirašytą sertifikatą

Kiekvienas papildinys turi turėti patikrinamą tapatybę, o pasirašymo sertifikatas veikia kaip unikalus papildinio piršto atspaudas. Šis kodas yra "PowerShell" fragmento pavyzdys, kurį galite naudoti norėdami sugeneruoti savarankiškai pasirašytą sertifikatą kūrimo ar testavimo scenarijams. Nuorodai galite vadovautis 3 pavyzdžiu.

 $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

Pastaba.

Kodavimas {encodedTenantId}

  1. Konvertuoti GUID → šešiakampį.
  2. Konvertuokite šešiakampį → Base64URL (ne standartinį Base64).

Savarankiškai pasirašyta maiša

  • Apskaičiuokite SHA-256 per .cer. Jei turite .pfx, pirmiausia eksportuokite .cer :
    CertUtil -hashfile <CertificateFilePath> SHA256
    
    $cert = Get-PfxCertificate -FilePath "path	o\your.pfx"
    $cert.RawData | Set-Content -Encoding Byte -Path "extracted.cer"
    

Specializuotos "Azure" debesies aplinkos

Aiškiai nustatykite auditoriją, išdavėjo URL ir temos priešdėlį , kai diegiate už viešojo debesies, GCC ir pirmosios laidos stoties ribų GCC:

Debesis Auditorija Išdavėjo URL Temos priešdėlis
GCC aukštas ir DoD api://AzureADTokenExchangeUSGov https://login.microsoftonline.us /eid1/c/usg
Mėnulio pyragas (Kinija) api://AzureADTokenExchangeChina https://login.partner.microsoftonline.cn /eid1/c/chn
JAV pilietis (USNAT) api://AzureADTokenExchangeUSNat https://login.microsoftonline.eaglex.ic.gov /eid1/c/uss
JAV saugus (USSec) api://AzureADTokenExchangeUSSec https://login.microsoftonline.scloud /eid1/c/usn

Pastaba.

Auditorijos reikšmė skiria didžiąsias ir mažąsias raides ir turi tiksliai sutapti.
Viešojo debesies, GCC ir pirmojo leidimo stočių GCC (ir kitų neišvardytų debesų) numatytieji nustatymai yra šie:
Auditorija api://AzureADTokenExchange, Emitentas https://login.microsoftonline.com, Temos priešdėlis /eid1/c/pub.

"Dataverse" priedų arba papildinių paketų kūrimas ir registravimas

Sukurti papildinio surinkimą

Pakavimas ir pasirašymas

Papildinio paketo pasirašymas

Jei kuriate papildinio paketą, naudokite NuGet Sign CLI , kad sugeneruotumėte paketą iš .nuspec arba .csproj failo. Sugeneravę paketą, pasirašykite jį savo sertifikatu.

 nuget sign YourPlugin.nupkg `
   -CertificatePath MyCert.pfx `
   -CertificatePassword "MyPassword" `
   -Timestamper http://timestamp.digicert.com

Papildinio rinkinio pasirašymas

Jei registruojate priedą (rinkinį), pasirašykite DLL sertifikatu naudodami SignTool.exe (pasirašymo įrankį).

signtool sign /f MyCert.pfx /p MyPassword /t http://timestamp.digicert.com /fd SHA256 MyAssembly.dll

Pasirinktinai galite pridėti laiko žymą pateikdami su RFC 3161 suderinamo laiko žymos serverio URL.

Pastaba.

Savarankiškai pasirašytą sertifikatą naudokite tik kūrimo ar testavimo tikslais. Nenaudokite savarankiškai pasirašytų sertifikatų gamybos aplinkoje.

Registruokite papildinį

Sukurkite valdomą tapatybės įrašą Dataverse

Norėdami parengti valdomos tapatybės įrašą "Dataverse", atlikite toliau nurodytus veiksmus.

  1. Sukurkite valdomą tapatybę siųsdami HTTP POST užklausą su REST klientu (pvz., Insomnia). Naudokite URL ir užklausos turinį toliau nurodytu formatu.

    POST https://<<orgURL>>/api/data/v9.0/managedidentities
    

    Būtinai pakeiskite orgURL organizacijos URL adresu.

  2. Įsitikinkite, kad kredencialai yra nustatyti kaip 2 naudingojoje apkrovoje, subjectscope nustatyta kaip 1 konkrečios aplinkos scenarijams, o versija nustatyta kaip 1 naudingojoje apkrovoje.

    Naudingosios apkrovos pavyzdys

    {
      "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
    }
    
  3. Atnaujinkite savo priedo paketą arba priedo rinkinio įrašą išleisdami HTTP PATCH užklausą, kad susietumėte jį su valdoma tapatybe, sukurta atliekant 1 veiksmą.

    Papildinių komplektas

    PATCH https://<<orgURL>>/api/data/v9.0/pluginassemblies(<<PluginAssemblyId>>)
    

    Įskiepio paketas

    PATCH https://<<orgURL>>/api/data/v9.0/pluginpackages(<<PluginPackageId>>)
    

    Naudingosios apkrovos pavyzdys

    {
      "managedidentityid@odata.bind": "/managedidentities(<<ManagedIdentityGuid>>)"
    }
    

    Būtinai pakeiskite orgURL,PluginAssemblyId (arba PluginPackageId) ir ManagedIdentityGuid savo reikšmėmis.

Suteikite prieigą prie „Azure“ išteklių programai arba vartotojo priskirtai valdomai tapatybei

Jei jums reikia suteikti prieigą prie programos ID, kad galėtumėte pasiekti "Azure" išteklius, pvz., "Azure Key Vault", suteikite prieigą prie programos arba vartotojo priskirtos valdomos tapatybės tam ištekliui.

Patvirtinkite papildinio integraciją

Įsitikinkite, kad jūsų papildinys gali saugiai prašyti prieigos prie „Azure“ išteklių, kurie palaiko valdomą tapatybę, todėl nereikia atskirų prisijungimo duomenų.

Dažnai užduodami klausimai (DUK)

Kaip išspręsti šią klaidą?

Jei gaunate šią klaidą:
Gaunama klaida – konfigūracijos problema neleidžia autentifikuoti.
AADSTS700213: nerasta atitinkančio jungtinio tapatybės įrašo

Norėdami išspręsti problemą, atlikite šiuos veiksmus:

  1. Įsitikinkite, kad FIC tinkamai sukonfigūruotas ir išsaugotas.

  2. Patikrinkite, ar emitentas / subjektas atitinka anksčiau nurodytą formatą.

    Taip pat galite rasti numatomą formatą klaidų krūvoje.

Kaip išspręsti klaidą "Nepavyko pasiekti arba prisijungti prie "Power Platform"?

Peržiūrėkite "Power Platform" URL ir IP adresų diapazonus , kad įsitikintumėte, jog "Power Platform" galiniai punktai yra pasiekiami ir leidžiami sąraše.