Zarządzanie tożsamościami i dostępem dla akceleratora strefy docelowej usługi Azure Spring Apps
W tym artykule opisano zagadnienia dotyczące projektowania i zalecenia dotyczące uwierzytelniania użytkowników w usłudze Azure Spring Apps oraz przyznawanie użytkownikom niezbędnego poziomu dostępu do zasobów obciążeń.
Scentralizowany zespół platformy i zespoły ds. aplikacji muszą dobrze zrozumieć:
- Które zespoły wymagają dostępu do obciążenia aplikacji Azure Spring wdrożonego w strefie docelowej aplikacji.
- Role i odpowiedzialność użytkowników oraz osoby, które potrzebują dostępu.
- Minimalny poziom uprawnień potrzebny do wykonania tych obowiązków.
Aby uzyskać informacje o projekcie platformy, zobacz Obszar projektowania zarządzania tożsamościami i dostępem na platformie Azure.
Jako właściciel obciążenia postępuj zgodnie z tymi najlepszymi rozwiązaniami, aby upewnić się, że zasoby aplikacji nie naruszają granic zabezpieczeń organizacji ani ładu. Celem jest zapewnienie, że wdrożona aplikacja Azure Spring i powiązane zasoby obciążenia są bezpieczne i dostępne tylko dla autoryzowanych użytkowników. W przypadku stosowania tych rozwiązań chronisz poufne dane i zapobiegasz niewłaściwemu używaniu aplikacji i jej zasobów.
Uwagi dotyczące projektowania
Dostęp z aplikacji do innych usług. Aplikacja powinna się uwierzytelniać, gdy łączy się z usługami zaplecza, które są częścią obciążenia. To uwierzytelnianie chroni usługi przed nieautoryzowanym dostępem. Rozważ użycie funkcji identyfikatora Entra firmy Microsoft, aby zapobiec narzuceniu przechowywania poświadczeń i zarządzaniu nimi.
Dostęp do aplikacji. Użytkownicy mogą wysyłać żądania do aplikacji za pośrednictwem publicznego Internetu. Żądania mogą pochodzić z sieci prywatnych lub lokalnych. W obu przypadkach dostęp musi być uwierzytelniony na podstawie certyfikatów klienta lub za pośrednictwem identyfikatora Entra firmy Microsoft.
Rozważ opcje technologiczne mechanizmu odnajdywania usług, który wywołuje wywołania między aplikacjami. Opcje różnią się w zależności od warstwy usługi Azure Spring Apps.
- Podstawowa/Standardowa: odnajdywanie usługi Kubernetes lub zarządzany rejestr usługi Spring Cloud Service (przy użyciu Eureka)
- Enterprise: Tanzu Service Registry
Operator dostępu do zasobów. Członkowie zespołu z różnymi obowiązkami mogą uzyskiwać dostęp do obciążenia. Na przykład może być konieczne przyznanie dostępu:
- Członkowie zespołu platformy, którzy potrzebują dostępu operacyjnego.
- Członkowie zespołu aplikacji, którzy tworzą aplikacje.
- Inżynierowie devOps, którzy kompilują i zwalniają potoki, aby wdrożyć obciążenie i skonfigurować przy użyciu infrastruktury jako kodu (IaC).
- Inżynierowie niezawodności lokacji do rozwiązywania problemów.
Na podstawie celu dostępu określ poziom kontroli, którą chcesz podać użytkownikowi. Zacznij od zasady najniższych uprawnień. Przypisania ról RBAC mogą zagwarantować, że użytkownicy mają odpowiedni zestaw uprawnień dla swoich obowiązków i zachować granice. Przed utworzeniem ról niestandardowych należy rozważyć wbudowane role RBAC.
Dostęp do danych konfiguracji. W zależności od wybranej warstwy dla usługi Azure Spring Apps (Podstawowa/Standardowa lub Enterprise) musisz zdecydować o opcjach serwera konfiguracji.
W przypadku warstwy Podstawowa należy rozważyć obsługę po stronie serwera i klienta. Aby przechowywać pliki serwera konfiguracji, wybierz konfigurację zewnętrzną w systemie rozproszonym, na przykład Azure DevOps, GitHub, GitLab lub Bitbucket.
Możesz użyć repozytoriów publicznych lub prywatnych i wybrać ich mechanizm uwierzytelniania. Usługa Azure Spring Apps obsługuje podstawowe uwierzytelnianie oparte na hasłach lub tokenach oraz protokół SSH.
W przypadku przedsiębiorstw rozważ użycie usługi Konfiguracji aplikacji dla programu VMware Tanzu, która umożliwia zarządzanie zasobami ConfigMap natywnych dla platformy Kubernetes, które są wypełniane z właściwości zdefiniowanych w co najmniej jednym repozytorium Git.
Zalecenia dotyczące projektowania
Tożsamości zarządzane
Użyj tożsamości zarządzanych dla aplikacji, aby była uwierzytelniana za pośrednictwem identyfikatora Entra firmy Microsoft. Nie wszystkie usługi obsługują tę funkcję identyfikatora Entra firmy Microsoft. Aby uzyskać więcej informacji, zobacz Usługi platformy Azure, które obsługują uwierzytelnianie firmy Microsoft Entra.
Zdecyduj, który typ tożsamości zarządzanej jest odpowiedni dla twojego przypadku użycia. Rozważ kompromisy z łatwością zarządzania. Jeśli na przykład aplikacja musi uzyskać dostęp do wielu zasobów, zalecane są tożsamości zarządzane przypisane przez użytkownika. Jeśli jednak chcesz, aby uprawnienia związane z cyklem życia aplikacji były lepiej dostosowane do tożsamości zarządzanych przez system.
Aby uzyskać więcej informacji, zobacz Wybieranie tożsamości zarządzanych przypisanych przez system lub użytkownika.
Użyj wbudowanych ról RBAC platformy Azure, aby uprościć zarządzanie wymaganymi uprawnieniami dla tożsamości zarządzanej.
- Użyj własnej tożsamości zarządzanej dla usługi Azure Spring Apps.
- Oddzielnie używaj tożsamości zarządzanych przypisanych przez system i przypisanych przez użytkownika. Aby uzyskać więcej informacji, zobacz Najlepsze rozwiązania dotyczące korzystania z tożsamości zarządzanych.
- Użyj usługi Privileged Identity Management w usłudze Microsoft Entra ID.
Bezpieczna komunikacja internetowa
- Użyj certyfikatów wystawionych przez urząd certyfikacji, certyfikaty rozszerzonej weryfikacji lub certyfikaty z symbolami wieloznacznymi.
- Używaj certyfikatów z podpisem własnym tylko dla środowisk przedprodukcyjnych.
- Bezpieczne ładowanie certyfikatów z usługi Azure Key Vault.
Kontrola dostępu oparta na rolach (RBAC)
- Rozważ utworzenie ról niestandardowych. Postępuj zgodnie z zasadą najniższych uprawnień, gdy role gotowe do użycia wymagają modyfikacji istniejących uprawnień.
- Wybierz magazyn z rozszerzonymi zabezpieczeniami dla kluczy, wpisów tajnych, certyfikatów i konfiguracji aplikacji.
- W przypadku wdrażania automatycznego skonfiguruj jednostkę usługi z minimalnymi wymaganymi uprawnieniami do wdrożenia z potoku ciągłej integracji/ciągłego wdrażania.
- Włącz rejestrowanie diagnostyczne dla konsoli aplikacji, dzienników systemowych, dzienników przychodzących, dzienników kompilacji i dzienników zdarzeń kontenera. Te szczegółowe dzienniki umożliwiają diagnozowanie problemów z aplikacją i monitorowanie żądań dostępu. Po włączeniu tych dzienników dziennik aktywności usługi Azure Monitor zapewnia wgląd w zdarzenia na poziomie subskrypcji.