Den här referensarkitekturen implementerar ett säkert hybridnätverk som utökar det lokala nätverket till Azure och använder Active Directory Federation Services (AD FS) för att utföra sammansluten autentisering och auktorisering för komponenter som körs i Azure.
Arkitektur
Ladda ned en Visio-fil med den här arkitekturen.
Kommentar
Visio-filen innehåller 4 flikar med diagram. Välj fliken AD FS för att se relevant arkitekturdiagram för den här artikeln.
Arbetsflöde
AD DS-undernät. AD DS-servrar finns i sina egna undernät med regler för nätverkssäkerhetsgrupper (NSG) som fungerar som en brandvägg.
AD DS-servrar. Domänkontrollanter som körs som virtuella datorer i Azure. De här servrarna tillhandahåller autentisering av lokala identiteter i domänen.
AD FS-undernät. AD FS-servrarna finns i sina egna undernät med NSG-regler som fungerar som en brandvägg.
AD FS-servrar. AD FS-servrarna ger sammanhållen autentisering och auktorisering. I den här arkitekturen utför de följande uppgifter:
Tar emot säkerhetstoken som innehåller anspråk som gjorts av en partnerfederationsserver för en partneranvändares räkning. AD FS verifierar att token är giltiga innan anspråken skickas till webbprogrammet som körs i Azure för att godkänna begäranden.
Programmet som körs i Azure är den förlitande parten. Partnerfederationsservern måste utfärda anspråk som tolkas av webbprogrammet. Partnerfederationsservrarna kallas kontopartners, eftersom de skickar förfrågningar för autentiserade konton i partnerorganisationen. AD FS-servrarna kallas resurspartners, eftersom de ger åtkomst till resurser (webbprogrammet).
Autentisering och auktorisering av inkommande begäranden från externa användare som kör en webbläsare eller enhet som behöver åtkomst till webbprogram, med hjälp av AD DS och Active Directory Device Registration Service.
AD FS-servrarna är konfigurerade som en servergrupp som nås via en lastbalanserare i Azure. Den här implementeringen förbättrar tillgängligheten och skalbarheten. AD FS-servrarna exponeras inte direkt mot Internet. All Internettrafik filtreras via webbprogramproxyservrarna för AD FS och en DMZ (kallas även perimeternätverk).
Mer information om hur AD FS fungerar finns i Active Directory Federation Services Overview (Översikt över Active Directory Federation Services). Artikeln AD FS-distribution i Azure innehåller också en detaljerad introduktion steg för steg till implementering.
AD FS-proxyundernät. AD FS-proxyservrarna kan finnas inom sina egna undernät, med NSG-regler som ger skydd. Servrarna i det här undernätet är exponerade mot Internet via en uppsättning virtuella nätverksenheter som tillhandahåller en brandvägg mellan det virtuella Azure-nätverket och Internet.
AD FS-webbprogramproxyservrar (WAP). Dessa virtuella datorer fungerar som AD FS-servrar för inkommande begäranden från partnerorganisationer och externa enheter. WAP-servrarna fungerar som ett filter som skärmar av AD FS-servrarna från direktåtkomst till Internet. Liksom med AD FS-servrarna ger distribution av WAP-servrarna i en servergrupp med belastningsutjämning bättre tillgänglighet och skalbarhet än att distribuera en samling med fristående servrar.
Kommentar
Detaljerad information om hur du installerar WAP-servrar finns i Installera och konfigurera WAP (webbprogramproxyserver)
Partnerorganisation. En partnerorganisation som kör ett webbprogram som begär åtkomst till ett webbprogram som körs i Azure. Federationsservern i partnerorganisationen autentiserar begäranden lokalt och skickar säkerhetstoken som innehåller anspråk till AD FS som körs i Azure. AD FS i Azure verifierar säkerhetstoken, och om den är giltig kan anspråket skickas till webbprogrammet som körs i Azure för att godkänna dem.
Kommentar
Du kan också konfigurera en VPN-tunnel som använder Azure-gateway för att ge direktåtkomst till AD FS för betrodda partners. Begäranden som tas emot från dessa partners går inte igenom WAP-servrarna.
Komponenter
Den här arkitekturen utökar implementeringen som beskrivs i Extending AD DS to Azure (Utöka AD DS till Azure). Den innehåller följande komponenter.
- AD DS-undernät
- AD DS-servrar
- AD FS-undernät
- AD FS-servrar
- AD FS-proxyundernät
- AD FS-webbprogramproxyservrar (WAP)
Information om scenario
AD FS kan finnas lokalt, men om ditt program är en hybrid där vissa delar implementeras i Azure kan det vara mer effektivt att replikera AD FS i molnet.
I föregående diagram visas följande scenarier:
- Programkod från en partnerorganisation får åtkomst till ett webbprogram som finns i det virtuella Azure-nätverket.
- En extern, registrerad användare med autentiseringsuppgifter som har lagrats i Active Directory Domain Services (DS) får åtkomst till ett webbprogram som finns i det virtuella Azure-nätverket.
- En användare som är ansluten till det virtuella nätverket via en auktoriserad enhet kör ett webbprogram som finns i det virtuella Azure-nätverket.
Denna referensarkitektur fokuserar på passiv federation, där federationsservrarna avgör hur och när en användare ska autentiseras. Användaren anger inloggningsuppgifter när programmet startas. Den här mekanismen används oftast av webbläsare och omfattar ett protokoll som dirigerar om webbläsaren till en plats där användaren autentiseras. AD FS har även stöd för aktiv federation, där ett program tar på sig ansvaret för att tillhandahålla autentiseringsuppgifter utan ytterligare användarinteraktion, men detta scenario ligger utanför denna arkitekturs omfattning.
Andra överväganden finns i Välj en lösning för att integrera lokalni Active Directory med Azure.
Potentiella användningsfall
Vanliga användningsområden för den här arkitekturen inkluderar:
- Hybridprogram där arbetsbelastningar delvis körs lokalt, delvis i Azure.
- Lösningar som använder sammansluten auktorisering för att exponera webbprogram till partnerorganisationer.
- System som har stöd för åtkomst från webbläsare som körs utanför organisationens brandvägg.
- System som gör att användarna får tillgång till webbprogram genom att ansluta från auktoriserade externa enheter som fjärranslutna datorer, bärbara datorer och andra mobila enheter.
Rekommendationer
Följande rekommendationer gäller för de flesta scenarier. Följ dessa rekommendationer om du inte har ett visst krav som åsidosätter dem.
Nätverksrekommendationer
Konfigurera nätverksgränssnittet för var och en av de virtuella datorer som är värd för AD FS- och WAP-servrar med statiska privata IP-adresser.
Ge inte de virtuella AD FS-datorerna offentliga IP-adresser. Mer information finns i avsnittet Säkerhetsöverväganden .
Ange IP-adressen för de primära och sekundära DNS-servrarna (Domain Name Service) för nätverksgränssnitten för varje AD FS och WAP VM så att de hänvisar till de virtuella Active Directory DS-datorerna. De virtuella Active Directory DS-datorerna ska köra DNS. Det här steget krävs för att göra det möjligt för varje virtuell dator att ansluta till domänen.
AD FS-installation
Artikeln Deploying a Federation Server Farm (Distribuera en federationsservergrupp) innehåller detaljerad information om att installera och konfigurera AD FS. Utför följande åtgärder innan du konfigurerar den första AD FS-servern i servergruppen:
Skaffa ett offentligt betrott certifikat för serverautentisering. Ämnesnamnet måste innehålla det namn klienterna använder för att få åtkomst till federationstjänsten. Detta kan till exempel
adfs.contoso.com
vara DNS-namnet som registrerats för lastbalanseraren (undvik att använda jokerteckennamn som*.contoso.com
, av säkerhetsskäl). Använd samma certifikat på alla AD FS-serverns virtuella datorer. Du kan köpa ett certifikat från en betrodd certifikatutfärdare, men om organisationen använder Active Directory Certificate Services kan du skapa egna.Alternativt namn för certifikatmottagare används av Device Registration Service (DRS) för att möjliggöra åtkomst från externa enheter. Detta bör vara av formuläret
enterpriseregistration.contoso.com
.Mer information finns i Obtain and Configure a Secure Sockets Layer (SSL) Certificate for AD FS (Inhämta och konfigurera ett SSL-certifikat (Secure Sockets Layer) för AD FS).
Generera en ny rotnyckel för Key Distribution Service på domänkontrollanten. Ställ in den effektiva tiden på den aktuella tiden minus 10 timmar (den här konfigurationen minskar den fördröjning som kan uppstå vid distribution och synkronisering av nycklar i hela domänen). Det här steget krävs för att skapa grupptjänstkontot som används för att köra AD FS-tjänsten. Följande PowerShell-kommando visar ett exempel på hur du gör detta:
Add-KdsRootKey -EffectiveTime (Get-Date).AddHours(-10)
Lägg till varje virtuell dator för AD FS-servern till domänen.
Kommentar
Om du vill installera AD FS måste domänkontrollanten som kör den primära domänkontrollanten (PDC) ha en FSMO-roll (Flexible Single Master Operation) för domänen som körs och är tillgänglig från de virtuella AD FS-datorerna.
AD FS-förtroende
Upprätta federationsförtroende mellan AD FS-installationen och federationsservrarna för eventuella partnerorganisationer. Konfigurera eventuell anspråksfiltrering och mappning som krävs.
- DevOps-personal inom varje partnerorganisation måste lägga till en förlitande part för de webbprogram som är tillgängliga via AD FS-servrarna.
- DevOps-personal i din organisation måste konfigurera förtroende mellan anspråk och leverantör för att göra det möjligt för AD FS-servrarna att lita på de anspråk som partnerorganisationer tillhandahåller.
- DevOps-personal i din organisation måste också konfigurera AD FS för att skicka anspråk till organisationens webbprogram.
Mer information finns i Establishing Federation Trust (Upprätta federationsförtroende).
Publicera organisationens webbprogram och gör dem tillgängliga för externa partners med hjälp av förautentisering via WAP-servrarna. Mer information finns i Publish Applications using AD FS Preauthentication (Publicera program med hjälp av AD FS-förautentisering)
AD FS har stöd för tokenomvandling och utökning. Microsoft Entra-ID:t tillhandahåller inte den här funktionen. När du ställer in förtroenderelationer i AD FS kan du:
- Konfigurera anspråksomvandlingar för auktoriseringsregler. Du kan till exempel mappa gruppsäkerhet från en representation som används av en icke-Microsoft-partnerorganisation till något som Active Directory DS kan auktorisera i din organisation.
- Omvandla anspråk från ett format till ett annat. Du kan till exempel mappa från SAML 2.0 till SAML 1.1 om programmet endast har stöd för SAML 1.1-anspråk.
AD FS-övervakning
Microsoft System Center Management Pack för Active Directory Federation Services 2012 R2 ger både proaktiv och reaktiv övervakning av AD FS-distributionen för federationsservern. Det här hanteringspaketet övervakar:
- Händelser som AD FS-tjänsten registrerar i sina händelseloggar.
- De prestandadata som AD FS-prestandaräknaren samlar in.
- Den övergripande hälsan för AD FS-system och webbprogram (förlitande parter) och ger aviseringar för kritiska problem och varningar.
Ett annat alternativ är Övervaka AD FS med Hjälp av Microsoft Entra Connect Health. Microsoft Entra Connect Health tillhandahåller robust övervakning av din lokala identitetsinfrastruktur. Det gör att du kan upprätthålla en tillförlitlig anslutning till Microsoft 365 och Microsoft Online Services. Den här tillförlitligheten uppnås genom att övervakningsfunktioner tillhandahålls för dina viktiga identitetskomponenter. Dessutom blir de viktiga datapunkterna om dessa komponenter lättillgängliga.
Att tänka på
Dessa överväganden implementerar grundpelarna i Azure Well-Architected Framework, som är en uppsättning vägledande grundsatser som kan användas för att förbättra kvaliteten på en arbetsbelastning. Mer information finns i Microsoft Azure Well-Architected Framework.
Prestandaeffektivitet
Prestandaeffektivitet handlar om att effektivt skala arbetsbelastningen baserat på användarnas behov. Mer information finns i Översikt över grundpelare för prestandaeffektivitet.
Följande överväganden, som är en sammanfattning från artikeln Plan your AD FS deployment (Planera AD FS-distributionen), ger en utgångspunkt för att välja storlek på AD FS-servergrupper:
- Om du har färre än 1 000 användare ska du inte skapa dedikerade servrar, utan installera AD FS på var och en av Active Directory DS-servrarna i molnet. Se till att du har minst två Active Directory DS-servrar för att bibehålla tillgängligheten. Skapa en enskild WAP-server.
- Om du har mellan 1 000 och 15 000 användare skapar du två dedikerade AD FS-servrar och två dedikerade WAP-servrar.
- Om du har mellan 15 000 och 60 000 användare skapar du mellan tre och fem dedikerade AD FS-servrar och minst två dedikerade WAP-servrar.
Dessa överväganden förutsätter att du använder dubbla vm-storlekar med fyra kärnor (Standard D4_v2 eller bättre) i Azure.
Om du använder Interna baza podataka operativnog sistema Windows för att lagra AD FS-konfigurationsdata är du begränsad till åtta AD FS-servrar i servergruppen. Om du förväntar dig att du behöver mer i framtiden använder du SQL Server. Mer information finns i The Role of the AD FS Configuration Database (AD FS-konfigurationsdatabasens roll).
Tillförlitlighet
Tillförlitlighet säkerställer att ditt program kan uppfylla de åtaganden du gör gentemot dina kunder. Mer information finns i Översikt över tillförlitlighetspelare.
Skapa en AD FS-servergrupp med minst två servrar för att öka tjänstens tillgänglighet. Använd olika lagringskonton för varje virtuell AD FS-dator i servergruppen. Den här metoden hjälper till att säkerställa att ett fel i ett enda lagringskonto inte gör hela servergruppen otillgänglig.
Skapa separata Azure-tillgänglighetsuppsättningar för AD FS och virtuella WAP-datorer. Se till att det finns minst två virtuella datorer i varje uppsättning. Varje tillgänglighetsuppsättning måste ha minst två uppdateringsdomäner och två feldomäner.
Konfigurera lastbalanserarna för de virtuella AD FS-datorerna och de virtuella WAP-datorerna på följande sätt:
Använd en Azure-lastbalanserare för att ge extern åtkomst till de virtuella WAP-datorerna, och en intern lastbalanserare att fördela belastningen över AD FS-servrarna i servergruppen.
Skicka bara trafik som kommer på port 443 (HTTPS) till AD FS-/WAP-servrarna.
Ge lastbalanseraren en statisk IP-adress.
Skapa en hälsoavsökning med HTTP mot
/adfs/probe
. Mer information finns i Hälsokontroller för lastbalanserare för maskinvara och webbprogramproxy/AD FS 2012 R2.Kommentar
AD FS-servrarna använder SNI-protokollet (servernamnindikator), så det går inte att försöka söka av med en HTTPS-slutpunkt från lastbalanseraren.
Lägg till en DNS A-post till domänen för AD FS-lastbalanseraren. Ange IP-adressen för lastbalanseraren och ge den ett namn i domänen (till exempel
adfs.contoso.com
). Det här är det namn som klienter och WAP-servrarna använder för att få åtkomst till AD FS-servergruppen.
Du kan använda SQL Server eller Windows Internal Database för att lagra AD FS-konfigurationsinformationen. Windows Internal Database ger grundläggande redundans. Ändringar skrivs direkt till endast en av AD FS-databaserna i AD FS-klustret, medan de andra servrarna använder pull-replikering för att se till att databaserna är uppdaterade. Om SQL Server används kan det ge fullständig databasredundans och hög tillgänglighet med redundanskluster och spegling.
Säkerhet
Säkerhet ger garantier mot avsiktliga attacker och missbruk av dina värdefulla data och system. Mer information finns i Översikt över säkerhetspelare.
AD FS använder HTTPS, så se till att NSG-reglerna för undernätet som innehåller de virtuella datorerna på webbnivån tillåter HTTPS-begäranden. Dessa begäranden kan komma från det lokala nätverket, undernäten som innehåller webbnivån, affärsnivån, datanivån, privat DMZ, publik DMZ och undernätet som innehåller AD FS-servrarna.
Förhindra direkt exponering av AD FS-servrarna till Internet. AD FS-servrar är domänanslutna datorer som har fullständig behörighet att bevilja säkerhetstoken. Om en server utsätts för risk kan en användare med skadliga avsikter utfärda token med fullständig åtkomst till alla webbprogram och till alla federationsservrar som skyddas av AD FS. Om systemet måste hantera förfrågningar från externa användare som inte ansluter från betrodda samarbetspartner använder du WAP-servrar för att hantera dessa begäranden. Mer information finns i Where to Place a Federation Server Proxy (Var du ska placera en federationsserverproxy).
Placera AD FS-servrar och WAP-servrar i olika undernät med egna brandväggar. Du kan använda NSG-regler för att definiera brandväggsregler. Alla brandväggar ska tillåta trafik på port 443 (HTTPS).
Begränsa direkt inloggningsåtkomst till AD FS- och WAP-servrar. Endast DevOps-personal ska kunna ansluta. Anslut inte WAP-servrarna till domänen.
Överväg att använda en uppsättning virtuella nätverksenheter som loggar detaljerad information om trafik som passerar i utkanten av det virtuella nätverket i granskningssyfte.
Kostnadsoptimering
Kostnadsoptimering handlar om att titta på sätt att minska onödiga utgifter och förbättra drifteffektiviteten. Mer information finns i Översikt över kostnadsoptimeringspelare.
Här följer kostnadsöverväganden för de tjänster som används i den här arkitekturen.
AD Domain Services
Överväg att ha Active Directory Domain Services som en delad tjänst som används av flera arbetsbelastningar för att sänka kostnaderna. Mer information finns i Usluge domena aktivnog direktorijuma prissättning.
Active Directory Federation Services
Information om de utgåvor som erbjuds av Microsoft Entra ID finns i Microsoft Entra-priser. Funktionen AD Federation Services är tillgänglig i alla utgåvor.
Driftseffektivitet
DevOps-personal bör vara beredd att utföra följande uppgifter:
- Hantera federationsservrarna, inklusive att hantera AD FS-servergruppen, hantera förtroendeprinciper på federationsservrarna och hantera de certifikat som används av federationstjänsterna.
- Hantera WAP-servrarna, inklusive hantering av WAP-servergruppen och certifikat.
- Hantera webbprogram, inklusive att konfigurera förlitande parter, autentiseringsmetoder och anspråksmappningar.
- Säkerhetskopiera AD FS-komponenter.
Andra DevOps-överväganden finns i DevOps: Utöka Usluge domena aktivnog direktorijuma (AD DS) till Azure.
Deltagare
Den här artikeln underhålls av Microsoft. Det har ursprungligen skrivits av följande medarbetare.
Huvudförfattare:
- Sarah Parkes | Senior Cloud Solution Architect
Om du vill se icke-offentliga LinkedIn-profiler loggar du in på LinkedIn.
Nästa steg
- Dokumentation om Azure Activity Directory
- Hantera identitet i program med flera klienter
- Identitetshanteringssäkerhet
- Azure Firewall