Udostępnij za pośrednictwem


Konfigurowanie aplikacji w celu uwidocznienia internetowego interfejsu API

W tym przewodniku z instrukcjami zarejestrujesz internetowy interfejs API za pomocą platformy tożsamości firmy Microsoft i uwidocznisz go aplikacjom klienckim, dodając zakres. Rejestrując internetowy interfejs API i uwidaczniając go za pomocą zakresów, przypisując rolę właściciela i aplikacji, możesz zapewnić dostęp oparty na uprawnieniach do swoich zasobów autoryzowanym użytkownikom i aplikacjom klienckim, które uzyskują dostęp do interfejsu API.

Wymagania wstępne

Rejestrowanie internetowego interfejsu API

Dostęp do interfejsów API wymaga konfiguracji zakresów dostępu i ról. Jeśli chcesz udostępnić interfejsy API aplikacji zasobów dla aplikacji klienckich, skonfiguruj zakresy dostępu i role dla API. Jeśli chcesz, aby aplikacja kliencka mogła uzyskać dostęp do internetowego interfejsu API, skonfiguruj uprawnienia dostępu do interfejsu API w rejestracji aplikacji. Aby zapewnić dostęp do zasobów w zakresie w interfejsie API w sieci, musisz najpierw zarejestrować ten interfejs w Platformie Tożsamości Microsoftu.

  1. Zaloguj się do centrum administracyjnego firmy Microsoft Entra co najmniej jako administrator aplikacji w chmurze.
  2. Jeśli masz dostęp do wielu dzierżaw, użyj ikony Ustawienia w górnym menu, aby przełączyć się do dzierżawy zawierającej rejestrację aplikacji z menu Katalogi i subskrypcje.
  3. Wykonaj kroki opisane w sekcji Rejestrowanie aplikacji i pomiń sekcję Identyfikator URI przekierowania (opcjonalnie). Nie musisz konfigurować identyfikatora URI przekierowania dla interfejsu API sieci Web, ponieważ żaden użytkownik nie loguje się interaktywnie.

Przypisz właściciela aplikacji

  1. W rejestracji aplikacji w obszarze Zarządzanie wybierz pozycję Właściciele i Dodaj właścicieli.
  2. W nowym oknie znajdź i wybierz właścicieli, których chcesz przypisać do aplikacji. Wybrani właściciele są wyświetlani w prawym panelu. Po zakończeniu potwierdź polecenie Wybierz. Właściciel(e) aplikacji będą teraz wyświetlani na liście właścicieli.

Uwaga

Upewnij się, że właściciel jest przypisany zarówno do aplikacji interfejsu API, jak i aplikacji, do której chcesz dodać uprawnienia. W przeciwnym razie interfejs API nie zostanie wyświetlony podczas żądania uprawnień interfejsu API.

Przypisywanie roli aplikacji

  1. W rejestracji aplikacji w obszarze Zarządzanie wybierz pozycję Role aplikacji i Utwórz rolę aplikacji.

  2. Następnie określ atrybuty roli aplikacji w okienku Tworzenie roli aplikacji. W tym przewodniku możesz użyć przykładowych wartości lub określić własne.

    Pole opis Przykład
    Nazwa wyświetlana Nazwa roli aplikacji Rekordy pracowników
    Dozwolone typy składowych Określa, czy rolę aplikacji można przypisać do użytkowników/grup i/lub aplikacji Aplikacje
    Wartość Wartość wyświetlana w oświadczeniu "roles" tokenu Employee.Records
    Opis Bardziej szczegółowy opis roli aplikacji Aplikacje mają dostęp do rekordów pracowników
  3. Zaznacz pole wyboru, aby włączyć rolę aplikacji, a następnie wybierz pozycję Zastosuj.

Dodaj zakres

Po zarejestrowaniu interfejsu API sieci oraz przypisaniu do niego roli aplikacji i właściciela, możesz dodać zakresy do kodu interfejsu API, aby zapewnić użytkownikom korzystającym z tego API granularne uprawnienia.

Kod w aplikacji klienckiej żąda uprawnień do wykonywania operacji zdefiniowanych przez internetowy interfejs API przez przekazanie tokenu dostępu wraz z żądaniami do chronionego zasobu (internetowego interfejsu API). Internetowy interfejs API wykonuje żądaną operację tylko wtedy, gdy otrzymany token dostępu zawiera zakresy wymagane do wykonania operacji.

Najpierw wykonaj następujące kroki, aby utworzyć przykładowy zakres o nazwie Employees.Read.All:

  1. Wybierz opcję Uwidacznianie interfejsu API.

  2. W górnej części strony wybierz Dodaj obok URI identyfikatora aplikacji. Ta wartość domyślna to api://<application-client-id>. Identyfikator URI aplikacji działa jako prefiks dla zakresów, do których odwołujesz się w kodzie swojego interfejsu API, i musi być globalnie unikatowy. Wybierz pozycję Zapisz.

  3. Wybierz pozycję Dodaj zakres:

    Okienko Uwidacznianie interfejsu API rejestracji aplikacji w witrynie Azure Portal

  4. Następnie określ atrybuty zakresu w okienku Dodawanie zakresu . W tym przewodniku możesz użyć przykładowych wartości lub określić własne.

    Pole opis Przykład
    Nazwa zakresu Nazwa zakresu. Typowa konwencja nazewnictwa zakresu to resource.operation.constraint. Employees.Read.All
    Kto może wyrazić zgodę Czy ten zakres może być wyrażony przez użytkowników, czy też jest wymagana zgoda administratora. Wyłącznie administratorzy powinni mieć przypisane wyższe uprawnienia. Administratorzy i użytkownicy
    Nazwa wyświetlana zgody administratora Krótki opis celu zakresu, który będzie widoczny tylko dla administratorów. Dostęp tylko do odczytu do rekordów pracowników
    Opis na potrzeby wyrażenia zgody przez administratora Bardziej szczegółowy opis uprawnień przyznanych przez zakres, który będzie widoczny tylko dla administratorów. Zezwalaj aplikacji na dostęp tylko do odczytu do wszystkich danych pracownika.
    Nazwa wyświetlana na potrzeby wyrażenia zgody przez użytkownika Krótki opis przeznaczenia zakresu. Wyświetlane użytkownikom tylko wtedy, gdy ustawisz opcję Kto może wyrazić zgodę na administratorów i użytkowników. Dostęp tylko do odczytu do ewidencji pracowników
    Opis na potrzeby wyrażenia zgody przez użytkownika Bardziej szczegółowy opis uprawnień przyznanych przez zakres. Wyświetlane użytkownikom tylko wtedy, gdy ustawisz opcję Kto może wyrazić zgodę na administratorów i użytkowników. Zezwól aplikacji na dostęp tylko do odczytu do danych pracownika.
    Stanowy Określa, czy zakres jest włączony, czy wyłączony. Włączono
  5. Wybierz Dodaj zakres.

  6. (Opcjonalnie) Aby pominąć monitowanie o wyrażenie zgody przez użytkowników aplikacji do zdefiniowanych zakresów, możesz wstępnie autoryzować aplikację kliencą w celu uzyskania dostępu do internetowego interfejsu API. Autoryzowanie wstępnie tylko zaufanych aplikacji klienckich, ponieważ użytkownicy nie będą mieli możliwości odrzucenia zgody.

    1. W obszarze Autoryzowane aplikacje klienckie wybierz pozycję Dodaj aplikację kliencką.
    2. Wprowadź identyfikator aplikacji (klienta) aplikacji klienckiej, którą chcesz wstępnie autoryzować. Na przykład taka aplikacja internetowa, którą wcześniej zarejestrowałeś.
    3. W obszarze Autoryzowane zakresy wybierz zakresy, dla których chcesz pominąć monitowanie o wyrażenie zgody, a następnie wybierz pozycję Dodaj aplikację.

    Jeśli wykonano ten opcjonalny krok, aplikacja kliencka jest teraz wstępnie autoryzowaną aplikacją kliencką (PCA), a użytkownicy nie będą monitowani o zgodę podczas logowania się do niej.

Następnie dodaj kolejny przykładowy zakres o nazwie Employees.Write.All , na który mogą wyrazić zgodę tylko administratorzy. Zakresy wymagające zgody administratora są zwykle używane do zapewniania dostępu do operacji z wyższymi uprawnieniami, a często przez aplikacje klienckie uruchamiane jako usługi backendowe lub demony, które nie logują użytkownika interaktywnie.

Aby dodać przykładowy Employees.Write.All zakres, wykonaj kroki opisane w sekcji Dodawanie zakresu i określ te wartości w okienku Dodawanie zakresu . Po zakończeniu wybierz pozycję Dodaj zakres :

Pole Przykładowa wartość
Nazwa zakresu Employees.Write.All
Kto może wyrazić zgodę Tylko administratorzy
Nazwa wyświetlana zgody administratora Dostęp do zapisywania danych pracowników
Opis na potrzeby wyrażenia zgody przez administratora Zezwól aplikacji na zapisowy dostęp do wszystkich danych pracowniczych.
Nazwa wyświetlana na potrzeby wyrażenia zgody przez użytkownika Brak (pozostaw pusty)
Opis na potrzeby wyrażenia zgody przez użytkownika Brak (pozostaw pusty)
Stanowy Włączono

Weryfikowanie uwidocznionych zakresów

Jeśli pomyślnie dodałeś oba przykładowe zakresy opisane w poprzednich sekcjach, pojawią się one w sekcji Eksponowanie interfejsu API rejestracji aplikacji Twojego internetowego interfejsu API, jak pokazano na poniższym obrazku.

Zrzut ekranu przedstawiający okienko Eksponowanie interfejsu API z dwoma uwidocznionymi zakresami.

Pełny ciąg zakresu to łączenie identyfikatora URI identyfikatora aplikacji internetowego interfejsu API i nazwy zakresu. Jeśli na przykład identyfikator URI aplikacji internetowego interfejsu API to https://contoso.com/api i nazwa zakresu to Employees.Read.All, pełny zakres to:

https://contoso.com/api/Employees.Read.All

Korzystanie z uwidocznionych zakresów

W następnym artykule z tej serii skonfigurujesz rejestrację aplikacji klienckiej, aby uzyskać dostęp do internetowego interfejsu API oraz zakresów, które zdefiniowałeś, postępując zgodnie z krokami opisanymi w tym artykule.

Gdy rejestracja aplikacji klienckiej ma uprawnienie dostępu do internetowego interfejsu API, klient może otrzymać token dostępu OAuth 2.0 przez platformę tożsamości. Gdy klient wywołuje interfejs API w internecie, przedstawia token dostępu, którego oświadczenie zakresu (scp) jest ustawione na uprawnienia określone w rejestracji aplikacji klienta.

Jeśli jest to konieczne, później można uwidocznić dodatkowe zakresy. Należy wziąć pod uwagę, że internetowy interfejs API może uwidocznić wiele zakresów skojarzonych z kilkoma operacjami. Zasób może kontrolować dostęp do interfejsu API sieci w czasie wykonywania, analizując żądania dotyczące zakresu (scp) w odbieranych tokenach dostępu OAuth 2.0.

Następny krok

Teraz, gdy udostępniłeś interfejs API swojej witryny, konfigurując jego zakresy, skonfiguruj rejestrację aplikacji klienckiej, aby miała uprawnienia do dostępu do tych zakresów.