Najlepsze rozwiązania w zakresie zabezpieczeń dotyczące właściwości aplikacji w identyfikatorze Entra firmy Microsoft
Zabezpieczenia to ważna koncepcja podczas rejestrowania aplikacji w usłudze Microsoft Entra ID i jest krytyczną częścią jej użycia biznesowego w organizacji. Każda błędna konfiguracja aplikacji może spowodować przestój lub naruszenie zabezpieczeń. W zależności od uprawnień dodanych do aplikacji mogą istnieć efekty dla całej organizacji.
Ponieważ bezpieczne aplikacje są niezbędne dla organizacji, wszelkie przestoje z powodu problemów z zabezpieczeniami mogą mieć wpływ na firmę lub krytyczną usługę, od której zależy firma. Dlatego ważne jest, aby przydzielić czas i zasoby, aby zapewnić, że aplikacje zawsze pozostają w dobrej kondycji i bezpiecznym stanie. Przeprowadzanie okresowej oceny zabezpieczeń i kondycji aplikacji, podobnie jak ocena modelu zagrożeń bezpieczeństwa dla kodu. Aby uzyskać szerszą perspektywę dotyczącą zabezpieczeń dla organizacji, zobacz cykl projektowania zabezpieczeń (SDL).
W tym artykule opisano najlepsze rozwiązania dotyczące zabezpieczeń dla następujących właściwości aplikacji:
- Adres URI przekierowania
- Tokeny dostępu (używane w przypadku przepływów niejawnych)
- Certyfikaty i klucze tajne
- URI identyfikatora aplikacji
- Własność aplikacji
Adres URI przekierowania
Ważne jest, aby zapewnić aktualność identyfikatorów URI przekierowania aplikacji. W obszarze Uwierzytelnianie dla aplikacji w witrynie Azure Portal należy wybrać platformę dla aplikacji, a następnie można zdefiniować właściwość Identyfikator URI przekierowania.
Rozważ następujące wskazówki dotyczące identyfikatorów URI przekierowania:
- Zachowaj własność wszystkich identyfikatorów URI. Wygaśnięcie własności jednego z identyfikatorów URI przekierowania może prowadzić do naruszenia zabezpieczeń aplikacji.
- Upewnij się, że wszystkie rekordy DNS są okresowo aktualizowane i monitorowane pod kątem zmian.
- Nie używaj adresów URL odpowiedzi z symbolami wieloznacznymi ani niezabezpieczonych schematów identyfikatorów URI, takich jak http lub URN.
- Zachowaj małą listę. Przycinanie niepotrzebnych identyfikatorów URI. Jeśli to możliwe, zaktualizuj adresy URL z protokołu Http do https.
Tokeny dostępu (używane w przypadku przepływów niejawnych)
Scenariusze, które wymagały przepływu niejawnego, mogą teraz używać przepływu kodu uwierzytelniania, aby zmniejszyć ryzyko naruszenia bezpieczeństwa związanego z nieprawidłowym użyciem przepływu niejawnego. W obszarze Uwierzytelnianie dla aplikacji w witrynie Azure Portal należy wybrać platformę dla aplikacji, a następnie można ustawić właściwość Tokeny dostępu (używane dla niejawnych przepływów).
Rozważ następujące wskazówki dotyczące przepływu niejawnego:
- Dowiedz się, czy wymagany jest niejawny przepływ. Nie używaj przepływu niejawnego, chyba że jest to jawnie wymagane.
- Jeśli aplikacja została skonfigurowana do odbierania tokenów dostępu przy użyciu przepływu niejawnego, ale nie korzysta z nich aktywnie, wyłącz to ustawienie, aby chronić przed nieprawidłowym użyciem.
- Używaj oddzielnych aplikacji dla prawidłowych scenariuszy przepływu niejawnego.
Certyfikaty i klucze tajne
Certyfikaty i wpisy tajne, znane również jako poświadczenia, są istotną częścią aplikacji, gdy jest używana jako poufny klient. W obszarze Certyfikaty i wpisy tajne dla aplikacji w witrynie Azure Portal można dodać lub usunąć certyfikaty i wpisy tajne.
Rozważ następujące wskazówki dotyczące certyfikatów i wpisów tajnych:
- Zawsze używaj poświadczeń certyfikatu zawsze, gdy jest to możliwe i nie używaj poświadczeń haseł, nazywanych również wpisami tajnymi. Chociaż wygodne jest używanie wpisów tajnych haseł jako poświadczeń, jeśli to możliwe, użyj certyfikatów x509 jako jedynego typu poświadczeń do pobierania tokenów dla aplikacji.
- Skonfiguruj zasady metody uwierzytelniania aplikacji, aby zarządzać używaniem wpisów tajnych przez ograniczenie ich okresów istnienia lub całkowite zablokowanie ich użycia.
- Użyj usługi Key Vault z tożsamościami zarządzanymi , aby zarządzać poświadczeniami aplikacji.
- Jeśli aplikacja jest używana tylko jako publiczna aplikacja kliencka (umożliwia użytkownikom logowanie się przy użyciu publicznego punktu końcowego), upewnij się, że nie określono poświadczeń w obiekcie aplikacji.
- Przejrzyj poświadczenia używane w aplikacjach, aby uzyskać świeżość użycia i ich wygaśnięcie. Nieużywane poświadczenia w aplikacji mogą spowodować naruszenie zabezpieczeń. Często przerzucanie poświadczeń i nie udostępniaj poświadczeń w aplikacjach. Nie ma wielu poświadczeń w jednej aplikacji.
- Monitoruj potoki produkcyjne, aby uniemożliwić zatwierdzanie poświadczeń dowolnego rodzaju w repozytoriach kodu.
- Skaner poświadczeń to narzędzie do analizy statycznej, które może służyć do wykrywania poświadczeń (i innej poufnej zawartości) w kodzie źródłowym i danych wyjściowych kompilacji.
URI identyfikatora aplikacji
Właściwość Identyfikator URI identyfikatora aplikacji określa globalnie unikatowy identyfikator URI używany do identyfikowania internetowego interfejsu API. Jest to prefiks dla zakresów i tokenów dostępu, jest to również wartość oświadczenia odbiorców i musi używać zweryfikowanej domeny należącej do klienta. W przypadku aplikacji wielodostępnych wartość musi być również globalnie unikatowa. Jest on również określany jako identyfikator URI identyfikatora. W obszarze Uwidacznij interfejs API dla aplikacji w witrynie Azure Portal można zdefiniować właściwość Identyfikator URI aplikacji.
Rozważ następujące wskazówki dotyczące definiowania identyfikatora URI identyfikatora aplikacji:
- Zalecane są schematy identyfikatorów URI interfejsu API lub https. Ustaw właściwość w obsługiwanych formatach, aby uniknąć kolizji identyfikatorów URI w organizacji. Nie używaj symboli wieloznacznych.
- Użyj zweryfikowanej domeny w aplikacjach biznesowych (LoB).
- Zachowaj spis identyfikatorów URI w organizacji, aby zapewnić bezpieczeństwo.
- Użyj identyfikatora URI identyfikatora aplikacji, aby uwidocznić interfejs WebApi w organizacji. Nie używaj identyfikatora URI identyfikatora aplikacji do identyfikowania aplikacji, a zamiast tego użyj właściwości Identyfikator aplikacji (klienta).
Obsługiwane są następujące formaty identyfikatorów URI identyfikatora aplikacji opartego na schematach HTTP i interfejsu API. Zastąp wartości symboli zastępczych zgodnie z opisem na liście poniżej tabeli.
Identyfikator obsługiwanej aplikacji Formaty identyfikatora URI |
Przykładowe identyfikatory URI identyfikatorów aplikacji |
---|---|
<api:// appId> | api://00001111-aaaa-2222-bbbb-3333cccc4444 |
<api:// tenantId>/<appId> | api://aaaabbbb-0000-cccc-1111-dddd2222eeee/00001111-aaaa-2222-bbbb-3333cccc4444 |
<api:// tenantId>/<ciąg> | api://aaaabbbb-0000-cccc-1111-dddd2222eeee/api |
<api:// string>/<appId> | api://productapi/00001111-aaaa-2222-bbbb-3333cccc4444 |
<https:// tenantInitialDomain.onmicrosoft.com/>< string> | https://contoso.onmicrosoft.com/productsapi |
<https:// zweryfikowaneCustomDomain>/<ciąg> | https://contoso.com/productsapi |
<https:// ciąg.><verifiedCustomDomain> | https://product.contoso.com |
<https:// ciąg.><verifiedCustomDomain>/<string> | https://product.contoso.com/productsapi |
- <appId> — właściwość identyfikatora aplikacji (appId) obiektu aplikacji.
- <string> — wartość ciągu dla hosta lub segmentu ścieżki interfejsu API.
- <tenantId> — identyfikator GUID wygenerowany przez platformę Azure do reprezentowania dzierżawy na platformie Azure.
- <tenantInitialDomain> - <tenantInitialDomain.onmicrosoft.com>, gdzie< tenantInitialDomain> jest początkową nazwą domeny twórcą dzierżawy określonym podczas tworzenia dzierżawy.
- <verifiedCustomDomain> — zweryfikowana domena niestandardowa skonfigurowana dla dzierżawy firmy Microsoft Entra.
Uwaga
Jeśli używasz schematu api:// , należy dodać wartość ciągu bezpośrednio po "api://". Na przykład api://< ciąg.> Ta wartość ciągu może być identyfikatorem GUID lub dowolnym ciągiem. Jeśli dodasz wartość identyfikatora GUID, musi być zgodna z identyfikatorem aplikacji lub identyfikatorem dzierżawy. Wartość identyfikatora URI identyfikatora aplikacji musi być unikatowa dla dzierżawy. Jeśli dodasz identyfikator api://< tenantId> jako identyfikator URI identyfikatora aplikacji, nikt inny nie będzie mógł użyć tego identyfikatora URI w dowolnej innej aplikacji. Zaleceniem jest użycie api://< appId>, zamiast tego lub schematu HTTP.
Ważne
Wartość identyfikatora URI identyfikatora aplikacji nie może kończyć się ukośnikiem "/".
Konfiguracja własności aplikacji
Właściciele mogą zarządzać wszystkimi aspektami zarejestrowanej aplikacji. Ważne jest, aby regularnie przeglądać własność wszystkich aplikacji w organizacji. Aby uzyskać więcej informacji, zobacz Microsoft Entra access reviews (Przeglądy dostępu firmy Microsoft Entra). W obszarze Właściciele aplikacji w witrynie Azure Portal można zarządzać właścicielami aplikacji.
Rozważ następujące wskazówki dotyczące określania właścicieli aplikacji:
- Własność aplikacji powinna być przechowywana w minimalnym zestawie osób w organizacji.
- Administrator powinien przeglądać listę właścicieli co kilka miesięcy, aby upewnić się, że właściciele są nadal częścią organizacji i nadal powinni być właścicielami aplikacji.
Asystent integracji
Asystent integracji w witrynie Azure Portal może służyć do zapewnienia, że aplikacja spełnia pasek wysokiej jakości i zapewnia bezpieczną integrację. Asystent integracji wyróżnia najlepsze rozwiązania i zalecenia, które pomagają uniknąć typowych nadzoru podczas integracji z Platforma tożsamości Microsoft.
Następne kroki
- Aby uzyskać więcej informacji na temat przepływu kodu uwierzytelniania, zobacz przepływ kodu autoryzacji OAuth 2.0.