Zabezpieczanie jednostek usługi w identyfikatorze Microsoft Entra
Jednostka usługi Microsoft Entra to lokalna reprezentacja obiektu aplikacji w dzierżawie lub katalogu. Jest to tożsamość wystąpienia aplikacji. Jednostki usługi definiują dostęp do aplikacji i zasoby, do których uzyskuje dostęp aplikacja. W każdej dzierżawie, w której używana jest aplikacja, tworzona jest jednostka usługi, która odwołuje się do unikalnego w skali globalnej obiektu aplikacji. Dzierżawa zabezpiecza logowanie jednostki usługi i dostęp do zasobów.
Dowiedz się więcej: Obiekty aplikacji i jednostki usługi w identyfikatorze Entra firmy Microsoft
Relacje jednostki usługi dzierżawy
Aplikacja z jedną dzierżawą ma jedną jednostkę usługi w swojej dzierżawie głównej. Wielodostępna aplikacja internetowa lub interfejs API wymaga jednostki usługi w każdej dzierżawie. Jednostka usługi jest tworzona, gdy użytkownik z tej dzierżawy wyraża zgodę na korzystanie z aplikacji lub interfejsu API. Ta zgoda tworzy relację jeden do wielu między aplikacją wielodostępną a skojarzonymi jednostkami usługi.
Aplikacja wielodostępna znajduje się w dzierżawie i ma wystąpienia w innych dzierżawach. Większość aplikacji typu oprogramowanie jako usługa (SaaS) obsługuje wiele dzierżaw. Użyj jednostek usługi, aby zapewnić wymagany stan zabezpieczeń aplikacji i jej użytkowników w scenariuszach z jedną i wieloma dzierżawami.
ApplicationID i ObjectID
Wystąpienie aplikacji ma dwie właściwości: ApplicationID (lub ClientID) i ObjectID.
Uwaga
Terminy aplikacji i jednostki usługi są używane zamiennie podczas odwoływania się do aplikacji w zadaniach uwierzytelniania. Jednak są to dwie reprezentacje aplikacji w identyfikatorze Entra firmy Microsoft.
Identyfikator aplikacji reprezentuje aplikację globalną i jest taki sam w przypadku wystąpień aplikacji w różnych dzierżawach. ObjectID jest unikatową wartością obiektu aplikacji. Podobnie jak w przypadku użytkowników, grup i innych zasobów, identyfikator ObjectID pomaga zidentyfikować wystąpienie aplikacji w identyfikatorze Entra firmy Microsoft.
Aby dowiedzieć się więcej, zobacz Relacja aplikacji i jednostki usługi w usłudze Microsoft Entra ID
Tworzenie aplikacji i jej obiektu jednostki usługi
Aplikację i jej obiekt jednostki usługi (ObjectID) można utworzyć w dzierżawie przy użyciu:
- Azure PowerShell
- Microsoft Graph PowerShell
- Interfejs wiersza polecenia platformy Azure (interfejs wiersza polecenia platformy Azure)
- Interfejsu API programu Microsoft Graph
- Azure Portal
- Inne narzędzia
Uwierzytelnianie nazwy głównej usługi
Istnieją dwa mechanizmy uwierzytelniania w przypadku korzystania z jednostek usługi — certyfikatów klienta i wpisów tajnych klienta.
Ponieważ certyfikaty są bezpieczniejsze, zaleca się ich używanie, jeśli jest to możliwe. W przeciwieństwie do wpisów tajnych klienta certyfikaty klienta nie mogą być osadzone w kodzie, przypadkowo. Jeśli to możliwe, użyj usługi Azure Key Vault do zarządzania certyfikatami i wpisami tajnymi, aby zaszyfrować zasoby przy użyciu kluczy chronionych przez sprzętowe moduły zabezpieczeń:
- Klucze uwierzytelniania
- Klucze kont magazynu
- Klucze szyfrowania danych
- Pliki pfx
- Passwords
Aby uzyskać więcej informacji na temat usługi Azure Key Vault i sposobu jej używania do zarządzania certyfikatami i wpisami tajnymi, zobacz:
Wyzwania i środki zaradcze
W przypadku korzystania z jednostek usługi skorzystaj z poniższej tabeli, aby dopasować wyzwania i środki zaradcze.
Zadanie | Czynności zapobiegawcze |
---|---|
Przeglądy dostępu dla jednostek usługi przypisanych do ról uprzywilejowanych | Ta funkcja jest dostępna w wersji zapoznawczej |
Przeglądy dostępu jednostki usługi | Ręczne sprawdzanie listy kontroli dostępu do zasobów przy użyciu witryny Azure Portal |
Jednostki usługi z nadmiernymi uprawnieniami | Podczas tworzenia kont usług automatyzacji lub jednostek usługi przyznaj uprawnienia do zadania. Oceń jednostki usługi, aby zmniejszyć uprawnienia. |
Identyfikowanie modyfikacji poświadczeń jednostki usługi lub metod uwierzytelniania | — Zobacz skoroszyt raportu dotyczący operacji poufnych — zobacz wpis w blogu Społeczności Technicznej, skoroszyt Firmy Microsoft Entra, aby ułatwić ocenę ryzyka solorigate |
Znajdowanie kont przy użyciu jednostek usługi
Aby znaleźć konta, uruchom następujące polecenia przy użyciu jednostek usługi za pomocą interfejsu wiersza polecenia platformy Azure lub programu PowerShell.
- Interfejs wiersza polecenia platformy Azure —
az ad sp list
- PowerShell —
Get-MgServicePrincipal -All:$true
Aby uzyskać więcej informacji, zobacz Get-MgServicePrincipal
Ocena zabezpieczeń jednostki usługi
Aby ocenić zabezpieczenia, oceń uprawnienia i magazyn poświadczeń. Skorzystaj z poniższej tabeli, aby rozwiązać problemy:
Zadanie | Czynności zapobiegawcze |
---|---|
Wykryj użytkownika, który wyraził zgodę na aplikację z wieloma dzierżawami, i wykryj nielegalne udzielenie zgody dla aplikacji wielodostępnej | — Uruchom następujący program PowerShell, aby znaleźć aplikacje wielodostępne Get-MgServicePrincipal -All:$true | ? {$_.Tags -eq "WindowsAzureActiveDirectoryIntegratedApp"} — Wyłączanie zgody użytkownika — zezwalaj na zgodę użytkownika zweryfikowanym wydawcom dla wybranych uprawnień (zalecane) — Konfigurowanie ich w kontekście użytkownika — wyzwalanie jednostki usługi przy użyciu tokenów |
Używanie zakodowanego wspólnego wpisu tajnego w skrypie przy użyciu jednostki usługi | Korzystanie z certyfikatu |
Śledzenie, kto używa certyfikatu lub wpisu tajnego | Monitorowanie logowań jednostki usługi przy użyciu dzienników logowania w usłudze Microsoft Entra |
Nie można zarządzać logowaniem jednostki usługi przy użyciu dostępu warunkowego | Monitorowanie logowań przy użyciu dzienników logowania w usłudze Microsoft Entra |
Współautor jest domyślną rolą kontroli dostępu na podstawie ról (RBAC) platformy Azure | Ocenianie potrzeb i stosowanie najmniejszych możliwych uprawnień |
Dowiedz się więcej: Co to jest dostęp warunkowy?
Przenoszenie z konta użytkownika do jednostki usługi
Jeśli używasz konta użytkownika platformy Azure jako jednostki usługi, sprawdź, czy możesz przejść do tożsamości zarządzanej lub jednostki usługi. Jeśli nie możesz użyć tożsamości zarządzanej, przyznaj jednostce usługi wystarczające uprawnienia i zakres do uruchamiania wymaganych zadań. Jednostkę usługi można utworzyć, rejestrując aplikację lub przy użyciu programu PowerShell.
W przypadku korzystania z programu Microsoft Graph zapoznaj się z dokumentacją interfejsu API. Upewnij się, że typ uprawnień dla aplikacji jest obsługiwany.
Zobacz Create servicePrincipal (Tworzenie obiektu servicePrincipal)
Więcej informacji:
- Jak używać tożsamości zarządzanych dla usług App Service i Azure Functions
- Tworzenie aplikacji Firmy Microsoft Entra i jednostki usługi, która może uzyskiwać dostęp do zasobów
- Tworzenie jednostki usługi przy użyciu programu Azure PowerShell przy użyciu certyfikatu
Następne kroki
Dowiedz się więcej o jednostkach usługi:
- Tworzenie aplikacji Firmy Microsoft Entra i jednostki usługi, która może uzyskiwać dostęp do zasobów
- Dzienniki logowania w usłudze identyfikatora Microsoft Entra
Zabezpieczanie kont usług:
- Zabezpieczanie kont usług opartych na chmurze
- Zabezpieczanie tożsamości zarządzanych w identyfikatorze Entra firmy Microsoft
- Zarządzanie kontami usługi Microsoft Entra
- Zabezpieczanie lokalnych kont usług
Dostęp warunkowy:
Użyj dostępu warunkowego, aby zablokować jednostki usługi z niezaufanych lokalizacji.
Zobacz Tworzenie zasad dostępu warunkowego opartego na lokalizacji