Del via


Konfigurer administreret identitet for Power Platform for Dataverse-plug-ins eller plug-in-pakker

Administreret identitet i Power Platform gør det muligt for Dataverse-plug-ins eller plug-in-pakker at oprette forbindelse til Azure-ressourcer for at understøtte administreret identitet uden behov for legitimationsoplysninger. I denne artikel kan du få hjælp til at konfigurere administreret identitet i dine Power Platform-miljøer.

Forudsætninger

  • Et Azure abonnement med adgang til klargøring af brugertildelt administreret identitet (UAMI) eller programregistrering.
  • Værktøjer til plug-ins eller plug-in-pakker:
  • Et gyldigt certifikat til at signere plug-in-assemblyen.

Konfigurere administreret identitet

Hvis du vil konfigurere administreret identitet for Dataverse-plug-ins eller plug-in-pakker i Power Platform, skal du udføre følgende trin.

  1. Opret en ny appregistrering eller brugertildelt administreret identitet.
  2. Konfigurer legitimationsoplysninger for identitetsudbyder i organisationsnetværk.
  3. Opret og registrer Dataverse-plug-ins eller plug-in-pakker.
    Sørg for at bygge plugin-samlingen og registrere plugin- eller plugin-pakken.
  4. Opret en administreret identitetspost i Dataverse.
  5. Tildel adgang til Azure-ressourcerne til programmet eller den brugertildelt administrerede identitet (UAMI).
  6. Valider plug-in-integrationen.

Opret en ny appregistrering eller brugertildelt administreret identitet

Du kan enten oprette en brugertildelt administreret identitet eller et program i Microsoft Entra ID baseret på følgende scenarier.

  • Hvis du vil have en app-identitet knyttet til den plug-in, der opretter forbindelse til Azure-ressourcer, f.eks. Azure Key Vault, skal du bruge programregistrering. Med appidentitet kan du anvende Azure politikker på plug-in'en, der får adgang til Azure-ressourcer.
  • Hvis du vil have en tjenesteprincipal til at få adgang til Azure-ressourcer, f.eks. Azure Key Vault, kan du klargøre brugertildelt administreret identitet.

Bemærk!

Sørg for at registrere følgende id'er, når du bruger dem i senere trin.

  • Program-id (klient)
  • Lejer-id

Konfigurer legitimationsoplysninger for identitetsudbyder i organisationsnetværk

Hvis du vil konfigurere administreret identitet, skal du åbne den brugertildelte administrerede identitet eller Microsoft Entra ID-programmet i Azure-portalen, som du oprettede i forrige afsnit.

  1. Gå til Azure-portalen.
  2. Naviger til Microsoft Entra ID.
  3. Vælg Appregistreringer.
  4. Åbn den app, du oprettede i Konfigurer administreret identitet.
  5. Gå til Certifikater & hemmeligheder.
  6. Vælg fanen Legitimationsoplysninger i organisationsnetværk, og vælg Tilføj legitimationsoplysninger.
  7. Vælg udsteder som Anden udsteder.
  8. Angiv følgende oplysninger:

Udsteder

Brug lejerens v2.0-udsteder:

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

Eksempel

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

Type

Vælg Eksplicit emne-id.

Emne-id

Vælg det format, der svarer til certifikattypen:

  • Selvsigneret certifikat (kun udvikling):

    /eid1/c/pub/t/{encodedTenantId}/a/qzXoWDkuqUa3l6zM5mM0Rw/n/plugin/e/{environmentId}/h/{hash}
    
  • Udstedercertifikat, der er tillid til (anbefales til produktion):

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

Segmentreference

Segment Beskrivelse
eid1 Version af identitetsformat
c/pub Cloudkode til offentlig cloud, GCC (Government Community Cloud) og første udgivelsesstation i GCC.
t/{encodedTenantId} Lejer-id
a/qzXoWDkuqUa3l6zM5mM0Rw/ Kun til intern brug. Rediger ikke.
n/plugin Plug-in-komponent
e/{environmentId} Miljø-id
h/{hash} SHA-256 af certifikatet (kun selvsigneret)
i/{issuer}
s/{certificateSubject}
Oplysninger om udsteder, der er tillid til

Generér selvsigneret certifikat

Alle plug-ins skal have en bekræftet identitet, og signeringscertifikatet fungerer som plug-in'ens entydige fingeraftryk. Følgende kode er et eksempel på et PowerShell-kodestykke, som du kan bruge til at generere et selvsigneret certifikat til udviklings- eller testscenarier. Som reference kan du følge fra eksempel 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

Bemærk!

Kodning for {encodedTenantId}

  1. Konvertér GUID → Hex.
  2. Konvertér Hex → Base64URL (ikke standardbase64).

Selvsigneret hash

  • Compute SHA-256 over .cer. Hvis du har en .pfx, skal du først eksportere en .cer :
    CertUtil -hashfile <CertificateFilePath> SHA256
    
    $cert = Get-PfxCertificate -FilePath "path	o\your.pfx"
    $cert.RawData | Set-Content -Encoding Byte -Path "extracted.cer"
    

Specialiserede Azure-cloudmiljøer

Angiv målgruppen, udstederens URL-adresse og præfikset Emne eksplicit, når du udruller uden for den offentlige cloud, GCC og første udgivelsesstation i GCC:

Cloud Publikum URL-adresse til udsteder Præfiks for emne
GCC High og DoD api://AzureADTokenExchangeUSGov https://login.microsoftonline.us /eid1/c/usg
Mooncake (Kina) 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

Bemærk!

I Målgruppe-værdien skelnes der mellem store og små bogstaver.
For den offentlige cloud, GCC og den første udgivelsesstation i GCC (og andre cloudmiljøer, der ikke er angivet på listen), er standarderne:
Målgruppe api://AzureADTokenExchange, Udsteder https://login.microsoftonline.com, Emnepræfiks /eid1/c/pub.

Opret og registrer Dataverse-plug-ins eller plug-in-pakker

Opret plug-in-assembly

Emballage og signering

Signering af en plug-in-pakke

Hvis du opretter en plug-in-pakke, skal du bruge CLI'en NuGet Sign til at generere en pakke fra enten en .nuspec- eller .csproj-fil. Når du har genereret pakken, skal du signere den med dit certifikat.

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

Signering af et plug-in-assembly

Hvis du registrerer en plug-in (assembly), skal du signere DLL-filen med et certifikat ved hjælp af SignTool.exe (Sign Tool).

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

Du kan eventuelt tilføje tidsstempel ved at angive URL-adressen til en RFC 3161-kompatibel tidsstempelserver.

Bemærk!

Brug kun et selvsigneret certifikat til udviklings- eller testformål. Brug ikke selvsignerede certifikater i produktionsmiljøer.

Registrer plug-in'en

Opret administreret identitetspost i Dataverse

Hvis du vil klargøre en administreret identitetspost i Dataverse, skal du udføre følgende trin.

  1. Opret en administreret identitet ved at sende en HTTP POST-anmodning med en REST-klient (f.eks. søvnløshed). Brug en URL-adresse og brødtekst i følgende format.

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

    Sørg for at erstatte orgURL med organisationens URL-adresse.

  2. Sørg for, at credentialsource er angivet til 2 i nyttedataene, at subjectscope er indstillet til 1 for miljøspecifikke scenarier, og at versionen er indstillet til 1 i nyttedataene.

    Eksempel på nyttedata

    {
      "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. Opdater din plug-in-pakke eller plug-in-assemblypost ved at udstede en HTTP PATCH-anmodning for at knytte den til den administrerede identitet, der blev oprettet i trin 1.

    Tilføjelsesprogramsamling

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

    Plug-in-pakke

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

    Eksempel på nyttedata

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

    Sørg for at erstatte orgURL, PluginAssemblyId (eller PluginPackageId) og ManagedIdentityGuid med dine værdier.

Giv adgang til Azure-ressourcerne til programmet eller det brugertildelte administrerede id

Hvis du har brug for at give adgang til et program-id for at få adgang til Azure-ressourcer, f.eks. Azure Key Vault, skal du give adgang til programmet eller den brugertildelt administrerede identitet til den pågældende ressource.

Valider plug-in-integrationen

Kontrollér, at din plug-in sikkert kan anmode om adgang til Azure-ressourcer, der understøtter administreret identitet, hvilket eliminerer behovet for separate legitimationsoplysninger.

Ofte stillede spørgsmål

Hvordan løser jeg denne fejl?

Hvis du får vist følgende fejl:
Fejl opstået – Et konfigurationsproblem forhindrer godkendelse.
AADSTS700213: Der blev ikke fundet en tilsvarende federeret identitetspost

Udfør følgende trin for at løse problemet:

  1. Sørg for, at FIC er konfigureret og gemt korrekt.

  2. Kontrollér, at udstederen/emnet stemmer overens med det format, der er angivet tidligere.

    Du kan også finde det forventede format i fejlstakken.

Hvordan løser jeg fejlen "Kan ikke oprette forbindelse til Power Platform"?

Se URL-adresser til Power Platform og IP-adresseområder for at sikre, at Power Platform-slutpunkter kan nås og tillades.