Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Podczas wdrażania rozwiązań opartych na chmurze na potrzeby wdrożeń infrastruktury bezpieczeństwo zawsze powinno być najważniejszym problemem. Firma Microsoft zapewnia bezpieczeństwo podstawowej infrastruktury chmury. Zabezpieczenia można skonfigurować w usłudze Azure DevOps lub GitHub.
Wymagania wstępne
Po podjęciu decyzji, które szablony strefy docelowej platformy Azure mają zostać wdrożone, sklonuj je do własnego repozytorium. Skonfiguruj pipeline'y ciągłej integracji/ciągłego wdrażania. W przypadku usług GitHub i Azure DevOps dostępnych jest kilka metod uwierzytelniania, takich jak osobiste tokeny dostępu (PAT) i integracja z dostawcą tożsamości, na przykład Microsoft Entra ID. Aby uzyskać więcej informacji, zobacz Używanie osobistych tokenów dostępu.
Zalecamy integrację z usługą Microsoft Entra ID, aby korzystać ze wszystkich jego możliwości. Integracja pomaga usprawnić proces przypisywania ról i zarządzanie cyklem życia tożsamości. Aby uzyskać więcej informacji, zapoznaj się z Łączenie organizacji z Microsoft Entra ID. Jeśli używasz usługi GitHub, rozważ zintegrowanie usługi GitHub Enterprise z identyfikatorem Entra firmy Microsoft.
Ogólne zagadnienia dotyczące projektowania
Zalecamy ścisłą kontrolę nad administratorami i grupami kont usług w ramach identyfikatora Entra firmy Microsoft i narzędzia DevOps. Rozważ zaimplementowanie zasady najniższych uprawnień we wszystkich przypisaniach ról.
Na przykład Organizacja może mieć zespół ds. platformy lub doskonałości w chmurze, który obsługuje szablony usługi Azure Resource Manager dla stref docelowych platformy Azure. Przypisz użytkowników w tym zespole do grupy zabezpieczeń w usłudze Microsoft Entra ID, zakładając, że używasz jej jako dostawcy tożsamości. Przypisz role do tej grupy zabezpieczeń w narzędziu DevOps, aby ci użytkownicy mogli wykonywać swoje zadania.
W przypadku wszystkich kont administratorów lub kont z wysokimi uprawnieniami w usłudze Active Directory zalecamy, aby poświadczenia nie zostały zsynchronizowane z identyfikatorem Entra firmy Microsoft i na odwrót. Takie podejście zmniejsza zagrożenie ruchu bocznego. Jeśli administrator w usłudze Microsoft Entra ID zostanie naruszony, osoba atakująca nie będzie mogła łatwo uzyskać dostępu do żadnych zasobów w chmurze, takich jak Azure DevOps. To konto nie może potencjalnie wstrzyknąć złośliwych zadań w potokach ciągłej integracji/ciągłego wdrażania. Ten krok jest szczególnie ważny dla wszystkich użytkowników o podwyższonych uprawnieniach w środowisku DevOps, takich jak Build lub administratorzy projektu/kolekcji. Aby uzyskać więcej informacji, zobacz Najlepsze rozwiązania w zakresie zabezpieczeń w usłudze Microsoft Entra ID.
Zagadnienia dotyczące dostępu opartego na rolach usługi Azure DevOps
Zarządzanie zabezpieczeniami w usłudze Azure DevOps przy użyciu grup zabezpieczeń, zasad i ustawień na poziomie organizacji/kolekcji, projektu lub obiektu. Aby zintegrować się z dostawcą tożsamości, takim jak Microsoft Entra ID, rozważ utworzenie zasad dostępu warunkowego w celu wymuszania uwierzytelniania wieloskładnikowego dla wszystkich użytkowników. Zasady umożliwiają dostęp do organizacji usługi Azure DevOps i bardziej szczegółowe ograniczenia dotyczące adresu IP, typu urządzenia używanego do uzyskiwania dostępu i zgodności urządzeń.
W przypadku większości członków zespołu w zespole platformy, którzy zarządzają strefami docelowymi platformy Azure, domyślny poziom dostępu i domyślna grupa zabezpieczeń Współautor powinna zapewnić wystarczający dostęp. Grupa zabezpieczeń Współautor umożliwia edytowanie szablonów strefy docelowej platformy Azure w repozytorium oraz potoków ciągłej integracji/ciągłego wdrażania, które je weryfikują i wdrażają.
Zalecamy przypisanie zespołu ds. platformy do grupy zabezpieczeń "Współautor" na poziomie projektu usługi Azure DevOps. Takie podejście jest zgodne z zasadą najniższych uprawnień. Te zadania można zrealizować za pomocą strony Ustawienia projektu pokazanej poniżej.
Innym najlepszym rozwiązaniem dla usługi Azure DevOps Projects i organizacji jest wyłączenie dziedziczenia tam, gdzie to możliwe. Użytkownicy przejmują uprawnienia przydzielone im przez ich przypisania do grup zabezpieczeń. Ze względu na domyślnie dozwolony charakter dziedziczenia, nieoczekiwani użytkownicy mogą uzyskać dostęp lub uprawnienia.
Na przykład, jeśli przypiszesz członkostwo w grupie zabezpieczeń Współautorów platformy, sprawdź ich uprawnienia w repozytorium Stref Lądowania Azure. Powinny być na miejscu zasady dotyczące gałęzi, aby zweryfikować, czy grupie zabezpieczeń nie wolno pominąć tych zasad podczas żądań scalania. Sprawdź to ustawienie w obszarzeRepozytoria> projektu.
Po przypisaniu uprawnień do użytkowników okresowo przejrzyj zdarzenia inspekcji, aby monitorować i reagować na nieoczekiwane wzorce użycia przez administratorów i innych użytkowników. Zacznij od utworzenia strumienia inspekcji w obszarze roboczym usługi Log Analytics. Jeśli obszar roboczy korzysta z usługi Microsoft Sentinel, utwórz reguły analizy, aby otrzymywać alerty dotyczące istotnych zdarzeń, takich jak niewłaściwe użycie uprawnień.
Aby uzyskać więcej informacji, zobacz następujące zasoby:
- Najlepsze rozwiązania dotyczące zabezpieczeń usługi Azure DevOps
- Grupy i uprawnienia usługi Azure DevOps
- Poziomy dostępu usługi Azure DevOps
Zagadnienia dotyczące dostępu opartego na rolach w usłudze GitHub
Jeśli podstawowym narzędziem DevOps jest usługa GitHub, możesz przypisać użytkownikom dostęp do zasobów, udzielając im ról na poziomie repozytorium, na poziomie zespołu lub organizacji. Po utworzeniu rozwidlenia repozytorium Azure Landing Zones i zintegrowaniu z dostawcą usług tożsamości, takim jak Microsoft Entra ID, rozważ utworzenie zespołu na GitHub. Przypisz temu zespołowi dostęp do zapisu w nowym repozytorium Azure Landing Zone. W przypadku większości członków zespołu Platformy, którzy modyfikują i wdrażają strefy docelowe, dostęp do zapisu powinien być wystarczający. W przypadku menedżerów projektów lub Scrum w zespole mogą potrzebować przypisania im roli utrzymania do tego repozytorium.
Zalecamy zarządzanie wszystkimi tymi przypisaniami ról za pośrednictwem zintegrowanego dostawcy tożsamości. Możesz na przykład zsynchronizować zespół platformy dla repozytorium strefy docelowej platformy Azure utworzonego w usłudze GitHub z odpowiednią grupą zabezpieczeń zespołu platformy w usłudze Microsoft Entra ID. Następnie po dodaniu lub usunięciu członków do grupy zabezpieczeń firmy Microsoft te zmiany zostaną odzwierciedlone w przypisaniach ról usługi GitHub Enterprise Cloud.
Uwaga / Notatka
Po połączeniu określonego zespołu GitHub ze zintegrowanym dostawcą tożsamości, na zarządzanie członkostwem zespołu można wpływać wyłącznie za jego pośrednictwem.
Dalsze kroki
Aby uzyskać więcej informacji na temat zarządzania rolami i zespołami w usłudze GitHub, zobacz następujące zasoby: