Udostępnij za pośrednictwem


Bezpieczna struktura modelu aplikacji

Firma Microsoft wprowadza bezpieczną, skalowalną platformę do uwierzytelniania partnerów dostawcy rozwiązań w chmurze (CSP) i dostawców panelu sterowania (CPV) za pośrednictwem architektury uwierzytelniania wieloskładnikowego (MFA) platformy Microsoft Azure. Partnerzy programu CSP i dostawcy panelu sterowania mogą polegać na nowym modelu w celu podniesienia poziomu zabezpieczeń wywołań integracji interfejsu API Centrum partnerskiego. Pomaga to wszystkim stronom, w tym firmie Microsoft, partnerom CSP i dostawcom panelu sterowania chronić swoją infrastrukturę i dane klientów przed zagrożeniami bezpieczeństwa.

Ważny

Usługa Azure Active Directory (Azure AD) Graph jest przestarzała od 30 czerwca 2023 r. W przyszłości nie dokonujemy dalszych inwestycji w usłudze Azure AD Graph. Interfejsy API programu Graph usługi Azure AD nie mają umowy SLA ani zobowiązania do konserwacji poza poprawkami związanymi z zabezpieczeniami. Inwestycje w nowe cechy i funkcjonalności zostaną dokonane tylko w usłudze Microsoft Graph.

Wycofamy program Azure AD Graph w krokach przyrostowych, aby mieć wystarczający czas na migrację aplikacji do interfejsów API programu Microsoft Graph. W późniejszym terminie ogłosimy, że zablokujemy tworzenie nowych aplikacji przy użyciu usługi Azure AD Graph.

Aby dowiedzieć się więcej, zobacz Uwaga: zaprzestanie używania Azure AD Graph i wycofanie modułu programu PowerShell.

Zakres

Ten artykuł dotyczy następujących partnerów:

  • Dostawcy panelu sterowania (CPV) to niezależni dostawcy oprogramowania, którzy tworzą aplikacje do użycia przez partnerów CSP w celu integracji z interfejsami API Centrum partnerskiego. CPV nie jest partnerem CSP z bezpośrednim dostępem do pulpitu nawigacyjnego lub interfejsów API partnera. Są to firmy, które tworzą aplikacje (zazwyczaj aplikacje internetowe), które umożliwiają dostawcom CSP sprzedawanie swoich produktów za pośrednictwem ujednoliconej platformy handlowej.
  • Dostawcy pośredni CSP i bezpośredni partnerzy CSP, którzy korzystają z identyfikatora aplikacji i uwierzytelniania użytkownika i bezpośrednio integrują się z interfejsami API Centrum partnerskiego.

Notatka

Aby zakwalifikować się jako Dostawca Rozwiązań Chmurowych (CPV), musisz najpierw dołączyć do Partner Center jako CPV. Jeśli jesteś istniejącym partnerem CSP, który równocześnie jest CPV, to wymaganie wstępne dotyczy Ciebie również.

Bezpieczne tworzenie aplikacji

W procesie składania zamówień na produkty Microsoft w imieniu dostawców CSP, aplikacje rynkowe od CPV współdziałają z interfejsami API firmy Microsoft, aby składać zamówienia i udostępniać zasoby dla klientów końcowych.

Niektóre z tych interfejsów API obejmują:

  • Interfejsy API Centrum partnerskiego, które implementują operacje handlowe, takie jak składanie zamówień i zarządzanie cyklami życia subskrypcji.
  • Interfejsy API programu Microsoft Graph, które implementują zarządzanie tożsamościami dla dzierżawców CSP i dzierżawców klientów CSP.
  • Interfejsy API usługi Azure Resource Manager (ARM) implementujące funkcjonalności wdrożeniowe Azure.

Partnerzy programu CSP mają uprawnienia delegowane do działania w imieniu swoich klientów podczas wywoływania interfejsów API firmy Microsoft. Delegowane uprawnienia umożliwiają partnerom CSP ukończenie scenariuszy zakupu, wdrażania i pomocy technicznej dla swoich klientów.

Aplikacje z witryny Marketplace zostały zaprojektowane w celu ułatwienia partnerom programu CSP wyświetlania listy rozwiązań dla klientów. Aby to osiągnąć, aplikacje platformy handlowej muszą personifikować uprawnienia partnera CSP w celu wywołania interfejsów API firmy Microsoft.

Ponieważ uprawnienia partnera CSP są wysokie i zapewniają dostęp do wszystkich klientów partnera, ważne jest, aby zrozumieć, w jaki sposób te aplikacje muszą być zaprojektowane tak, aby wytrzymały wektory wykorzystania zabezpieczeń. Ataki na zabezpieczenia tych poufnych aplikacji mogą prowadzić do naruszenia bezpieczeństwa danych klientów. W związku z tym przyznanie uprawnień i personifikacja uprawnień partnera muszą być zaprojektowane tak, aby przestrzegały zasady najniższych uprawnień. Poniższe zasady i najlepsze rozwiązania zapewniają trwałość aplikacji na platformie handlowej i mogą wytrzymać kompromisy.

Zasady zabezpieczeń dotyczące personifikacji poświadczeń

  • Aplikacje z witryny Marketplace nie mogą przechowywać żadnych poświadczeń od partnerów CSP.

  • Hasła użytkowników partnera CSP nie powinny być udostępniane.

  • Klucze aplikacji internetowej dzierżawy partnera CSP nie mogą być udostępniane dostawcom panelu sterowania.

  • Aplikacja platformy handlowej musi przedstawić tożsamość aplikacji wraz z informacjami o partnerze, zamiast używać tylko poświadczeń partnera podczas wykonywania połączeń podszywających się pod tożsamość partnera CSP.

  • Dostęp do aplikacji marketplace musi być oparty na zasadzie najniższych uprawnień i wyraźnie opisanych w uprawnieniach.

  • Autoryzacja dla aplikacji marketplace musi być oparta na wielu poświadczeniach.

  • Aby uzyskać dostęp, należy podać poświadczenia aplikacji i poświadczenia partnera.

    Ważny

    Ważne jest, aby nie było jednego punktu kompromisu.

  • Dostęp musi być ograniczony do określonej grupy odbiorców lub interfejsu API.

  • Dostęp musi identyfikować cel podszywania się.

  • Uprawnienia dostępu dla aplikacji marketplace muszą być ograniczone czasowo. Partnerzy programu CSP muszą mieć możliwość odnowienia lub odwołania dostępu do aplikacji marketplace.

  • Szybkie procesy kontroli lub korygowania muszą być na miejscu, aby zarządzać naruszeniami poświadczeń aplikacji Marketplace.

  • Wszystkie konta użytkowników powinny używać uwierzytelniania dwuskładnikowego (2FA).

  • Model aplikacji powinien być przyjazny dla dodatkowych przepisów dotyczących zabezpieczeń, takich jak dostęp warunkowy do lepszego modelu zabezpieczeń.

Notatka

Dostawcy pośredni CSP i bezpośredni partnerzy CSP, którzy korzystają z identyfikatora aplikacji i uwierzytelniania użytkownika i bezpośrednio integrują się z interfejsami API Centrum partnerskiego, muszą przestrzegać powyższych zasad w celu zabezpieczenia własnych aplikacji marketplace.

Tożsamość aplikacji i pojęcia

Aplikacje wielodziedziczne

Aplikacja wielotenantowa to zazwyczaj oprogramowanie jako usługa (SaaS). Aplikację można skonfigurować tak, aby akceptowała logowania z dowolnej dzierżawy Microsoft Entra, ustawiając typ aplikacji na wielodzierżawowy na pulpicie nawigacyjnym Azure . Użytkownicy w dowolnej dzierżawie Microsoft Entra będą mogli logować się do Twojej aplikacji po wyrażeniu zgody na użycie swojego konta z tą aplikacją.

Aby dowiedzieć się więcej na temat tworzenia aplikacji wielodostępnej, zobacz Zaloguj dowolnego użytkownika Microsoft Entra przy użyciu wzorca aplikacji wielodostępnej.

Aby użytkownik mógł zalogować się do aplikacji w usłudze Microsoft Entra ID, aplikacja musi być reprezentowana w dzierżawie użytkownika, co umożliwia organizacji stosowanie unikalnych polityk, gdy użytkownicy z ich dzierżawy logują się do aplikacji. W przypadku jednej aplikacji dzierżawy ta rejestracja jest prosta: jest taka, która występuje podczas rejestrowania aplikacji na pulpicie nawigacyjnym platformy Azure.

W przypadku aplikacji wielodostępnej początkowa rejestracja aplikacji znajduje się w dzierżawie Microsoft Entra używanej przez dewelopera. Gdy użytkownik z innej dzierżawy loguje się do aplikacji po raz pierwszy, identyfikator Entra firmy Microsoft prosi o zgodę na uprawnienia żądane przez aplikację. Jeśli wyrażą zgodę, w dzierżawie użytkownika zostanie utworzona reprezentacja aplikacji zwana główną jednostką usługi, a proces logowania może być kontynuowany. Delegacja jest również tworzona w katalogu rejestrującym zgodę użytkownika na aplikację.

Notatka

Dostawcy pośredni CSP i bezpośredni partnerzy CSP, którzy korzystają z uwierzytelniania z wykorzystaniem identyfikatora aplikacji i użytkownika oraz bezpośrednio integrują się z interfejsami API Centrum Partnerskiego, będą musieli wyrazić zgodę na swoją aplikację na platformie handlowej, używając tej samej struktury wyrażania zgody.

Doświadczenie zgody jest zależne od uprawnień żądanych przez aplikację. Identyfikator Entra firmy Microsoft obsługuje dwa rodzaje uprawnień, tylko dla aplikacji i delegowane.

  • Uprawnienia wyłącznie dla aplikacji są przyznawane bezpośrednio tożsamości aplikacji. Na przykład możesz przyznać aplikacji uprawnienie do odczytu listy użytkowników w dzierżawie, niezależnie od tego, kto jest zalogowany do aplikacji.
  • Uprawnienia delegowane przyznają aplikacji możliwość działania w imieniu zalogowanego użytkownika dla części funkcji, które użytkownik może wykonywać. Na przykład możesz przyznać aplikacji delegowane uprawnienie do odczytywania kalendarza zalogowanego użytkownika.

Niektóre uprawnienia są wyrażane przez zwykłego użytkownika, a inne wymagają zgody administratora dzierżawy. Aby uzyskać więcej informacji na temat platformy wyrażania zgody firmy Microsoft, zobacz Understanding Microsoft Entra application consent experiences.

Przepływ tokenu OAuth dla aplikacji wielodostępnej

W przepływie aplikacji wielodostępnej wykorzystującym open authorization (OAuth), aplikacja ta jest przedstawiana jako aplikacja wielodostępna w dzierżawie partnera CPV lub CSP.

Aby uzyskać dostęp do interfejsów API firmy Microsoft (interfejsy API Centrum partnerskiego, interfejsy API programu Graph itd.), partnerzy programu CSP muszą zalogować się do aplikacji i wyrazić zgodę na zezwolenie aplikacji na wywoływanie interfejsów API w ich imieniu.

Notatka

Dostawcy pośredni i bezpośredni partnerzy CSP, którzy używają identyfikatora aplikacji i uwierzytelniania użytkownika oraz bezpośrednio integrują się z interfejsami API Centrum partnerskiego, będą musieli wyrazić zgodę, aby ich aplikacja w rynku mogła używać tej samej struktury wyrażania zgody.

Aplikacja uzyskuje dostęp do zasobów partnera, takich jak interfejsy API Graph i Centrum partnerskiego, za pomocą zgody i uprawnień protokołu OAuth.

Stwórz aplikację wielodostępną

Aplikacja wielodostępna musi spełniać następujące wymagania:

  • Musi to być aplikacja internetowa z identyfikatorem aplikacji i kluczem tajnym.
  • Musi mieć wyłączony niejawny tryb uwierzytelniania.

Ponadto zalecamy przestrzeganie następujących najlepszych rozwiązań:

  • Użyj certyfikatu dla klucza tajnego.
  • Włącz dostęp warunkowy, aby zastosować ograniczenia zakresu adresów IP. Może to wymagać włączenia dodatkowych funkcji w dzierżawie firmy Microsoft Entra.
  • Stosowanie zasad okresu istnienia tokenu dostępu dla aplikacji.

Podczas uzyskiwania tokenu należy przedstawić identyfikator aplikacji i klucz tajny. Klucz tajny może być certyfikatem.

Aplikację można skonfigurować do wywoływania wielu interfejsów API, w tym interfejsów API usługi Azure Resource Manager. Poniżej przedstawiono minimalny zestaw uprawnień wymaganych dla interfejsów API Centrum partnerskiego:

  • Delegowane uprawnienia Microsoft Entra ID: Dostęp do katalogu jako zalogowany użytkownik
  • Delegowane uprawnienia interfejsów API Centrum partnerskiego: Access

Aplikacja wielodostępna musi uzyskać zgodę od partnerów i użyć tej zgody do wykonywania dalszych wywołań interfejsów API Centrum Partnerów. Zgoda jest uzyskiwana za pośrednictwem przepływu kodu uwierzytelniania OAuth.

Aby uzyskać zgodę, partnerzy CPV lub CSP muszą utworzyć witrynę rejestracyjną, która może przyjąć kod uwierzytelniający od Microsoft Entra ID.

Aby uzyskać więcej informacji, zapoznaj się z platformą tożsamości Microsoft i przepływem kodu autoryzacji OAuth 2.0.

Poniżej przedstawiono kroki umożliwiające aplikacji wielodostępnej przechwytywanie zgody partnera CSP wraz z tokenem wielokrotnego użytku w celu wykonywania wywołań do interfejsów API Centrum partnerskiego.

Aby uzyskać zgodę partnera, wykonaj następujące kroki.

  1. Utwórz aplikację internetową do wdrażania partnerów, która może hostować link do zgody, który partner może kliknąć, aby zaakceptować zgodę na aplikację wielodostępną.
  2. Partner CSP klika link zgody. Na przykład https://login.microsoftonline.com/common/oauth2/authorize?&client_id=<marketplaceappid>&response_ty
  3. Na stronie logowania firmy Microsoft Entra wyjaśniono uprawnienia, które zostaną przyznane aplikacji w imieniu użytkownika. Partner CSP może zdecydować się na użycie poświadczeń agenta administracyjnego lub agenta sprzedaży w celu zalogowania się i zatwierdzenia zgody. Aplikacja otrzymuje uprawnienia na podstawie roli użytkownika używanej do logowania.
  4. Po udzieleniu zgody identyfikator Entra firmy Microsoft tworzy jednostkę usługi wielodostępnej aplikacji CPV w dzierżawie partnera CSP.
    • Aplikacja otrzymuje przyznanie OAuth uprawnień do działania w imieniu użytkownika. Te dotacje umożliwiają aplikacji wielodostępnej wywoływanie interfejsów API Centrum partnerskiego w imieniu partnera.
    • Na tym etapie strona logowania firmy Microsoft Entra przekierowuje do aplikacji internetowej dołączania partnera. Aplikacja internetowa otrzymuje kod autoryzacji z identyfikatora Entra firmy Microsoft. Aplikacja internetowa do pozyskiwania partnerów musi używać kodu autoryzacji wraz z identyfikatorem aplikacji i kluczem tajnym do wywołania interfejsu API firmy Microsoft w celu uzyskania tokenu odświeżania.
  5. Bezpiecznie przechowuj token odświeżania. Token odświeżania jest częścią poświadczeń partnera używanych do uzyskiwania dostępu do interfejsów API Centrum partnerskiego w imieniu partnera. Po uzyskaniu tokenu odświeżania zaszyfruj go i zapisz go w magazynie kluczy tajnych, takim jak Azure Key Vault.

Przebieg wywołania żądania tokena

Aplikacja partnera CPV lub CSP musi uzyskać token dostępu przed wywołaniami interfejsów API Centrum partnerskiego. API są przedstawiane pod adresem URL zasobu https://api.partnercenter.microsoft.com.

Aplikacja CPV powinna zidentyfikować konto partnera, które musi personifikować w celu wywołania interfejsów API Centrum partnerskiego na podstawie logowania produktu lub federacyjnego. Aplikacja pobiera zaszyfrowany token odświeżenia dla dzierżawy partnera z bezpiecznego magazynu kluczy. Token odświeżania należy odszyfrować przed użyciem.

W przypadku partnerów CSP, gdzie tylko jeden dzierżawca udziela zgody, konto partnera odnosi się do dzierżawy partnera CSP.

Token odświeżania jest tokenem przeznaczonym dla wielu odbiorców. Oznacza to, że token odświeżania może być użyty do uzyskania tokenu dla wielu odbiorców w oparciu o udzieloną zgodę. Na przykład, jeśli udzielono zgody partnera na korzystanie z API Centrum partnerskiego i Microsoft Graph, token odświeżania może posłużyć do żądania tokenu dostępu dla obu tych API. Token dostępu ma przyznanie "w imieniu" i umożliwia aplikacji marketplace personifikację partnera, który wyraził zgodę podczas wywoływania tych interfejsów API.

Token dostępu można uzyskać dla pojedynczej grupy odbiorców naraz. Jeśli aplikacja musi uzyskać dostęp do wielu interfejsów API, musi zażądać wielu tokenów dostępu dla odbiorców docelowych. Aby zażądać tokenu dostępu, aplikacja musi wywołać API Tokenów Microsoft Entra ID . Alternatywnie, może również użyć metody AuthenticationContext.AcquireTokenAsync z zestawu SDK Microsoft Entra i przekazać następujące informacje:

  • Adres URL zasobu, który jest adresem URL punktu końcowego, do którego aplikacja ma się odwołać. Na przykład adres URL zasobu API Centrum Partnerów Microsoft to https://api.partnercenter.microsoft.com.
  • Poświadczenia aplikacji składające się z identyfikatora aplikacji internetowej i klucza tajnego aplikacji.
  • Token odświeżania

Wynikowy token dostępu umożliwia aplikacji wykonywanie wywołań do interfejsów API wymienionych w zasobie. Aplikacja nie może zażądać tokenu dostępu dla interfejsów API, którym nie udzielono uprawnień w ramach żądania zgody. Wartość atrybutu UserPrincipalName (UPN) to nazwa użytkownika Microsoft Entra dla kont użytkowników.

Więcej zagadnień

Dostęp warunkowy

Jeśli chodzi o zarządzanie zasobami w chmurze, kluczowym aspektem zabezpieczeń chmury jest tożsamość i dostęp. W świecie korzystającym z aplikacji mobilnych i chmurowych użytkownicy mogą uzyskiwać dostęp do zasobów organizacji przy użyciu różnych urządzeń i aplikacji z dowolnego miejsca. Po prostu skupienie się na tym, kto może uzyskać dostęp do zasobu, nie wystarczy. Aby opanować równowagę między zabezpieczeniami i produktywnością, należy również rozważyć sposób uzyskiwania dostępu do zasobu. Korzystając z dostępu warunkowego firmy Microsoft Entra, możesz rozwiązać to wymaganie. Za pomocą dostępu warunkowego można zaimplementować zautomatyzowane decyzje dotyczące kontroli dostępu w celu uzyskiwania dostępu do aplikacji w chmurze opartych na warunkach.

Aby uzyskać więcej informacji, zobacz Co to jest dostęp warunkowy w identyfikatorze Entra firmy Microsoft?

Ograniczenia oparte na zakresie adresów IP

Można ograniczyć wystawianie tokenów tylko do określonego zakresu adresów IP. Ta funkcja ułatwia ograniczenie obszaru podatnego na ataki tylko do określonej sieci.

Uwierzytelnianie wieloskładnikowe

Wymuszanie uwierzytelniania wieloskładnikowego pomaga ograniczyć sytuacje naruszenia zabezpieczeń poświadczeń przez wymuszanie weryfikacji poświadczeń do co najmniej dwóch formularzy. Ta funkcja umożliwia firmie Microsoft Entra ID zweryfikowanie tożsamości obiektu wywołującego za pośrednictwem bezpiecznych kanałów pomocniczych, takich jak urządzenia przenośne lub wiadomości e-mail, przed wystawieniem tokenów.

Aby uzyskać więcej informacji, zobacz Jak to działa: Azure Multi.