Bezpieczny dostęp do portalu deweloperów usługi API Management

DOTYCZY: Developer | Podstawowa | Podstawowa wersja 2 | Standardowa | Standardowa, wersja 2 | Premium

Usługa API Management ma w pełni dostosowywalny, autonomiczny, zarządzany portal dla deweloperów, który może być używany zewnętrznie (lub wewnętrznie), aby umożliwić użytkownikom deweloperów odnajdywanie interfejsów API publikowanych za pośrednictwem usługi API Management i korzystanie z nich. Portal dla deweloperów ma kilka opcji ułatwiających bezpieczne rejestrowanie i logowanie użytkownika.

Uwaga

Domyślnie portal deweloperów umożliwia dostęp anonimowy. Oznacza to, że każda osoba może wyświetlać portal i zawartość, taką jak interfejsy API bez logowania, chociaż funkcje takie jak korzystanie z konsoli testowej są ograniczone. Możesz włączyć ustawienie, które wymaga od użytkowników zalogowania się w celu wyświetlenia portalu deweloperów. W witrynie Azure Portal w menu po lewej stronie wystąpienia usługi API Management w obszarze Portal dla deweloperów> wybierz pozycję Tożsamości Ustawienia. W obszarze Użytkownicy anonimowi wybierz pozycję (włącz) Przekieruj anonimowych użytkowników do strony logowania.

Opcje uwierzytelniania

  • Użytkownicy zewnętrzni — preferowaną opcją, gdy portal deweloperów jest używany zewnętrznie, jest umożliwienie kontroli dostępu do klientów biznesowych za pośrednictwem usługi Azure Active Directory B2C (Azure AD B2C).

    • Usługa Azure AD B2C umożliwia korzystanie z kont natywnych usługi Azure AD B2C: użytkownicy tworzą konto w usłudze Azure AD B2C i używają tej tożsamości w celu uzyskania dostępu do portalu deweloperów.
    • Usługa Azure AD B2C jest również przydatna, jeśli chcesz, aby użytkownicy mieli dostęp do portalu dla deweloperów przy użyciu istniejących kont organizacji w mediach społecznościowych lub federacyjnych.
    • Usługa Azure AD B2C udostępnia wiele funkcji w celu ulepszenia środowiska rejestracji i logowania użytkownika końcowego, w tym dostępu warunkowego i uwierzytelniania wieloskładnikowego.

    Aby uzyskać instrukcje włączania uwierzytelniania usługi Azure AD B2C w portalu dla deweloperów, zobacz Jak autoryzować konta deweloperów przy użyciu usługi Azure Active Directory B2C w usłudze Azure API Management.

  • Użytkownicy wewnętrzni — preferowaną opcją, gdy portal deweloperów jest używany wewnętrznie, jest wykorzystanie firmowego identyfikatora Firmy Microsoft Entra. Usługa Microsoft Entra ID zapewnia bezproblemowe środowisko logowania jednokrotnego dla użytkowników firmowych, którzy muszą uzyskiwać dostęp do interfejsów API i odnajdywać je za pośrednictwem portalu dla deweloperów.

    Aby uzyskać instrukcje włączania uwierzytelniania entra firmy Microsoft w portalu dla deweloperów, zobacz Jak autoryzować konta deweloperów przy użyciu identyfikatora Microsoft Entra w usłudze Azure API Management.

  • Uwierzytelnianie podstawowe — domyślną opcją jest użycie wbudowanej nazwy użytkownika i dostawcy haseł portalu deweloperów, który umożliwia deweloperom rejestrowanie się bezpośrednio w usłudze API Management i logowanie przy użyciu kont użytkowników usługi API Management. Rejestracja użytkownika za pośrednictwem tej opcji jest chroniona przez usługę CAPTCHA.

Konsola testowa portalu dla deweloperów

Oprócz zapewnienia konfiguracji dla użytkowników deweloperów w celu zarejestrowania się w celu uzyskania dostępu i logowania portal deweloperów zawiera konsolę testową, w której deweloperzy mogą wysyłać żądania testowe za pośrednictwem usługi API Management do interfejsów API zaplecza. Ta funkcja testowania istnieje również w przypadku współtworzenia użytkowników usługi API Management, którzy zarządzają usługą przy użyciu witryny Azure Portal.

Jeśli interfejs API uwidoczniony za pośrednictwem usługi Azure API Management jest zabezpieczony za pomocą protokołu OAuth 2.0 — oznacza to, że aplikacja wywołująca (element nośny) musi uzyskać i przekazać prawidłowy token dostępu — możesz skonfigurować usługę API Management w celu wygenerowania prawidłowego tokenu w imieniu użytkownika konsoli testowej witryny Azure Portal lub portalu deweloperów. Aby uzyskać więcej informacji, zobacz How to authorize test console of developer portal by configuring OAuth 2.0 user authorization (Jak autoryzować konsolę testową portalu deweloperów przez skonfigurowanie autoryzacji użytkownika OAuth 2.0).

Aby umożliwić konsoli testowej uzyskanie prawidłowego tokenu OAuth 2.0 na potrzeby testowania interfejsu API:

  1. Dodaj serwer autoryzacji użytkownika OAuth 2.0 do wystąpienia. Możesz użyć dowolnego dostawcy OAuth 2.0, w tym identyfikatora Firmy Microsoft, usługi Azure AD B2C lub dostawcy tożsamości innej firmy.

  2. Następnie skonfiguruj interfejs API z ustawieniami dla tego serwera autoryzacji. W portalu skonfiguruj autoryzację protokołu OAuth 2.0 na stronie >Ustawienia interfejsu API Autoryzacja użytkownika zabezpieczeń>.

    Zrzut ekranu przedstawiający ustawienia protokołu OAuth dla interfejsu API w portalu.

Ta konfiguracja protokołu OAuth 2.0 na potrzeby testowania interfejsu API jest niezależna od konfiguracji wymaganej do uzyskania dostępu użytkownika do portalu deweloperów. Jednak dostawca tożsamości i użytkownik mogą być takie same. Na przykład aplikacja intranetowa może wymagać dostępu użytkownika do portalu deweloperów przy użyciu logowania jednokrotnego z tożsamością firmową. Ta sama tożsamość firmowa może uzyskać token za pośrednictwem konsoli testowej dla usługi zaplecza wywoływanej z tym samym kontekstem użytkownika.

Scenariusze

Różne opcje uwierzytelniania i autoryzacji mają zastosowanie do różnych scenariuszy. W poniższych sekcjach omówiono konfiguracje wysokiego poziomu dla trzech przykładowych scenariuszy. Aby w pełni zabezpieczyć i skonfigurować interfejsy API uwidocznione za pośrednictwem usługi API Management, wymagane są dalsze kroki. Jednak scenariusze celowo koncentrują się na minimalnych konfiguracjach zalecanych w każdym przypadku w celu zapewnienia wymaganego uwierzytelniania i autoryzacji.

Scenariusz 1 — intranetowy interfejs API i aplikacje

  • Współautor usługi API Management i deweloper interfejsu API zaplecza chce opublikować interfejs API zabezpieczony przez protokół OAuth 2.0.
  • Interfejs API będzie używany przez aplikacje klasyczne, których użytkownicy logują się przy użyciu logowania jednokrotnego za pośrednictwem identyfikatora Microsoft Entra.
  • Deweloperzy aplikacji klasycznych muszą również odnajdywać i testować interfejsy API za pośrednictwem portalu deweloperów usługi API Management.

Konfiguracje kluczy:

Konfigurowanie Odwołanie
Autoryzowanie użytkowników deweloperów portalu deweloperów usługi API Management przy użyciu tożsamości firmowych i identyfikatora Entra firmy Microsoft. Autoryzowanie kont deweloperów przy użyciu identyfikatora Microsoft Entra w usłudze Azure API Management
Skonfiguruj konsolę testową w portalu dla deweloperów, aby uzyskać prawidłowy token OAuth 2.0 dla deweloperów aplikacji klasycznych, aby przećwiczyć interfejs API zaplecza.

Tej samej konfiguracji można użyć dla konsoli testowej w witrynie Azure Portal, która jest dostępna dla współautorów usługi API Management i deweloperów zaplecza.

Token może być używany w połączeniu z kluczem subskrypcji usługi API Management.
Jak autoryzować konsolę testową portalu deweloperów, konfigurując autoryzację użytkownika protokołu OAuth 2.0

Subskrypcje w usłudze Azure API Management
Zweryfikuj token OAuth 2.0 i oświadczenia, gdy interfejs API jest wywoływany za pośrednictwem usługi API Management przy użyciu tokenu dostępu. Zasady weryfikowania tokenu JWT

Przejdź krok dalej w tym scenariuszu, przenosząc usługę API Management do obwodu sieci i kontrolując ruch przychodzący za pośrednictwem zwrotnego serwera proxy. Aby zapoznać się z architekturą referencyjną, zobacz Ochrona interfejsów API za pomocą usługi Application Gateway i usługi API Management.

Scenariusz 2 — zewnętrzny interfejs API, aplikacja partnerska

  • Współautor usługi API Management i deweloper interfejsu API zaplecza chce podjąć szybką weryfikację koncepcji, aby uwidocznić starszy interfejs API za pośrednictwem usługi Azure API Management. Interfejs API za pośrednictwem usługi API Management będzie dostępny zewnętrznie (internet).
  • Interfejs API używa uwierzytelniania certyfikatu klienta i będzie używany przez nową publiczną jednostronicową aplikację (SPA) opracowywaną przez partnera.
  • SPA używa protokołu OAuth 2.0 z Połączenie OpenID (OIDC).
  • Deweloperzy aplikacji będą uzyskiwać dostęp do interfejsu API w środowisku testowym za pośrednictwem portalu dla deweloperów przy użyciu punktu końcowego zaplecza testowego w celu przyspieszenia opracowywania frontonu.

Konfiguracje kluczy:

Konfigurowanie Odwołanie
Skonfiguruj dostęp dewelopera frontonu do portalu deweloperów przy użyciu domyślnej nazwy użytkownika i uwierzytelniania haseł.

Deweloperzy mogą być również zapraszani do portalu deweloperów.
Konfigurowanie użytkowników portalu deweloperów do uwierzytelniania przy użyciu nazw użytkowników i haseł

Zarządzanie kontami użytkowników w usłudze Azure API Management
Zweryfikuj token OAuth 2.0 i oświadczenia, gdy SPA wywołuje usługę API Management przy użyciu tokenu dostępu. W takim przypadku odbiorcą jest usługa API Management. Zasady weryfikowania tokenu JWT
Skonfiguruj usługę API Management, aby używać uwierzytelniania certyfikatu klienta w zapleczu. Zabezpieczanie usług zaplecza przy użyciu uwierzytelniania certyfikatu klienta w usłudze Azure API Management

Przejdź krok dalej w tym scenariuszu przy użyciu portalu dla deweloperów z autoryzacją firmy Microsoft Entra i współpracy firmy Microsoft Entra B2B, aby umożliwić partnerom dostarczania ściślejszą współpracę. Rozważ delegowanie dostępu do usługi API Management za pomocą kontroli dostępu opartej na rolach w środowisku projektowym lub testowym i włączenie logowania jednokrotnego w portalu deweloperów przy użyciu własnych poświadczeń firmowych.

Scenariusz 3 — zewnętrzny interfejs API, SaaS, otwarty dla publicznej wersji

  • Współautor usługi API Management i deweloper interfejsu API zaplecza piszą kilka nowych interfejsów API, które będą dostępne dla deweloperów społeczności.

  • Interfejsy API będą publicznie dostępne, z pełną funkcjonalnością chronioną za paywall i zabezpieczoną przy użyciu protokołu OAuth 2.0. Po zakupie licencji deweloper otrzyma własne poświadczenia klienta i klucz subskrypcji, który jest ważny do użytku produkcyjnego.

  • Deweloperzy społeczności zewnętrznej odnajdą interfejsy API przy użyciu portalu dla deweloperów. Deweloperzy będą rejestrować się w portalu deweloperów i logować się przy użyciu kont w mediach społecznościowych.

  • Zainteresowani użytkownicy portalu deweloperów z kluczem subskrypcji testowej mogą eksplorować funkcje interfejsu API w kontekście testowym bez konieczności zakupu licencji. Konsola testowa portalu deweloperów będzie reprezentować wywoływaną aplikację i wygenerować domyślny token dostępu do interfejsu API zaplecza.

    Uwaga

    W przypadku korzystania z przepływu poświadczeń klienta z konsolą testową portalu deweloperów wymagana jest dodatkowa ostrożność. Zobacz zagadnienia dotyczące zabezpieczeń.

Konfiguracje kluczy:

Konfigurowanie Odwołanie
Konfigurowanie produktów w usłudze Azure API Management w celu reprezentowania kombinacji interfejsów API udostępnianych deweloperom społeczności.

Skonfiguruj subskrypcje, aby umożliwić deweloperom korzystanie z interfejsów API.
Samouczek: Tworzenie i publikowanie produktu

Subskrypcje w usłudze Azure API Management
Skonfiguruj dostęp deweloperów społeczności do portalu deweloperów przy użyciu usługi Azure AD B2C. Następnie usługę Azure AD B2C można skonfigurować do pracy z co najmniej jednym podrzędnym dostawcą tożsamości mediów społecznościowych. Jak autoryzować konta deweloperów przy użyciu usługi Azure Active Directory B2C w usłudze Azure API Management
Skonfiguruj konsolę testową w portalu deweloperów, aby uzyskać prawidłowy token OAuth 2.0 do interfejsu API zaplecza przy użyciu przepływu poświadczeń klienta. Jak autoryzować konsolę testową portalu deweloperów, konfigurując autoryzację użytkownika protokołu OAuth 2.0

Dostosuj kroki konfiguracji pokazane w tym artykule, aby użyć przepływu udzielania poświadczeń klienta zamiast przepływu udzielania kodu autoryzacji.

Przejdź krok dalej, delegując rejestrację użytkownika lub subskrypcję produktu i rozszerzając proces o własną logikę.

Następne kroki

  • Dowiedz się więcej o uwierzytelnianiu i autoryzacji w Platforma tożsamości Microsoft.
  • Dowiedz się, jak ograniczyć zagrożenia bezpieczeństwa interfejsu API OWASP przy użyciu usługi API Management.