Zarządzanie dostępem, uprawnieniami i ładem przedsiębiorstwa

Ukończone

W poprzedniej lekcji przedstawiono sposób działania repozytorium i uprawnień zespołu w usłudze GitHub oraz sposobu, w jaki użytkownicy otrzymują dostęp na tych poziomach. W tej lekcji dowiesz się, jak zarządzać uprawnieniami i dostępem na szerszą skalę w organizacjach i przedsiębiorstwach:

  • Uprawnienia organizacji
  • Uprawnienia przedsiębiorstwa
  • Współpracownicy wewnętrzni a zewnętrzni
  • Strategie najmniejszych uprawnień
  • Najlepsze rozwiązania dotyczące zabezpieczeń i ładu

Poziomy uprawnień w organizacji

Organizacje usługi GitHub zapewniają scentralizowany sposób współpracy zespołów nad projektami przy zachowaniu kontrolowanego dostępu do repozytoriów i poufnych danych. Uprawnienia organizacji określają, co członkowie i zespoły mogą wykonywać w organizacji, zapewniając, że każdy użytkownik ma odpowiedni poziom dostępu.

Na poziomie organizacji istnieje wiele poziomów uprawnień:

Poziom uprawnień Opis
Właściciel Właściciele organizacji mogą wykonywać wszystkie czynności, które członkowie organizacji mogą wykonywać, i mogą dodawać i usuwać innych użytkowników z organizacji. Ta rola powinna być ograniczona do nie mniej niż dwóch osób w organizacji.
Członek Członkowie organizacji mogą tworzyć repozytoria organizacji i zespoły oraz zarządzać nimi.
Moderator Moderatorzy organizacji mogą blokować i odblokowywać współautorów niebędących członkami, ustawiać limity interakcji i ukrywać komentarze w repozytoriach publicznych będących właścicielami organizacji.
Menedżer rozliczeń Menedżerowie rozliczeń organizacji mogą wyświetlać i edytować informacje dotyczące rozliczeń.
Menedżerowie zabezpieczeń Menedżerowie zabezpieczeń organizacji mogą zarządzać alertami zabezpieczeń i ustawieniami w całej organizacji. Mogą również odczytywać uprawnienia do wszystkich repozytoriów w organizacji.
Zewnętrzni współpracownicy Zewnętrzni współpracownicy, tacy jak konsultant lub pracownik tymczasowy, mogą uzyskiwać dostęp do jednego lub większej liczby repozytoriów organizacji. Nie są jawnymi członkami organizacji.

Oprócz tych poziomów można również ustawić domyślne uprawnienia dla wszystkich członków organizacji:

Zrzut ekranu przedstawiający ekran uprawnień członka z wyświetloną listą rozwijaną uprawnień podstawowych.

W celu zapewnienia lepszego zarządzania i zabezpieczeń warto również rozważyć nadanie domyślnych uprawnień do odczytu wszystkim członkom organizacji i dostosowanie ich dostępu do repozytoriów na podstawie przypadków. Jeśli masz stosunkowo małą organizację z małą liczbą użytkowników, małą liczbą repozytoriów lub kombinacją tych dwóch, ten poziom ograniczeń może być niepotrzebny. Jeśli ufasz wszystkim w przenoszeniu zmian do dowolnego repozytorium, możesz domyślnie przyznać wszystkim członkom uprawnienia do zapisu.

Poziomy uprawnień w przedsiębiorstwie

Jak pamiętasz z poprzednich lekcji, konto przedsiębiorstwa stanowi kolekcję organizacji. Zgodnie z rozszerzeniem każde indywidualne konto użytkownika, które jest członkiem organizacji, jest również członkiem przedsiębiorstwa. Możesz kontrolować różne ustawienia związane z uwierzytelnianiem z tego wyższego poziomu.

Na poziomie przedsiębiorstwa istnieją trzy poziomy uprawnień:

Poziom uprawnień Opis
Właściciel Właściciele przedsiębiorstwa mają pełną kontrolę nad przedsiębiorstwem i mogą podjąć każdą akcję, w tym:
- Zarządzanie administratorami.
— Dodawanie i usuwanie organizacji do i z przedsiębiorstwa.
— Zarządzanie ustawieniami przedsiębiorstwa.
— Wymuszanie zasad w organizacjach.
— Zarządzanie ustawieniami rozliczeń.
Członek Członkowie przedsiębiorstwa mają taki sam zestaw możliwości jak członkowie organizacji.
Menedżer rozliczeń Menedżerowie rozliczeń przedsiębiorstwa mogą tylko wyświetlać i edytować informacje rozliczeniowe przedsiębiorstwa oraz dodawać lub usuwać innych menedżerów rozliczeń.
Współpracownik gościa Można udzielić dostępu do repozytoriów lub organizacji, ale domyślnie ma ograniczony dostęp (tylko użytkownicy zarządzani w przedsiębiorstwie)

Oprócz tych trzech poziomów można również ustawić zasady domyślnych uprawnień repozytorium we wszystkich organizacjach:

Zrzut ekranu przedstawiający ekran zasad z wyświetloną listą rozwijaną uprawnień domyślnych.

W celu zapewnienia lepszego zarządzania i zabezpieczeń można przyznać domyślne uprawnienia do odczytu wszystkim członkom przedsiębiorstwa i dostosować ich dostęp do repozytoriów w zależności od przypadku. W mniejszym przedsiębiorstwie, na przykład takim, które składa się z jednej, stosunkowo małej organizacji, możesz zdecydować się zaufać wszystkim członkom z uprawnieniami do zapisu domyślnie.

Aby jeszcze bardziej usprawnić kontrolę dostępu w skali przedsiębiorstwa:

  • Zagnieżdżone zespoły: Konta firmowe mogą używać zagnieżdżonych struktur zespołów do odzwierciedlenia hierarchii działów. Uprawnienia zespołu nadrzędnego przechodzą do zespołów podrzędnych, co upraszcza skomplikowane procesy zarządzania dostępem.
  • Automatyzacja i inspekcja: Za pomocą interfejsu API lub funkcji GitHub Actions usługi GitHub można zautomatyzować tworzenie zespołu i przypisania uprawnień oraz przeprowadzać inspekcję dostępu za pośrednictwem dzienników inspekcji organizacji lub przedsiębiorstwa.

Uprawnienia i zasady przedsiębiorstwa poprzez zestaw reguł

W tej sekcji opisano sposób zarządzania uprawnieniami i zasadami przedsiębiorstwa za pomocą zestawów reguł. Poznamy najlepsze rozwiązania dotyczące tworzenia struktur organizacji, ustawiania domyślnych uprawnień, synchronizowania zespołów za pośrednictwem usługi Active Directory (AD), automatyzowania skryptów obejmujących wiele organizacji i dopasowywania zasad do stanowisk zaufania i kontroli firmy.

Ważenie zalet i wad wdrażania jednej i wielu organizacji

Podczas tworzenia struktury przedsiębiorstwa jednym z kluczowych decyzji jest to, czy należy używać jednej organizacji, czy wielu organizacji. Każde podejście ma unikatowe korzyści i kompromisy.

Pojedyncza organizacja

Zalety Minusy
Uproszczone zarządzanie: Scentralizowana kontrola uprawnień i zasad. Ograniczona elastyczność: Jednowymiarowe zasady mogą nie odpowiadać wszystkim zespołom.
Konsystencja: Jednolite stosowanie reguł i usprawniona współpraca. Zagrożenia bezpieczeństwa: Pojedyncze naruszenie może mieć wpływ na całą organizację.
Udostępnianie zasobów: Łatwiejsze udostępnianie zasobów między zespołami. Problemy ze skalowalnością: Zarządzanie uprawnieniami może stać się złożone w miarę rozwoju organizacji.
Efektywność kosztowa: Zmniejszenie obciążenia związanego z narzędziami administracyjnymi i licencjonowaniem.

Wiele organizacji

Zalety Minusy
Dostosowane zasady: Dostosuj uprawnienia, aby dopasować je do konkretnych potrzeb każdego zespołu. Zwiększona złożoność: Więcej organizacji oznacza większe nakłady pracy administracyjnej.
Rozszerzona izolacja: Ogranicza wpływ naruszenia zabezpieczeń na jedną organizację. Redundancja: Potencjalne powielanie ustawień i działań zarządczych.
Administracja zdecentralizowana: Zespoły mogą zarządzać własnymi zasadami i uprawnieniami. współpracaInter-Org: Może wymagać dodatkowych narzędzi lub procesów dla projektów obejmujących wiele organizacji.

Ustawianie domyślnego odczytu i domyślnego zapisu w całej organizacji

Podjęcie decyzji o domyślnym poziomie uprawnień ma kluczowe znaczenie dla równoważenia zabezpieczeń i współpracy w przedsiębiorstwie.

Domyślny odczyt a domyślny zapis

Domyślne odczytywanie Zapis domyślny
Zwiększone zabezpieczenia: Minimalizuje ryzyko niezamierzonych modyfikacji. Ulepszona współpraca: Umożliwia użytkownikom bezpośrednie współtworzenie i modyfikowanie zawartości.
Kontrola: Łatwiejsze do przeprowadzania inspekcji i monitorowania zmian. Sprawność: Zmniejsza wąskie gardła w tworzeniu treści i jej aktualizowaniu.
Najlepsze dla: Środowiska, w których większość użytkowników musi tylko wyświetlać zasoby. Ryzyka: Zwiększa prawdopodobieństwo przypadkowej zmiany lub błędnej konfiguracji, jeśli nie jest starannie zarządzana.

Zalecenie:
Użyj domyślnego modelu uprawnień do odczytu i przyznaj dostęp do zapisu selektywnie, zapewniając przestrzeganie zasady najniższych uprawnień.

Synchronizacja zespołu za pośrednictwem usługi Active Directory (AD)

Korzystanie z usługi Active Directory (AD) na potrzeby synchronizacji zespołów sprawia, że zarządzanie użytkownikami i kontrola dostępu są łatwiejsze i bardziej wydajne.

Dlaczego warto używać synchronizacji usługi AD?

  • Jedno źródło prawdy: Dzięki temu tożsamości użytkowników są spójne w całej organizacji.
  • Automatyczne zarządzanie dostępem: Usprawnia dołączanie, odłączanie i aktualizacje ról.
  • Bezproblemowe dopasowanie ról: Zapewnia, że grupy AD są zgodne z rolami i uprawnieniami przedsiębiorstwa.

Kwestie, które należy wziąć pod uwagę przed wdrożeniem

  • Mapowanie ról: Jasno określ, jak grupy AD odpowiadają rolom w organizacji.
  • Częstotliwość synchronizacji: Ustaw harmonogram, który równoważy wydajność i zabezpieczenia.
  • Zgodność i inspekcja: Zarejestruj wszystkie zmiany, aby spełnić wymagania dotyczące zgodności.

Planując z wyprzedzeniem, możesz zapewnić bezproblemową integrację, która zapewnia bezpieczeństwo i dobrze zorganizowaną organizację.

Łatwość konserwacji: wykonywanie skryptów dla wielu organizacji i praw dostępu

W miarę skalowania przedsiębiorstwa automatyzacja zarządzania uprawnieniami w wielu organizacjach jest niezbędna do utrzymania.

Najważniejsze rozwiązania

W tej sekcji przedstawiono najważniejsze rozwiązania dotyczące tworzenia skryptów i automatyzacji w celu spójnego i bezpiecznego zarządzania uprawnieniami w miarę rozwoju przedsiębiorstwa. Poniższe rozwiązania ułatwiają administrowanie, minimalizowanie błędów ręcznych i utrzymywanie silnego ładu.

  • Modułowość: Twórz skrypty w składnikach modułowych, aby obsługiwać różne organizacje przy minimalnych zmianach.
  • Możliwość ponownego zastosowania: Tworzenie funkcji wielokrotnego użytku lub modułów w celu wykonywania typowych zadań uprawnień.
  • Testowanie: Dokładnie przetestuj skrypty w kontrolowanym środowisku przed wdrożeniem.
  • Logowanie: Zaimplementuj szczegółowe rejestrowanie, aby śledzić zmiany i ułatwić rozwiązywanie problemów.
  • Kontrola wersji: Użyj systemów kontroli wersji (takich jak Git), aby zarządzać poprawkami skryptów i współpracować z członkami zespołu.