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 CSP i dostawcy panelu sterowania mogą polegać na nowym modelu, aby zwiększyć bezpieczeństwo wywołań interfejsu API integracji z Centrum partnerskim. 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 oraz bezpośredni partnerzy CSP, którzy korzystają z identyfikatora aplikacji i uwierzytelniania użytkownika oraz bezpośrednio integrują się z interfejsami API Centrum Partnerów.

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 CPV współpracują z interfejsami API firmy Microsoft, aby składać zamówienia i udostępniać zasoby klientom.

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

  • Interfejsy API Centrum Partnerskiego, które implementują operacje związane z handlem, takie jak składanie zamówień i zarządzanie cyklem ż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) obsługujące funkcjonalność wdrażania w 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ą przypisywać sobie uprawnienia partnera CSP, aby wywołać interfejsy 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.

  • Uprawnienia dostępu muszą określać cel imitacji.

  • 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. Dla pojedynczej aplikacji dzierżawcy ta rejestracja jest prosta: odbywa się, gdy rejestrujesz aplikację na pulpicie nawigacyjnym platformy Azure.

W przypadku aplikacji wielotenantowej 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 dzienniku rejestrującym zgodę użytkownika na daną 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

Podczas przepływu aplikacji wielodostępnej korzystającej z open authorization (OAuth), aplikacja ta jest uznawana za aplikację wielodostępną w dzierżawie partnera CPV lub CSP.

Aby uzyskać dostęp do interfejsów API firmy Microsoft (interfejsów API Centrum partnerskiego, interfejsów API programu Graph itd.), partnerzy 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 Partner Center, za pomocą zgody oraz przydzielań dostępu 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 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 Partnerów: Dostęp

Aplikacja wielodostępna musi uzyskać zgodę i uprawnienia od partnerów i użyć ich do wykonywania kolejnych 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ę integracyjną, 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 dla wielu dzierżawców przechwytywanie zgody partnera Centrum partnerskiego CSP wraz z tokenem wielokrotnego użytku w celu wykonywania wywołań do API Centrum partnerskiego.

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

  1. Utwórz internetową aplikację do wprowadzania partnerów, która może hostować link do wyrażenia zgody, na który partner może kliknąć, aby zaakceptować jej stosowanie w aplikacji wielozadaniowej.
  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 za pomocą ID aplikacji i tajnego klucza, aby wywołać Microsoft Entra ID Tokens API 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 API Centrum Partnerskiego dla partnera. Po uzyskaniu tokenu odświeżania zaszyfruj go i zapisz go w magazynie kluczy tajnych, takim jak Azure Key Vault.

Przebieg procesu żą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żawcy partnera z zaufanego 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żawcy 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 uprawnienie "w imieniu" i umożliwia aplikacji marketplace podszywanie się pod partnera, który wyraził zgodę podczas wywoływania tych 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.