Udostępnij za pośrednictwem


Uwierzytelnianie aplikacji platformy .NET w usługach platformy Azure przy użyciu biblioteki tożsamości platformy Azure

Aplikacje mogą używać biblioteki tożsamości platformy Azure do uwierzytelniania w usłudze Microsoft Entra ID, co umożliwia aplikacjom dostęp do usług i zasobów platformy Azure. To wymaganie uwierzytelniania ma zastosowanie, czy aplikacja jest wdrażana na platformie Azure, hostowanej lokalnie lub lokalnie na stacji roboczej dewelopera. W poniższych sekcjach opisano zalecane podejścia do uwierzytelniania aplikacji w usłudze Microsoft Entra ID w różnych środowiskach podczas korzystania z bibliotek klienckich zestawu Azure SDK.

Uwierzytelnianie oparte na tokenach za pośrednictwem identyfikatora Entra firmy Microsoft to zalecane podejście do uwierzytelniania aplikacji na platformie Azure zamiast używania parametrów połączenia lub opcji opartych na kluczach. Biblioteka tożsamości platformy Azure udostępnia klasy, które obsługują uwierzytelnianie oparte na tokenach i umożliwiają aplikacjom uwierzytelnianie w zasobach platformy Azure niezależnie od tego, czy aplikacja działa lokalnie, na platformie Azure, czy na serwerze lokalnym.

Zalety uwierzytelniania opartego na tokenach

Uwierzytelnianie oparte na tokenach oferuje następujące zalety w porównaniu z ciągami połączenia.

  • Uwierzytelnianie oparte na tokenach zapewnia, że tylko określone aplikacje przeznaczone do uzyskania dostępu do zasobu platformy Azure mogą to zrobić, natomiast każda osoba lub dowolna aplikacja z parametrami połączenia może połączyć się z zasobem platformy Azure.
  • Uwierzytelnianie oparte na tokenach umożliwia dalsze ograniczenie dostępu do zasobów platformy Azure tylko do określonych uprawnień wymaganych przez aplikację. Jest to zgodne z regułą najniższych uprawnień. Natomiast parametry połączenia udzielają pełnych praw do zasobu platformy Azure.
  • W przypadku korzystania z tożsamości zarządzanej na potrzeby uwierzytelniania opartego na tokenach platforma Azure obsługuje funkcje administracyjne, więc nie musisz martwić się o zadania, takie jak zabezpieczanie lub rotacja wpisów tajnych. Dzięki temu aplikacja jest bezpieczniejsza, ponieważ nie ma żadnych parametrów połączenia ani sekretu aplikacji, które mogą zostać naruszone.
  • Biblioteka tożsamości platformy Azure uzyskuje tokeny firmy Microsoft i zarządza nimi.

Użycie parametrów połączenia powinno być ograniczone do scenariuszy, w których uwierzytelnianie oparte na tokenach nie jest opcją, początkowymi aplikacjami weryfikacji koncepcji ani prototypami deweloperskimi, które nie uzyskują dostępu do danych produkcyjnych ani poufnych. Jeśli to możliwe, użyj klas uwierzytelniania opartych na tokenach dostępnych w bibliotece tożsamości platformy Azure, aby uwierzytelnić się w zasobach platformy Azure.

Uwierzytelnianie w różnych środowiskach

Określony typ uwierzytelniania opartego na tokenach, którego aplikacja powinna używać do uwierzytelniania w zasobach platformy Azure, zależy od tego, gdzie działa aplikacja. Poniższy diagram zawiera wskazówki dotyczące różnych scenariuszy i środowisk:

Diagram przedstawiający zalecane strategie uwierzytelniania oparte na tokenach dla aplikacji w zależności od tego, gdzie jest uruchomiona.

Gdy aplikacja jest:

  • Hostowane na platformie Azure: aplikacja powinna uwierzytelniać się w zasobach platformy Azure przy użyciu tożsamości zarządzanej. Ta opcja została omówiona bardziej szczegółowo w uwierzytelnianiu w środowiskach serwerowych.
  • Uruchamianie lokalnie podczas programowania: Aplikacja może uwierzytelniać się na platformie Azure, używając głównej usługi aplikacji do lokalnego programowania lub poświadczeń Azure dewelopera. Każda opcja została omówiona bardziej szczegółowo w sekcji uwierzytelniania podczas rozwoju lokalnego.
  • Hostowane lokalnie: aplikacja powinna uwierzytelniać się w zasobach platformy Azure przy użyciu jednostki usługi aplikacji lub tożsamości zarządzanej w przypadku usługi Azure Arc. Lokalne przepływy pracy zostały omówione bardziej szczegółowo na temat uwierzytelniania w środowiskach serwera.

Uwierzytelnianie dla aplikacji hostowanych na platformie Azure

Gdy aplikacja jest hostowana na platformie Azure, może używać tożsamości zarządzanych do uwierzytelniania w zasobach platformy Azure bez konieczności zarządzania poświadczeniami. Istnieją dwa typy tożsamości zarządzanych: przypisane przez użytkownika i przypisane przez system.

Używanie tożsamości zarządzanej przypisanej przez użytkownika

Tożsamość zarządzana przypisana przez użytkownika jest tworzona jako autonomiczny zasób platformy Azure. Można ją przypisać do co najmniej jednego zasobu platformy Azure, umożliwiając tym zasobom współużytkowanie tej samej tożsamości i uprawnień. Aby uwierzytelnić się przy użyciu tożsamości zarządzanej przypisanej przez użytkownika, utwórz tożsamość, przypisz ją do zasobu platformy Azure, a następnie skonfiguruj aplikację tak, aby korzystała z tej tożsamości do uwierzytelniania, określając identyfikator klienta, identyfikator zasobu lub identyfikator obiektu.

Korzystanie z tożsamości zarządzanej przypisanej przez system

Tożsamość zarządzana przypisana przez system jest włączona bezpośrednio w zasobie platformy Azure. Tożsamość jest powiązana z cyklem życia tego zasobu i jest automatycznie usuwana po usunięciu zasobu. Aby uwierzytelnić się przy użyciu tożsamości zarządzanej przypisanej przez system, włącz tożsamość w zasobie platformy Azure, a następnie skonfiguruj aplikację tak, aby korzystała z tej tożsamości na potrzeby uwierzytelniania.

Uwierzytelnianie podczas programowania lokalnego

Podczas programowania lokalnego można uwierzytelnić się w zasobach platformy Azure przy użyciu poświadczeń dewelopera lub jednostki usługi. Dzięki temu można przetestować logikę uwierzytelniania aplikacji bez wdrażania jej na platformie Azure.

Używanie poświadczeń programisty

Możesz użyć własnych poświadczeń platformy Azure do uwierzytelniania w zasobach platformy Azure podczas programowania lokalnego. Zazwyczaj odbywa się to przy użyciu narzędzia programistycznego, takiego jak interfejs wiersza polecenia platformy Azure lub program Visual Studio, które może zapewnić aplikacji tokeny niezbędne do uzyskiwania dostępu do usług platformy Azure. Ta metoda jest wygodna, ale powinna być używana tylko do celów programistycznych.

Użycie głównego elementu usługi

Główna jednostka usługi jest tworzona w dzierżawie Microsoft Entra, aby reprezentować aplikację i służyć do uwierzytelniania w zasobach platformy Azure. Aplikację można skonfigurować tak, aby korzystała z poświadczeń jednostki usługi podczas programowania lokalnego. Ta metoda jest bezpieczniejsza niż używanie poświadczeń dewelopera i jest bliżej sposobu uwierzytelniania aplikacji w środowisku produkcyjnym. Jednak nadal jest to mniej idealne rozwiązanie niż używanie tożsamości zarządzanej ze względu na potrzebę obsługi tajemnic.

Uwierzytelnianie dla aplikacji hostowanych lokalnie

W przypadku aplikacji zainstalowanych lokalnie można użyć konta usługi do uwierzytelniania w zasobach platformy Azure. Obejmuje to utworzenie jednostki usługi w usłudze Microsoft Entra ID, przypisanie jej niezbędnych uprawnień i skonfigurowanie aplikacji do korzystania z jej poświadczeń. Ta metoda umożliwia aplikacji lokalnej bezpieczny dostęp do usług platformy Azure.