Jak działają organizacje i uprawnienia w usłudze GitHub?
W poprzedniej lekcji przedstawiono różne sposoby uwierzytelniania użytkowników w usłudze GitHub. W tej lekcji dowiesz się więcej o uprawnieniach dla każdego poziomu hierarchicznego:
- Uprawnienia repozytorium
- Uprawnienia zespołu
- Uprawnienia organizacji
- Uprawnienia przedsiębiorstwa
Poziomy uprawnień w repozytorium
Dostęp do każdego repozytorium można dostosować, przypisując określone poziomy uprawnień. Istnieją pięć standardowych uprawnień na poziomie repozytorium:
- Przeczytaj: Zalecane dla osób, które nie tworzą kodu i chcą przeglądać lub omawiać projekt. Ten poziom jest odpowiedni dla każdego, kto musi przeglądać zawartość repozytorium, ale nie musi dokonywać wkładów ani wprowadzać zmian.
- Priorytetyzacja: zalecana dla współautorów, którzy muszą aktywnie zarządzać problemami i wnioskami o ściągnięcie bez uprawnień do zapisu. Ten poziom jest przydatny w przypadku menedżerów projektów, którzy śledzą problemy i dyskusje bez modyfikowania kodu.
- Napisz: Zalecane dla współautorów, którzy aktywnie wprowadzają zmiany do projektu. Pisanie to standardowe uprawnienie dla większości deweloperów.
- Obsługa: Zalecane dla menedżerów projektów, którzy muszą zarządzać repozytorium bez dostępu do poufnych lub destrukcyjnych akcji.
- Administrator: zalecane dla osób, które potrzebują pełnego dostępu do projektu, w tym poufnych i destrukcyjnych akcji, takich jak zarządzanie zabezpieczeniami lub usuwanie repozytorium. Te osoby są właścicielami i administratorami repozytorium.
Możesz przyznać członkom organizacji, współpracownikom zewnętrznym i zespołom różne poziomy dostępu do repozytoriów należących do organizacji. Każdy poziom uprawnień zapewnia coraz większy dostęp do zawartości i ustawień repozytorium. Wybierz poziom, który najlepiej pasuje do roli każdej osoby lub zespołu w projekcie bez udzielania większego dostępu do projektu niż jest to konieczne.
Administratorzy mogą również tworzyć role niestandardowe w usłudze GitHub Enterprise, rozszerzając jedną z tych ról podstawowych z dodatkowymi uprawnieniami zgodnie z potrzebami.
Co to jest rozwidlenie repozytorium?
Rozwidlenie to sposób tworzenia osobistej kopii repozytorium innej osoby na własnym koncie Usługi GitHub. W przypadku rozwidlenia repozytorium uzyskasz własną wersję, którą możesz swobodnie modyfikować bez wpływu na oryginalny projekt. Ten proces jest typowym przepływem pracy umożliwiającym bezpieczne współtworzenia oprogramowania open source lub eksperymentowania ze zmianami.
Możesz również zachować aktualność rozwidlenia, pobierając zmiany z oryginalnego repozytorium, często nazywane repozytorium "nadrzędne".
Poniżej przedstawiono sposób rozwidlenia repozytorium:
Na GitHub.com przejdź do strony głównej repozytorium, które chcesz rozwidlić.
W prawym górnym rogu wybierz pozycję Rozwidlenie.
Wybierz właściciela rozwidlenia (konto osobiste lub organizację).
Opcjonalnie zmień nazwę rozwidlenia repozytorium lub dołącz wszystkie gałęzie.
Wybierz opcję Utwórz fork.
Zarządzanie uprawnieniami rozwidlenia (dla administratorów)
W przypadku repozytoriów należących do organizacji administratorzy mogą kontrolować, czy repozytoria mogą być rozwidlenia:
- Repozytoria publiczne: rozwidanie jest zawsze dozwolone.
- Repozytoria prywatne: rozwidanie może być wyłączone lub ograniczone tylko do członków organizacji.
- Repozytoria wewnętrzne: można je rozwidlić tylko na tym samym koncie przedsiębiorstwa.
Aby skonfigurować ustawienia rozwidlenia:
Przejdź do obszaru Ustawienia repozytorium organizacji.
Na lewym pasku bocznym w obszarze Dostęp kliknij pozycję Uprawnienia członka.
Znajdź opcje rozwidlenia repozytorium i zaktualizuj je zgodnie z potrzebami.
Wskazówka
Jeśli wyłączysz rozwidlenie dla repozytorium prywatnego, nikt (w tym członkowie organizacji) nie będzie mógł go rozwidlić.
Aby dowiedzieć się więcej, zobacz artykuł GitHub Docs na temat rozwidlenia repozytorium.
Wyświetlanie szczegółowych informacji o repozytorium
Szczegółowe informacje o repozytorium w usłudze GitHub oferują zaawansowany sposób monitorowania i analizowania działań, współtworzenia i zależności projektu. Korzystając z tych szczegółowych informacji, można śledzić kondycję projektu, identyfikować wąskie gardła i zapewnić bezpieczeństwo. Ta sekcja przeprowadzi Cię przez kroki uzyskiwania dostępu do szczegółowych informacji o repozytorium i zapewnia najlepsze rozwiązania dotyczące efektywnego korzystania z nich.
Kroki wyświetlania szczegółowych informacji o repozytorium
- Przejdź do repozytorium w witrynie GitHub.
- W obszarze nazwy repozytorium kliknij kartę Szczegółowe informacje .
- Zapoznaj się z następującymi sekcjami na karcie Szczegółowe informacje:
- Współautorzy: wyświetlanie wykresu kontrybucji w czasie, w tym zatwierdzeń, dodatków i usuwania przez każdego współautora.
- Ruch: Monitoruj ruch repozytorium, w tym unikatowych odwiedzających i wyświetleń stron.
- Zatwierdzenia: analizowanie działań zatwierdzeń w czasie.
- Częstotliwość kodu: śledź liczbę dodanych i usuniętych wierszy w czasie.
- Wykres zależności: wyświetl zależności repozytorium i zidentyfikuj potencjalne luki w zabezpieczeniach.
Najlepsze rozwiązania dotyczące korzystania ze szczegółowych informacji o repozytorium
- Monitorowanie kontrybucji: użyj sekcji Współautorzy, aby zidentyfikować aktywnych współautorów i obszary repozytorium, które otrzymują największą uwagę.
- Śledzenie ruchu: użyj sekcji Ruch, aby dowiedzieć się, jak użytkownicy wchodzą w interakcje z repozytorium i identyfikują trendy w zaangażowaniu.
- Rozwiązywanie luk w zabezpieczeniach: Regularnie przejrzyj wykres zależności, aby upewnić się, że repozytorium pozostaje bezpieczne.
Korzystając ze szczegółowych informacji o repozytorium, możesz podejmować decyzje oparte na danych w celu poprawy współpracy, zabezpieczeń i zarządzania projektami.
Sposoby uzyskiwania dostępu do repozytorium przez użytkowników
Działania użytkownika na podstawie listy jego uprawnień do repozytorium
Skuteczne uprawnienia użytkownika w repozytorium mają wpływ na różne czynniki, w tym:
- Rola repozytorium: (np. administrator, zapis, odczyt)
- Członkostwo w zespole: (np. odziedziczone uprawnienia od zespołu)
- Członkostwo w organizacji: (np. domyślne uprawnienia organizacji, wymagania dotyczące logowania jednokrotnego)
Po połączeniu tych różnych źródeł uprawnień usługa GitHub stosuje najwyższy poziom dostępu udzielony użytkownikowi. Jeśli na przykład użytkownik ma dostęp do odczytu za pośrednictwem zespołu, ale jako współpracownik ma również bezpośrednio przypisany dostęp do zapisu, będzie mieć uprawnienia do zapisu.
Opcje członkostwa w repozytorium
W przypadku udzielania dostępu do repozytorium istnieje kilka sposobów, w jaki użytkownik może zostać współpracownikiem:
| Typ członkostwa | Opis |
|---|---|
| Bezpośredni współpracownik | Dodano jawnie do repozytorium z określoną rolą (odczyt, klasyfikacja, zapis, obsługa lub administrator). Zalecane dla zewnętrznych współautorów lub małych zespołów. |
| Członkostwo w zespole | Użytkownik dziedziczy dostęp do repozytorium za pośrednictwem członkostwa w zespole. Uprawnienia zespołu są często ustawiane na poziomie organizacji na potrzeby spójnego, skalowalnego zarządzania. |
| Domyślne uprawnienia organizacji | Jeśli repozytorium jest częścią organizacji, może istnieć domyślny poziom uprawnień dla wszystkich członków organizacji (np. Brak, Odczyt). Właściciele mogą zmienić te domyślne ustawienia dla określonych zespołów lub użytkowników. |
| Współpracownik zewnętrzny | Użytkownik, który nie jest członkiem organizacji, ale ma jawny dostęp do repozytorium. Przydatne dla wykonawców, freelancerów lub współautorów open source potrzebujących ograniczonego dostępu. |
Monitorowanie i inspekcja dostępu do repozytorium
Regularne przeprowadzanie inspekcji, kto ma dostęp do repozytorium, zapewnia odpowiednie zabezpieczenia i zgodność. Poniżej przedstawiono kilka zalecanych kroków i narzędzi:
Wyświetl dostęp w ustawieniach repozytorium:
- Przejdź do obszaru Ustawienia > Zarządzaj dostępem (dla repozytorium).
- Przejrzyj listę użytkowników i zespołów wraz z poziomami uprawnień.
Dziennik audytu organizacji (GitHub Enterprise lub na poziomie organizacji):
- Właściciele organizacji mogą wyświetlać zmiany członkostwa, dostępu do repozytorium i uprawnień w dzienniku inspekcji.
- Filtruj zdarzenia według nazwy repozytorium lub zmian dostępu, aby uzyskać bardziej skoncentrowany widok.
Dziennik inspekcji przedsiębiorstwa (GitHub Enterprise):
- Jeśli zarządzasz wieloma organizacjami, użyj dziennika inspekcji konta Enterprise, aby śledzić zmiany we wszystkich organizacjach i repozytoriach.
- Jest to szczególnie przydatne w przypadku raportowania zgodności lub przeglądów zabezpieczeń na dużą skalę.
Zautomatyzowane wykonywanie skryptów:
- Użyj interfejsu API REST usługi GitHub lub interfejsu API GraphQL, aby programowo wyświetlić listę współpracowników, zespołów i uprawnień.
- Integruj skrypty z potokiem CI/CD lub pulpitami nawigacyjnymi zabezpieczeń, aby ciągle monitorować i oznaczać anomalie.
Wskazówka: Skonfiguruj reguły ochrony gałęzi i wymagane przeglądy kodu, aby dodać kolejną warstwę zabezpieczeń i odpowiedzialności za wszystkie zmiany kodu.
Poziomy uprawnień w zespole
Zespół w organizacji usługi GitHub to grupa użytkowników, którzy współpracują nad repozytoriami udostępnionymi. Zespoły pomagają usprawnić zarządzanie dostępem i komunikację, stosując spójne uprawnienia w wielu repozytoriach jednocześnie. Najważniejsze korzyści to:
- Scentralizowana kontrola dostępu: Przypisz uprawnienia repozytorium (np. odczyt, zapis) do całego zespołu zamiast zarządzać poszczególnymi użytkownikami indywidualnie.
- Strukturalna współpraca: Organizuj członków według działu, projektu lub roli, aby zapewnić bardziej efektywną współpracę.
- Widoczność i komunikacja: Każdy zespół może mieć własną tablicę dyskusyjną, co ułatwia udostępnianie aktualizacji i koordynowanie wysiłków.
Usługa Teams umożliwia łatwe przypisywanie uprawnień repozytorium do kilku powiązanych użytkowników jednocześnie. Członkowie zespołu podrzędnego dziedziczą ustawienia uprawnień zespołu nadrzędnego, co ułatwia zarządzanie uprawnieniami zgodnie z naturalną strukturą firmy.
Na poziomie zespołu istnieją dwa poziomy uprawnień:
| Poziom uprawnień | Opis |
|---|---|
| Członek | Członkowie zespołu mają taki sam zestaw możliwości jak członkowie organizacji |
| Opiekun | Administratorzy zespołów mogą wykonywać wszystkie zadania członków zespołu, a także: — Zmień nazwę, opis i widoczność zespołu. — Poproś zespół o zmianę zespołów nadrzędnych i podrzędnych. - Ustaw obraz profilu zespołu. - Edytuj i usuń dyskusje zespołu. — Dodawanie i usuwanie członków organizacji z zespołu. - Promuj członków zespołu, żeby również mieli uprawnienia opiekuna zespołu. — Usuń dostęp zespołu do repozytoriów. — Zarządzanie przydzieleniem przeglądu kodu dla zespołu. — Zarządzaj zaplanowanymi przypomnieniami dotyczącymi pull requestów. |
Właściciel organizacji może również promować dowolnego członka organizacji jako osoby odpowiedzialnej za zespół.
Aby przeprowadzić inspekcję dostępu do zarządzanego repozytorium, możesz wyświetlić połączoną listę zespołów i użytkowników z dostępem do repozytorium w ustawieniach:
Usługa GitHub oferuje kilka poziomów uprawnień, które można przypisać do zespołów. Po udzieleniu zespołowi dostępu do repozytorium można wybrać spośród następujących modeli uprawnień:
Modele uprawnień
| Poziom uprawnień | Opis | Najlepsze dla |
|---|---|---|
| Czytać | Użytkownicy mogą wyświetlać i klonować repozytorium. Może otwierać i komentować problemy i żądania ściągnięcia. | Osoby, które potrzebują dostępu tylko do odczytu lub przeglądu. |
| Triage | Użytkownicy mogą zarządzać problemami i pull requestami (np. etykietować, przypisywać, komentować). Nie można przesłać zmian do repozytorium. | Menedżerowie projektów lub współautorzy, którzy muszą klasyfikować i organizować problemy bez współtworzenia kodu. |
| Pisać | Użytkownicy mogą wypychać do gałęzi (z wyjątkiem chronionych gałęzi). Może zarządzać kwestiami i pull requestami. | Aktywni współautorzy, którzy muszą zatwierdzić kod lub zaktualizować dokumentację. |
| Utrzymać | Użytkownicy mogą zarządzać ustawieniami repozytorium, problemami i żądaniami ściągnięcia. Nie można usunąć ani przenieść repozytorium. | Osoby odpowiedzialne za projekt, które obsługują rutynowe zarządzanie repozytorium, ale nie wymagają pełnych uprawnień administratora. |
| Admin | Użytkownicy mają pełną kontrolę nad repozytorium, w tym nad ustawianiem uprawnień, usuwaniem repozytorium i zarządzaniem wszystkimi ustawieniami. | Ci, którzy potrzebują dostępu administracyjnego najwyższego poziomu. |
Wskazówka: Zawsze przestrzegaj zasady najmniejszych uprawnień — przypisz najmniejszy poziom uprawnień niezbędny dla każdego zespołu, aby skutecznie wykonywać swoje zadania. Takie podejście zmniejsza ryzyko przypadkowych lub nieautoryzowanych zmian.