Informacje o tożsamościach obciążeń

Ukończone

Przepływy pracy, aplikacje i oprogramowanie wdrożenia wymagają specjalnego sposobu uwierzytelniania. W tej lekcji dowiesz się, dlaczego tożsamości obciążeń są ważne dla przepływów pracy wdrażania, sposobu ich dopasowania do modelu zabezpieczeń platformy Azure i sposobu ich działania.

Dlaczego przepływ pracy musi się uwierzytelniać?

Podczas wdrażania pliku Bicep skutecznie poprosisz usługę Azure Resource Manager o utworzenie lub zmodyfikowanie zasobów platformy Azure. W przykładowym scenariuszu utworzono plik Bicep, aby wdrożyć witrynę internetową swojej firmy. Plik Bicep deklaruje zasoby, które obejmują plan usługi aplikacja systemu Azure, aplikację i wystąpienie Szczegółowe informacje aplikacji.

Podczas wdrażania pliku usługa Resource Manager sprawdza, czy zasoby istnieją. Jeśli tak nie jest, usługa Resource Manager je utworzy. Jeśli jakiekolwiek zasoby już istnieją, usługa Resource Manager gwarantuje, że ich konfiguracja jest zgodna z konfiguracją określoną w pliku Bicep.

Wszystkie te operacje wymagają uprawnień, ponieważ uzyskują dostęp do zasobów platformy Azure i modyfikują je. Określone uprawnienia wymagane do wdrożenia zależą od tego, co zawiera plik Bicep. Aby wdrożyć przykładowy plik witryny sieci Web swojej firmowej witryny sieci Web, musisz mieć następujące uprawnienia w grupie zasobów, w której wdrażasz:

  • Możliwość tworzenia wdrożeń. Wdrożenia to zasoby o typie Microsoft.Resources/deployments.
  • Możliwość tworzenia i modyfikowania planów i aplikacji usługi App Service.
  • Możliwość tworzenia i modyfikowania wystąpień usługi Application Szczegółowe informacje.

Do tej pory prawdopodobnie samodzielnie wdrożono pliki Bicep przy użyciu interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell. W przypadku korzystania z tych narzędzi zwykle używasz własnego konta użytkownika i uwierzytelniasz się za pomocą przeglądarki. Jest to nazywane użyciem własnej tożsamości. Po przesłaniu wdrożenia platforma Azure sprawdza, czy tożsamość ma niezbędne uprawnienia do wykonywania określonego szablonu Bicep.

Po przejściu do przepływu pracy wdrażania funkcji GitHub Actions należy użyć innego typu tożsamości, ponieważ przepływ pracy uruchamia wdrożenia bez bezpośredniego zaangażowania.

Typy tożsamości

Microsoft Entra ID to usługa, która zarządza tożsamościami dla platformy Azure. Niektóre z głównych typów tożsamości to:

  • Tożsamości użytkowników: użytkownik reprezentuje człowieka, który zwykle loguje się interaktywnie przy użyciu przeglądarki. Użytkownicy często mają dodatkowe kontrole zabezpieczeń do wykonania podczas logowania, takie jak uwierzytelnianie wieloskładnikowe (MFA) i dostęp warunkowy w oparciu o ich lokalizację lub sieć.
  • Grupy: grupa reprezentuje kolekcję użytkowników. Grupy nie uwierzytelniają się bezpośrednio, ale zapewniają wygodny sposób przypisywania uprawnień do zestawu użytkowników razem.
  • Tożsamości obciążeń: obciążenie to zautomatyzowany proces lub system, który zwykle nie ma bezpośrednio uruchomionego przez człowieka. Obciążenie może zalogować się do identyfikatora Entra firmy Microsoft, ale nie ma człowieka do logowania się i interakcji z procesem uwierzytelniania. Tożsamości obciążeń nie mają uwierzytelniania wieloskładnikowego ani podobnych zabezpieczeń, ponieważ te funkcje wymagają od osoby wykonania czegoś w celu potwierdzenia tożsamości.

Ten moduł koncentruje się na tożsamościach obciążeń.

Tożsamości zarządzane

Tożsamość zarządzana jest skojarzona z zasobem platformy Azure. Platforma Azure automatycznie zarządza poświadczeniami. Gdy zasób musi uzyskać dostęp do czegoś, platforma Azure automatycznie zaloguje się przy użyciu poświadczeń.

Tożsamości zarządzane są dostępne dla zasobów hostowanych na platformie Azure, takich jak maszyny wirtualne i aplikacje usługi App Service. Są one doskonałym sposobem na uwierzytelnienie zasobów platformy Azure w sytuacjach, takich jak automatyzacja zarządzania platformą Azure, nawiązywanie połączenia z bazami danych i odczytywanie tajnych danych z usługi Azure Key Vault. W innych scenariuszach można też używać tożsamości zarządzanych z usługą Azure Arc.

Podczas pracy z przepływami pracy wdrażania zwykle nie używasz tożsamości zarządzanych. Tożsamości zarządzane wymagają posiadania zasobów platformy Azure i zarządzania nimi, które uruchamiają wdrożenia. Podczas pracy z funkcją GitHub Actions zwykle korzystasz z udostępnionej infrastruktury udostępnianej przez firmę Microsoft lub GitHub. Jednak w przypadku korzystania z tożsamości obciążenia z funkcją GitHub Actions można uzyskać główną zaletę tożsamości zarządzanych: nie musisz zarządzać żadnymi poświadczeniami.

Napiwek

W innych częściach rozwiązania, jeśli masz wybór między użyciem tożsamości zarządzanej lub użyciem normalnej jednostki usługi, najlepiej jest przejść z tożsamością zarządzaną. Tożsamości zarządzane są łatwiejsze do pracy i są zwykle bezpieczniejsze.

Dlaczego nie możesz po prostu używać konta użytkownika?

Możesz się zastanawiać, dlaczego musisz utworzyć ten nowy typ obiektu tylko w celu uwierzytelnienia przepływu pracy wdrażania, gdy masz konta użytkowników, które działają doskonale.

Konta użytkowników nie są przeznaczone do użytku nienadzorowanego. Proces uwierzytelniania konta użytkownika często sprawdza, czy użytkownik jest jednostką, która próbuje się zalogować. Coraz częściej organizacje korzystają z dodatkowych kontroli zabezpieczeń podczas uwierzytelniania. Te testy obejmują kontrole MFA, CAPTCHA i inspekcję urządzenia i sieci używanej przez użytkownika w celu zweryfikowania zasadności żądania zalogowania się.

Przepływy pracy są przeznaczone do uruchamiania wdrożeń nawet wtedy, gdy nikt nie uruchamia ich aktywnie. W rzeczywistości większość zalet przepływów pracy wdrażania wynika z faktu, że są one zautomatyzowane i nie wymagają interakcji człowieka.

Jeśli zapiszesz swoją nazwę użytkownika i hasło w przepływie pracy i spróbujesz użyć ich do zalogowania się, prawdopodobnie nie będą działać. Nawet jeśli wydają się działać, mogą łatwo przerwać w przyszłości, jeśli identyfikator Entra firmy Microsoft lub administrator organizacji doda więcej kontroli zabezpieczeń do procesu uwierzytelniania użytkownika.

Ostrzeżenie

Jest to również zły pomysł, aby zapisać nazwę użytkownika i hasło w dowolnym miejscu, ponieważ ktoś inny może uzyskać do nich dostęp, a następnie użyć ich do personifikacji.

Z tych powodów wbudowane zadania funkcji GitHub Actions, które wchodzą w interakcję z platformą Azure, nie umożliwiają podania poświadczeń konta użytkownika. Wymagają one użycia tożsamości obciążenia.

Jak działają tożsamości obciążeń?

Tożsamości obciążeń to funkcja identyfikatora Entra firmy Microsoft, która jest globalną usługą tożsamości. Wiele firm korzysta z identyfikatora Microsoft Entra ID, a każda firma jest nazywana dzierżawą.

Microsoft Entra ID ma pojęcie aplikacji, która reprezentuje system, kawałek oprogramowania, procesu lub innego agenta nieludzkiego. Przepływ pracy wdrażania można również traktować jako aplikację.

Podczas tworzenia aplikacji i informujesz o niej identyfikator entra firmy Microsoft, tworzysz obiekt o nazwie rejestracja aplikacji. Rejestracja aplikacji reprezentuje aplikację w identyfikatorze Entra firmy Microsoft.

Rejestracja aplikacji może mieć skojarzone poświadczenia federacyjne. Poświadczenia federacyjne nie wymagają przechowywania żadnych wpisów tajnych. Zamiast tego umożliwiają one obsługę obsługiwanej usługi, takiej jak GitHub, do korzystania z aplikacji Microsoft Entra.

Gdy przepływ pracy funkcji GitHub Actions musi się uwierzytelnić, kontaktuje się z identyfikatorem Entra firmy Microsoft za pośrednictwem usługi GitHub. Usługa GitHub informuje microsoft Entra ID nazwę organizacji i repozytorium GitHub oraz opcjonalnie inne informacje. Jeśli skonfigurowano poświadczenia federacyjne zgodne ze szczegółami repozytorium, firma Microsoft Entra uwierzytelnia przepływ pracy wdrażania. Przepływ pracy może używać uprawnień przypisanych do aplikacji.

Napiwek

Po zapoznaniu się z rejestracją aplikacji w witrynie Azure Portal zobaczysz wiele innych funkcji i konfiguracji, które mogą nie wydawać się istotne. Dzieje się tak, ponieważ aplikacje mogą wykonywać wiele czynności w identyfikatorze Entra firmy Microsoft, które wykraczają poza zakres wdrożeń uwierzytelniania i przepływu pracy.

Możesz również utworzyć obiekt jednostki usługi w dzierżawie firmy Microsoft Entra. Jednostka usługi jest jak kopia aplikacji dla własnej dzierżawy firmy Microsoft Entra do użycia. Jednostki usług i aplikacje są ściśle połączone. W dalszej części tego modułu użyjesz jednostki usługi, gdy przyznasz przepływowi pracy uprawnienia dostępu do platformy Azure.

Uwaga

Niektóre narzędzia nazywają jednostkę usługi aplikacją przedsiębiorstwa. Możesz również zobaczyć jednostki usługi nazywane aplikacjami zarządzanymi w katalogu lokalnym, ale nie są to takie same elementy jak tożsamości zarządzane.