Ramverk för säker programmodell
Microsoft introducerar ett säkert, skalbart ramverk för att autentisera molnlösningsleverantörspartner (CSP) och Kontrolna tabla-leverantörer (CPV) via MFA-arkitekturen (Microsoft Azure Multifactor Authentication). CSP-partner och Kontrolna tabla-leverantörer kan förlita sig på den nya modellen för att öka säkerheten för Partner Center API-integreringsanrop. Detta hjälper alla parter, inklusive Microsoft, CSP-partner och Kontrolna tabla leverantörer att skydda sin infrastruktur och sina kunddata från säkerhetsrisker.
Viktigt!
Azure Active Directory (Azure AD) Graph är inaktuell från och med den 30 juni 2023. Framöver gör vi inga ytterligare investeringar i Azure AD Graph. Azure AD Graph-API:er har inget serviceavtal eller underhållsåtagande utöver säkerhetsrelaterade korrigeringar. Investeringar i nya funktioner och funktioner görs endast i Microsoft Graph.
Vi drar tillbaka Azure AD Graph i stegvisa steg så att du har tillräckligt med tid för att migrera dina program till Microsoft Graph-API:er. Vid ett senare tillfälle som vi kommer att meddela kommer vi att blockera skapandet av nya program med hjälp av Azure AD Graph.
Mer information finns i Viktigt: Utfasning av Azure AD Graph Och Utfasning av Powershell-moduler.
Omfattning
Den här artikeln gäller för följande partner:
- Kontrolna tabla leverantörer (CPV: er) är oberoende programvaruleverantörer som utvecklar appar för användning av CSP-partner för att integrera med Partner Center-API:er. En CPV är inte en CSP-partner med direkt åtkomst till partnerinstrumentpanelen eller API:erna. De är de företag som utvecklar program (vanligtvis webbappar) som gör det möjligt för molntjänstleverantörer att sälja sina produkter via en enhetlig marknadsplats.
- CSP-indirekta leverantörer och CSP-direktpartner som använder app-ID + användarautentisering och direkt integrerar med Partnercenter-API:er.
Kommentar
För att kvalificera dig som en CPV måste du registrera dig för Partnercenter som en CPV först. Om du är en befintlig CSP-partner som också är en CPV gäller även den här förutsättningen för dig.
Säker programutveckling
När du gör beställningar för Microsoft-produkter på uppdrag av molntjänstleverantörer interagerar marketplace-program från CPV:er med Microsoft-API:er för att lägga beställningar och etablera resurser för kunder.
Några av dessa API:er är:
- API:er för Partnercenter implementerar handelsåtgärder som att göra beställningar och hantera prenumerationslivscykler.
- Microsoft Graph-API:er som implementerar identitetshantering för CSP-klienter och CSP-kundens klientorganisationer.
- API:er för Azure Resource Manager (ARM) som implementerar Azure-distributionsfunktioner.
CSP-partner har behörighet att agera åt sina kunder när de anropar Microsoft-API:er. Med delegerade privilegier kan CSP-partner slutföra inköps-, distributions- och supportscenarier för sina kunder.
Marketplace-program är utformade för att hjälpa CSP-partner att lista sina lösningar för kunder. För att uppnå detta måste Marketplace-program personifiera CSP-partnerbehörigheter för att anropa Microsoft-API:er.
Eftersom CSP-partnerprivilegier är höga och ger åtkomst till alla partnerkunder är det viktigt att förstå hur dessa program måste utformas för att klara säkerhetsexploateringsvektorer. Säkerhetsattacker på dessa känsliga program kan leda till att kunddata komprometteras. Därför måste behörighetsbidrag och personifiering av partnerprivilegier utformas för att följa principen om lägsta behörighet. Följande principer och bästa praxis säkerställer att marketplace-program är hållbara och kan stå emot kompromisser.
Säkerhetsprinciper för personifiering av autentiseringsuppgifter
Marketplace-program får inte lagra några autentiseringsuppgifter från CSP-partner.
CSP-partneranvändarlösenord ska inte delas.
CSP-partnerklientwebbappnycklar får inte delas med Kontrolna tabla leverantörer.
Ett Marketplace-program måste presentera programidentiteten tillsammans med partnerinformation i stället för att endast använda partnerautentiseringsuppgifter när anrop utger sig för att vara en CSP-partneridentitet.
Åtkomst till ett Marketplace-program måste baseras på principen om lägsta behörighet och tydligt formulerad i behörigheter.
Auktorisering för ett Marketplace-program måste pivoteras till flera autentiseringsuppgifter.
Programautentiseringsuppgifter och partnerautentiseringsuppgifter måste anges tillsammans för att få åtkomst.
Viktigt!
Det är viktigt att det inte finns någon enskild kompromisspunkt.
Åtkomsten måste begränsas till en specifik målgrupp eller ett visst API.
Åtkomst måste identifiera syftet med personifieringen.
Åtkomstbehörigheter för ett Marketplace-program måste vara tidsbundna. CSP-partner måste kunna förnya eller återkalla åtkomst till Marketplace-programmet.
Snabbkontroll eller reparationsprocesser måste finnas på plats för att hantera kompromisser av autentiseringsuppgifter för Marketplace-program.
Alla användarkonton ska använda tvåfaktorautentisering (2FA).
Programmodellen bör vara användarvänlig för extra säkerhetsbestämmelser, till exempel villkorlig åtkomst till en bättre säkerhetsmodell.
Kommentar
CSP-indirekta leverantörer och CSP-direktpartner som använder app-ID + användarautentisering och direkt integrerar med Partnercenter-API:er måste följa ovanstående principer för att skydda sina egna marketplace-program.
Programidentitet och begrepp
Program för flera klienter
Ett program med flera klientorganisationer är vanligtvis ett SaaS-program (programvara som en tjänst). Du kan konfigurera programmet så att det accepterar inloggningar från alla Microsoft Entra-klienter genom att konfigurera programtypen som multitenant på Azure-instrumentpanelen. Användare i alla Microsoft Entra-klienter kommer att kunna logga in på ditt program när de har samtyckt till att använda sitt konto med ditt program.
Mer information om hur du skapar ett program med flera klientorganisationer finns i Logga in alla Microsoft Entra-användare med hjälp av programmönstret för flera klientorganisationer.
Ramverk för medgivande
För att en användare ska kunna logga in på ett program i Microsoft Entra-ID måste programmet representeras i användarens klientorganisation, vilket gör att organisationen kan göra saker som att tillämpa unika principer när användare från deras klientorganisation loggar in på programmet. För ett enda klientprogram är den här registreringen enkel: det är den som sker när du registrerar programmet på Azure-instrumentpanelen.
För ett program med flera klienter finns den första registreringen för programmet i Microsoft Entra-klientorganisationen som används av utvecklaren. När en användare från en annan klientorganisation loggar in på programmet för första gången ber Microsoft Entra-ID dem att samtycka till de behörigheter som programmet begär. Om de samtycker skapas en representation av programmet som kallas tjänstens huvudnamn i användarens klientorganisation, och inloggningsprocessen kan fortsätta. En delegering skapas också i katalogen som registrerar användarens medgivande till programmet.
Kommentar
CSP-indirekta leverantörer och CSP-direktpartner som använder app-ID + användarautentisering och direkt integreras med PartnerCenter-API:er måste ge sitt godkännande till sitt Marketplace-program med samma ramverk för medgivande.
Medgivandeupplevelsen påverkas av de behörigheter som begärs av programmet. Microsoft Entra-ID har stöd för två typer av behörigheter, endast appar och delegerade.
- Appbehörighet beviljas direkt till programmets identitet. Du kan till exempel ge ett program behörighet att läsa listan över användare i en klientorganisation, oavsett vem som är inloggad i programmet.
- Delegerad behörighet ger ett program möjlighet att fungera som en inloggad användare för en delmängd av de saker som användaren kan göra. Du kan till exempel ge ett program delegerad behörighet att läsa den inloggade användarens kalender.
Vissa behörigheter godkänns av en vanlig användare, medan andra kräver en klientadministratörs medgivande. Mer information om Microsoft Entra-ramverk för medgivande finns i Förstå microsoft Entra-programmedgivandeupplevelser.
- Omfattningar, behörigheter och godkännande i Azure Active Directory v2.0-slutpunkten
- Förstå användar- och administratörsmedgivande
Tokenflöde för öppen auktorisering för flera program (OAuth)
I ett OAuth-flöde (öppen auktorisering för flera program) representeras programmet som ett program med flera klienter i CPV- eller CSP-partnerns klientorganisation.
För att få åtkomst till Microsoft API:er (Partnercenter-API:er, Graph-API:er och så vidare) måste CSP-partner logga in på programmet och godkänna att programmet anropar API:er för deras räkning.
Kommentar
CSP-indirekta leverantörer och CSP-direktpartner som använder app-ID och användarautentisering och som integreras direkt med Partnercenter-API:er måste ge sitt marketplace-program samtycke till att använda samma ramverk för medgivande.
Programmet får åtkomst till partnerns resurser, till exempel Graph- och Partnercenter-API:er, genom medgivande och OAuth-bidrag.
Skapa ett program med flera klientorganisationer
Ett program med flera klientorganisationer måste uppfylla följande krav:
- Det måste vara en webbapp med ett program-ID och en hemlig nyckel.
- Implicit autentiseringsläge måste vara inaktiverat.
Dessutom rekommenderar vi att du följer dessa metodtips:
- Använd ett certifikat för den hemliga nyckeln.
- Aktivera villkorlig åtkomst för att tillämpa BEGRÄNSNINGAR för IP-intervall. Detta kan kräva att fler funktioner aktiveras i Microsoft Entra-klientorganisationen.
- Tillämpa livslängdsprinciper för åtkomsttoken för programmet.
När du hämtar en token måste app-ID och hemlig nyckel visas. Den hemliga nyckeln kan vara ett certifikat.
Programmet kan konfigureras för att anropa flera API:er, inklusive Azure Resource Manager-API:er. Följande är den minsta uppsättning behörigheter som krävs för Partnercenter-API:er:
- Delegerade behörigheter för Microsoft Entra-ID: Åtkomst till katalogen som inloggad användare
- Partnercenter-API:er delegerade behörigheter: Åtkomst
Programmet samlar in partnermedgivande
Ett program med flera klientorganisationer måste inhämta medgivande från partner och använda medgivandet och bevilja för att göra ytterligare anrop till API:er för Partnercenter. Medgivande förvärvas via ett OAuth-autentiseringskodflöde.
För att få medgivande måste CPV:er eller CSP-partner skapa en onboarding-webbplats som kan godkänna ett autentiseringskodsbidrag från Microsoft Entra-ID.
Mer information finns i Auktorisera åtkomst till Azure Active - och Directory-webbprogram med hjälp av OAuth 2.0-kodtilldelningsflödet.
Här följer stegen för ett program med flera klientorganisationer för att samla in CSP-partnermedgivande tillsammans med en återanvändbar token för att göra anrop till Partnercenter-API:er.
Använd följande steg för att skaffa partnermedgivande.
- Skapa en partner onboarding-webbapp som kan vara värd för en medgivandelänk för partnern för att klicka igenom för att acceptera medgivande för programmet för flera klientorganisationer.
- CSP-partnern klickar på medgivandelänken. Till exempel:
https://login.microsoftonline.com/common/oauth2/authorize?&client_id=<marketplaceappid>&response_ty
- Inloggningssidan för Microsoft Entra förklarar de behörigheter som kommer att beviljas programmet för användarens räkning. CSP-partnern kan välja att använda autentiseringsuppgifterna för administratörsagenten eller försäljningsagenten för att logga in och godkänna medgivandet. Programmet får behörigheter baserat på den användarroll som används för att logga in.
- När medgivandet har beviljats skapar Microsoft Entra-ID ett huvudnamn för tjänsten för CPV:ns program för flera klienter i CSP-partnerns klientorganisation. Programmet ges OAuth-bidrag för att agera för användarens räkning. Dessa bidrag gör det möjligt för programmet med flera klientorganisationer att anropa Partnercenter-API:er för partnerns räkning. Nu omdirigeras Microsoft Entra-inloggningssidan till webbappen för partnerregistrering. Webbprogrammet tar emot en auktoriseringskod från Microsoft Entra-ID. Webbprogrammet för partnerregistrering måste använda auktoriseringskoden tillsammans med program-ID:t och den hemliga nyckeln för att anropa API:et för Microsoft Entra-ID-token för att hämta en uppdateringstoken.
- Lagra uppdateringstoken på ett säkert sätt. Uppdateringstoken är en del av de partnerautentiseringsuppgifter som används för att få åtkomst till Partnercenter-API:er för partnerns räkning. När uppdateringstoken har hämtats krypterar du den och lagrar den i ett hemligt nyckelarkiv, till exempel Azure-nyckelvalvet.
Samtalsflöde för tokenbegäran
En CPV:er eller CSP-partnerns program måste hämta en åtkomsttoken innan de anropar API:er för Partnercenter. Dessa API:er representeras på resurs-URL:en https://api.partnercenter.microsoft.com
.
Ett CPV-program bör identifiera vilket partnerkonto det måste personifiera för att anropa Partnercenter-API:er baserat på antingen produkt- eller federerad inloggning. Programmet hämtar den krypterade uppdateringstoken för den partnerklientorganisationen från det hemliga nyckelarkivet. Uppdateringstoken måste dekrypteras innan den används.
För CSP-partner där det bara finns en klientorganisation som ger sitt medgivande refererar partnerkontot till CSP-partnerns klientorganisation.
Uppdateringstoken är en token för flera målgrupper. Det innebär att uppdateringstoken kan användas för att hämta en token för flera målgrupper baserat på det medgivande som beviljas. Om partnermedgivande till exempel ges för Partnercenter-API:er och Microsoft Graph-API:er kan uppdateringstoken användas för att begära en åtkomsttoken för båda API:erna. Åtkomsttoken har beviljandet "för" och gör att ett Marketplace-program kan personifiera den partner som samtyckt när de anropade dessa API:er.
En åtkomsttoken kan hämtas för en enskild målgrupp i taget. Om ett program behöver åtkomst till flera API:er måste det begära flera åtkomsttoken för målgruppen. För att begära en åtkomsttoken måste programmet anropa API:et för Microsoft Entra-ID-token. Alternativt kan den också använda Microsoft Entra SDK:s AuthenticationContext.AcquireTokenAsync och skicka in följande information:
- Resurs-URL, som är slutpunkts-URL:en för programmet som ska anropas. Resurs-URL:en för Microsoft Partner Center-API:et är
https://api.partnercenter.microsoft.com
till exempel . - Programautentiseringsuppgifter som består av webbappens program-ID och hemliga nyckel.
- Uppdateringstoken
Den resulterande åtkomsttoken gör att programmet kan göra anrop till API:er som nämns i resursen. Programmet kan inte begära en åtkomsttoken för API:er som inte har beviljats behörighet som en del av begäran om medgivande. Attributet UserPrincipalName (UPN) är Microsoft Entra-användarnamnet för användarkontona.
Fler överväganden
Villkorlig åtkomst
När det gäller att hantera dina molnresurser är en viktig aspekt av molnsäkerhet identitet och åtkomst. I en mobil-första, moln-första värld kan användare komma åt din organisations resurser med hjälp av olika enheter och appar var som helst. Det räcker inte längre att bara fokusera på vem som kan komma åt en resurs. För att hantera balansen mellan säkerhet och produktivitet måste du också överväga hur en resurs används. Genom att använda villkorsstyrd åtkomst i Microsoft Entra kan du uppfylla det här kravet. Med villkorsstyrd åtkomst kan du implementera automatiserade beslut för åtkomstkontroll om åtkomst till dina molnappar, baserat på villkor.
Mer information finns i Vad är villkorlig åtkomst i Microsoft Entra-ID?
IP-intervallbaserade begränsningar
Du kan begränsa att token endast utfärdas till ett specifikt intervall med IP-adresser. Den här funktionen hjälper till att begränsa attackytan till ett specifikt nätverk.
Multifaktorautentisering
Genom att framtvinga multifaktorautentisering kan du begränsa autentiseringsuppgifternas komprometterande situationer genom att framtvinga verifiering av autentiseringsuppgifter till två eller flera formulär. Med den här funktionen kan Microsoft Entra-ID verifiera uppringarens identitet via säkra sekundära kanaler, till exempel mobil eller e-post, innan token utfärdas.
Mer information finns i Så här fungerar det: Azure Multi.