Udostępnij za pośrednictwem


Zabezpieczanie łączności z usługami i bazami danych platformy Azure z usługi aplikacja systemu Azure Service

Usługa App Service może wymagać połączenia z innymi usługami platformy Azure, takimi jak baza danych, magazyn lub inna aplikacja. To omówienie zaleca różne metody nawiązywania połączenia i kiedy ich używać.

Obecnie decyzja dotycząca podejścia do łączności jest ściśle związana z zarządzaniem wpisami tajnymi. Typowy wzorzec używania wpisów tajnych połączenia w parametry połączenia, takich jak nazwa użytkownika i hasło, klucz tajny itp., nie jest już uważany za najbezpieczniejsze podejście do łączności. Obecnie ryzyko jest jeszcze wyższe, ponieważ podmioty zagrożeń regularnie przeszukiwają publiczne repozytoria GitHub pod kątem przypadkowo zatwierdzonych wpisów tajnych połączenia. W przypadku aplikacji w chmurze najlepszym rozwiązaniem do zarządzania wpisami tajnymi jest brak wpisów tajnych. Podczas migracji do usługi aplikacja systemu Azure Aplikacja może zaczynać się od łączności opartej na wpisach tajnych, a usługa App Service umożliwia bezpieczne przechowywanie wpisów tajnych. Jednak platforma Azure może pomóc w zabezpieczeniu łączności zaplecza aplikacji za pośrednictwem uwierzytelniania firmy Microsoft Entra, co eliminuje całkowicie wpisy tajne w aplikacji.

Metoda połączenia Kiedy używać
Nawiązywanie połączenia przy użyciu tożsamości aplikacji * Chcesz całkowicie usunąć poświadczenia, klucze lub wpisy tajne z aplikacji.
* Usługa podrzędna platformy Azure obsługuje uwierzytelnianie firmy Microsoft Entra, takie jak Microsoft Graph.
* Zasób podrzędny nie musi znać bieżącego zalogowanego użytkownika lub nie potrzebuje szczegółowej autoryzacji bieżącego zalogowanego użytkownika.
Nawiązywanie połączenia w imieniu zalogowanego użytkownika * Aplikacja musi uzyskać dostęp do zasobu podrzędnego w imieniu zalogowanego użytkownika.
* Usługa podrzędna platformy Azure obsługuje uwierzytelnianie firmy Microsoft Entra, takie jak Microsoft Graph.
* Zasób podrzędny musi wykonywać szczegółową autoryzację bieżącego zalogowanego użytkownika.
Nawiązywanie połączenia przy użyciu wpisów tajnych * Zasób podrzędny wymaga wpisów tajnych połączenia.
* Aplikacja łączy się z usługami spoza platformy Azure, takimi jak lokalny serwer bazy danych.
* Usługa podrzędna platformy Azure nie obsługuje jeszcze uwierzytelniania firmy Microsoft Entra.

Nawiązywanie połączenia przy użyciu tożsamości aplikacji

Jeśli aplikacja używa już jednego zestawu poświadczeń w celu uzyskania dostępu do podrzędnej usługi platformy Azure, możesz szybko przekonwertować połączenie, aby zamiast tego użyć tożsamości aplikacji. Tożsamość zarządzana z usługi Microsoft Entra ID umożliwia usłudze App Service uzyskiwanie dostępu do zasobów bez wpisów tajnych i zarządzanie dostępem za pomocą kontroli dostępu opartej na rolach (RBAC). Tożsamość zarządzana może łączyć się z dowolnym zasobem platformy Azure, który obsługuje uwierzytelnianie firmy Microsoft Entra, a uwierzytelnianie odbywa się przy użyciu tokenów krótkotrwałych.

Na poniższej ilustracji przedstawiono następującą usługę App Service łączącą się z innymi usługami platformy Azure:

  • 1: Użytkownik odwiedza witrynę internetową usługi Azure App Service.
  • B: Bezpiecznie nawiąż połączenie z usługi App Service z inną usługą platformy Azure przy użyciu tożsamości zarządzanej.
  • C: Bezpiecznie nawiąż połączenie z usługi App Service do programu Microsoft Graph przy użyciu tożsamości zarządzanej.

Diagram przedstawiający tożsamość zarządzaną, która uzyskuje dostęp do zasobu z tożsamością użytkownika lub bez jej tożsamości.

Przykłady używania wpisów tajnych aplikacji do nawiązywania połączenia z bazą danych:

Nawiązywanie połączenia w imieniu zalogowanego użytkownika

Aplikacja może wymagać połączenia z usługą podrzędną w imieniu zalogowanego użytkownika. Usługa App Service umożliwia łatwe uwierzytelnianie użytkowników przy użyciu najpopularniejszych dostawców tożsamości (zobacz Uwierzytelnianie i autoryzacja w usługach aplikacja systemu Azure Service i Azure Functions). Jeśli używasz dostawcy firmy Microsoft (uwierzytelniania firmy Microsoft Entra), możesz następnie przepływać zalogowanego użytkownika do dowolnej usługi podrzędnej. Na przykład:

  • Uruchom zapytanie bazy danych, które zwraca poufne dane, do których zalogowany użytkownik ma uprawnienia do odczytu.
  • Pobierz dane osobowe lub podejmij działania jako zalogowany użytkownik w programie Microsoft Graph.

Na poniższej ilustracji przedstawiono aplikację, która bezpiecznie uzyskuje dostęp do bazy danych SQL w imieniu zalogowanego użytkownika.

Diagram architektury dla scenariusza samouczka.

Oto niektóre typowe scenariusze:

Nawiązywanie połączenia przy użyciu wpisów tajnych

Istnieją dwa zalecane sposoby używania wpisów tajnych w aplikacji: używanie wpisów tajnych przechowywanych w usłudze Azure Key Vault lub wpisów tajnych w ustawieniach aplikacji usługi App Service.

Używanie wpisów tajnych z usługi Key Vault

Usługa Azure Key Vault może służyć do bezpiecznego przechowywania wpisów tajnych i kluczy, monitorowania dostępu i używania wpisów tajnych oraz upraszczania administrowania wpisami tajnymi aplikacji. Jeśli usługa podrzędna nie obsługuje uwierzytelniania w usłudze Microsoft Entra lub wymaga parametry połączenia lub klucza, użyj usługi Key Vault do przechowywania wpisów tajnych i łączenia aplikacji z usługą Key Vault przy użyciu tożsamości zarządzanej i pobierania wpisów tajnych. Aplikacja może uzyskiwać dostęp do wpisów tajnych magazynu kluczy jako odwołania do usługi Key Vault w ustawieniach aplikacji.

Zalety tożsamości zarządzanych zintegrowanych z usługą Key Vault obejmują:

  • Dostęp do wpisu tajnego magazynu kluczy jest ograniczony do aplikacji.
  • Współautorzy aplikacji, tacy jak administratorzy, mogą mieć pełną kontrolę nad zasobami usługi App Service i jednocześnie nie mają dostępu do wpisów tajnych magazynu kluczy.
  • Nie jest wymagana żadna zmiana kodu, jeśli kod aplikacji uzyskuje już dostęp do wpisów tajnych połączenia z ustawieniami aplikacji.
  • Usługa Key Vault zapewnia monitorowanie i inspekcję osób, które uzyskiwały dostęp do wpisów tajnych.
  • Rotacja wpisów tajnych magazynu kluczy nie wymaga żadnych zmian w usłudze App Service.

Na poniższej ilustracji pokazano, jak usługa App Service łączy się z usługą Key Vault przy użyciu tożsamości zarządzanej, a następnie uzyskuje dostęp do usługi platformy Azure przy użyciu wpisów tajnych przechowywanych w usłudze Key Vault:

Diagram przedstawiający usługę App Service przy użyciu wpisu tajnego przechowywanego w usłudze Key Vault i zarządzanego przy użyciu tożsamości zarządzanej w celu nawiązania połączenia z usługami Azure AI.

Używanie wpisów tajnych w ustawieniach aplikacji

W przypadku aplikacji łączących się z usługami przy użyciu wpisów tajnych (takich jak nazwy użytkowników, hasła i klucze interfejsu API) usługa App Service może przechowywać je bezpiecznie w ustawieniach aplikacji. Te wpisy tajne są wstrzykiwane do kodu aplikacji jako zmienne środowiskowe podczas uruchamiania aplikacji. Ustawienia aplikacji są zawsze szyfrowane podczas przechowywania (szyfrowane w spoczynku). Aby uzyskać bardziej zaawansowane zarządzanie wpisami tajnymi, takie jak rotacja wpisów tajnych, zasady dostępu i historia inspekcji, spróbuj użyć usługi Key Vault.

Przykłady używania wpisów tajnych aplikacji do nawiązywania połączenia z bazą danych:

Następne kroki

Instrukcje: