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

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 de Azure ressourcer 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 application registration. Med app-identitet kan du anvende Azure politikker på plug-in'en til at få adgang til Azure ressourcer.
  • Hvis en tjenesteprincipal skal have 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 brugertildelt administrerede identitet eller Microsoft Entra ID-programmet på den Azure portal, du oprettede i det forrige afsnit.

  1. Gå til portalen Azure.
  2. Gå til Microsoft Entra ID.
  3. Vælg App registrations.
  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!

Der skelnes mellem store og små bogstaver i målgruppeværdien, og den skal stemme nøjagtigt overens.
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.

Tildel adgang til de Azure ressourcer til program- eller brugertildelt administreret identitet

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 tildele den pågældende ressource adgang til programmet eller den brugertildelt administrerede identitet.

Valider plug-in-integrationen

Kontrollér, at din plug-in sikkert kan anmode om adgang til Azure ressourcer, der understøtter administreret identitet, hvilket fjerner 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.