Share via


Active Directory og kravsbaseret godkendelse

 

Udgivet: januar 2017

Gælder for: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Kravsbaseret godkendelse giver en industristandard for sikkerhedsprotokol til godkendelse af en bruger på en værtscomputer. Kravsbaseret godkendelse er en række WS-*-standarder, der beskriver brugen af et SAML (Security Assertion Markup Language)-token i enten passiv tilstand (når WS-Federation bruges med Microsoft Dynamics 365 (online og i det lokale miljø)-webprogrammet) eller aktiv tilstand (når WS-Trust bruges sammen med WCF (Windows Communication Foundation)-klienter). Denne godkendelse fungerer sammen med WCF for at levere sikker brugergodkendelse og en kommunikationskanal med en Microsoft Dynamics 365-server. Alle Microsoft Dynamics 365-udgaver understøtter kravsbaseret godkendelse.

Kravsbaseret godkendelse kræver tilgængeligheden af en sikkerhedstokentjeneste (STS), der kører på en server. STS-serveren kan være baseret på Active Directory Federation Services (AD FS) V2 eller en hvilken som helst platform, der leverer den officielle STS-protokol. Du kan finde flere oplysninger i følgende emne i dokumentationen til installation og administration af Dynamics 365: TechNet: Konfigurere IFD til Microsoft Dynamics CRM 2015.

Dette emne indeholder

Understøttede godkendelsesscenarier

Ikke-understøttede godkendelsesscenarier

Godkendelsesklasser

Godkendelse ved hjælp af klientproxyklasser

Håndtering af kanalundtagelser og -fejl

Yderligere yderligere oplysninger om SAML-sikkerhedstoken.

Understøttede godkendelsesscenarier

Microsoft Dynamics 365 understøtter følgende godkendelsesscenarier for hver udrulningstype.

Udrulning

Godkendelsesmodel

Microsoft Dynamics 365 (online)

Kravsbaseret eller Active Directory-godkendelse (via federeret netværk)

Microsoft Dynamics 365 i det lokale miljø

Kravsbaseret eller Active Directory-godkendelse

Microsoft Dynamics 365 Installation med adgang via internet

Kravsbaseret eller Active Directory-godkendelse

Sådan fungerer kravsbaseret godkendelse

Der sendes en anmodning om at godkende en bruger fra Microsoft Dynamics 365 eller Microsoft Dynamics 365 (online) eller et brugerdefineret program til STS-serveren. STS-serveren bestemmer, om brugeren skal godkendes, og udsteder i så fald et signeret og krypteret SAML-token, der indeholder brugeroplysninger til godkendelse. Tokenet har en begrænset levetid og skal muligvis opdateres med jævne mellemrum afhængigt af, hvor lang tid programmet bruger tokenet. Dette er beskrevet mere detaljeret senere i dette emne.

Sådan fungerer Active Directory-godkendelse

Der sendes en anmodning om at godkende en bruger fra Microsoft Dynamics 365 eller et brugerdefineret program til Active Directory. WCF-stakken styrer godkendelsesprocessen for kald til organisationstjenesten fra et program, mens IIS (Internet Information Services) håndterer godkendelse for et webprogram.

Ikke-understøttede godkendelsesscenarier

Brug af klientcertifikater understøttes ikke af Microsoft Dynamics 365-SDK. Hvis du konfigurerer Microsoft Dynamics 365-webstedet til at kræve klientcertifikater i IIS, får du vist godkendelsesfejl for programmer, der er oprettet ved hjælp af SDK.

Du kan finde flere oplysninger om yderligere ikke-understøttet programmering i Ikke-understøttede tilpasninger.

Godkendelsesklasser

I følgende tabel vises de primære godkendelsesklasser, der er tilgængelige i SDK, beskriver, hvornår du skal bruge dem, og indeholder links til yderligere relevant dokumentation.

Klasser

Brug

Relateret dokumentation

IServiceConfiguration<TService>, IServiceManagement<TService>

Alle udrulningstyper: i det lokale miljø/IFD, online (Microsoft-konto og Office 365/MOS*)

Bedste valg til flertrådede programmer

Godkende Office 365-brugere med Microsoft Dynamics 365 (online)-webtjenester

Eksempel: Godkende brugere med Microsoft Dynamics 365-webtjenester

Forøg ydeevnen for servicekanal-allokering

DiscoveryServiceProxy, OrganizationServiceProxy

Alle udrulningstyper: i det lokale miljø/IFD, online (Microsoft-konto og Office 365/MOS*)

Godkendelse ved hjælp af klientproxyklasser

Eksempel: Adgang til registreringstjenesten

Forøg ydeevnen for servicekanal-allokering

Klassen CrmConnection

Alle udrulningstyper: i det lokale miljø/IFD, online (Microsoft-konto og Office 365/MOS*)

Forenklet forbindelse til Microsoft Dynamics CRM

Eksempel: Forenklet forbindelse for hurtig start ved hjælp af Microsoft Dynamics 365

ServerConnection

Alle udrulningstyper: i det lokale miljø/IFD, online (Microsoft-konto og Office 365/MOS*)

Bruges til konsoltestprogrammer og eksempelkode.

Designet til at forbedre brugervenligheden, når du kører SDK-eksempelkode, og demonstrere brugen af godkendelsesklasser. Indeholder kode for konsoloutput.

Hjælpekode: ServerConnection-klasse

Eksempel: Startvejledning til Microsoft Dynamics 365

*Microsoft Online Services-miljø

Godkendelse ved hjælp af klientproxyklasser

Én måde til at godkende med Microsoft Dynamics 365-webtjenester er ved hjælp af OrganizationServiceProxy- og DiscoveryServiceProxy-klasser i de programmer, du skriver. Fireparameterkonstruktøren af disse klasser understøtter Microsoft Dynamics 365 (online og i det lokale miljø)-udrulning. Disse proxyklasser håndterer automatisk krav eller Active Directory-godkendelse og administrerer også ressourcesbegrænsninger på WCF kanalens slutpunkt.

Følgende kode viser, hvordan du instantierer organisationens serviceproxy:

using (OrganizationServiceProxy _serviceProxy =    new OrganizationServiceProxy(organizationUri, homeRealmUri, userCredentials, deviceCredentials))

Følgende kode viser, hvordan du instantierer registreringens serviceproxy:

using (DiscoveryServiceProxy _discProxy =    new DiscoveryServiceProxy(organizationUri, homeRealmUri, userCredentials, deviceCredentials))

Det er vigtigt at fjerne serviceproxyforekomsten korrekt i dit program, før programmet afsluttes. Sætningen using sikrer, at serviceproxyen fjernes korrekt, ved automatisk at kalde Dispose på serviceproxyen, når den bevæger sig uden for omfanget. For at forbedre programmets ydeevne er det dog bedst at holde serviceproxyforekomsten tilgængelig i programmet for hele programsessionen i stedet for at fjerne den og tildele den igen et andet sted i programkoden, når det er nødvendigt. Årsagen er, at det koster dyrebar tid at oprette og godkende en servicekanal. I dette tilfælde, når du er færdig med serviceproxyforekomsten, skal du direkte kalde metoden Fjern på proxyen, før programmet afsluttes.

Enhedens legitimationsoplysninger for den registrerede computerenhed bruges kun, når brugeren godkendes med Microsoft Dynamics 365 (online) gennem Microsoft-konto-identitetsudbyderen. Eksempelkode, der viser, hvordan du kan udfylde proxykonstruktørparametre, findes i Eksempel: Adgang til registreringstjenesten.

Vigtigt

Til en lokal eller en IFD-installation (installation med adgang via internet) af Microsoft Dynamics 365 bruger klientproxyklasser kravsbaseret godkendelse, hvis STS-serveren er tilgængelig. Ellers bruges Active Directory-godkendelse.

Hvis du vil bruge tidligt bundne Microsoft Dynamics 365-objekttyper i din kode, skal du tilføje følgende kodelinje efter instantiering af organisationens serviceproxy, men før du foretager metodekald til webtjenester:

_serviceProxy.EnableProxyTypes()
System_CAPS_security Sikkerhed Bemærkning

WCF understøtter en funktion, hvor det kan bede brugeren interaktivt om at angive logonoplysninger, når det er nødvendigt. Denne funktion er aktiveret ved at angive den SupportInteractive-egenskaben for ClientCredentials-klassen. Disse legitimationsoplysninger bruges i userCredentials-parameteren, der er vist i det forrige kodestykke.

Når foretager SDK-kald til Microsoft Dynamics 365-webtjenester, kan ejerforhold for drift og ændringer i objektdata, der udføres ved hjælp af SDK-kald, ændres ved denne WCF-funktion, uafhængig af din kode.

Microsoft Dynamics 365 håndlerer de angivne legitimationsoplysninger i webtjenetseopkald på følgende måde:

  • Hvis legitimationsoplysninger ikke er angivet i kaldet til webtjenesten, bestemmer WCF-stakken, hvilke legitimationsoplysninger der bruges. I så fald bliver SupportInteractive-egenskabens værdi automatisk angivet til false.

  • Hvis legitimationsoplysninger leveres direkte af din kode, bliver den aktuelle SupportInteractive-værdi overført til WCF-kanalens fabrik.SupportInteractive er som standard indstillet til true, medmindre du ændrer den.

  • Hvis SupportInteractive er angivet til true, og de angivne legitimationsoplysninger mislykkes, vises måske en WCF-dialogboks. De legitimationsoplysninger, som brugeren har indtastet i dialogboksen, bruges i stedet for dem, der er leveret i webtjenestekaldet, som dit program starter.

Håndtering af kanalundtagelser og -fejl

Koden skal fange følgende undtagelser og fejl. Se C#-eksempler i Microsoft Dynamics 365-SDK for at få en liste over yderligere undtagelser, der skal opfanges:

Du kan finde flere oplysninger i .NET FrameworkWCF-dokumentation om håndtering af WCF-fejl og -undtagelser. Se Brug eksempel- og hjælpekoden for yderligere eksempelkode.

Yderligere yderligere oplysninger om SAML-sikkerhedstoken.

Det SAML-token, der bruges under brugergodkendelse, er beskrevet nedenfor.

Indhold af SAML-token

Det XML-baserede SAML 2.0-token indeholder en identitet, der definerer et eller flere krav om en bruger. Dette token overføres mellem en identitetsudbyderserver (STS) og Microsoft Dynamics 365 for kravsbaseret godkendelse. Krav i identiteten er defineret som følger.

Krav

Bruge

UPN (Universal Principal Name)

Indeholder bruger-id i formatet domæne\alias på Microsoft Dynamics 365-destinatiosserveren.

Navn

Hvis den godkendte brugere også er installationsadministrator i Microsoft Dynamics 365, indeholder kravet installationsadministratorens id i formatet domæne\alias på Microsoft Dynamics 365-destinationsserveren.Windows Identity Foundation knytter Name-kravet til Identity.name-egenskaben.

Andre krav

Bruges ikke af Microsoft Dynamics 365.

Understøttede sikkerhedstokentyper

Microsoft Dynamics 365 (online og i det lokale miljø) understøtter to typer af SAML-tokens:

  • Webprogram, - Microsoft Dynamics 365-webprogrammet modtager et bærertoken fra STS. Dette token mangler nogle nødvendige oplysninger, så en TLS (Transport Layer Security) eller SSL (Secure Sockets Layer)-baseret URL-adresse (https://) bruges til sikkerhedsbeskyttelse, når du får adgang til WCF-slutpunktet.

  • SDK - Et brugerdefineret program modtager et aktivt token med en bevisnøgle, der indeholder de nødvendige oplysninger.

Livscyklus for sikkerhedstokenet

Et SecurityToken har en levetid, der er identificeret ved dets ValidFrom- og ValidTo-egenskaber. Dit programdesign bør overveje muligheden for, at token kunne udløbe, hvilket resulterer i en ExpiredSecurityTokenException fra Microsoft Dynamics 365-webtjenester, når den næste meddelelsesanmodning fra dit program behandles.

Se også

Gennemgang: Registrere en Dynamics 365-app med Active Directory
Oprette forbindelse til Microsoft Office 365 og Microsoft Dynamics 365 (online)
Implementere enkeltlogon fra en ASPX-webside eller IFRAME
Eksempel: Godkende brugere med Microsoft Dynamics 365-webtjenester

Microsoft Dynamics 365

© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret