Ustawianie uprawnień repozytorium Git

Azure Repos | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018-TFS 2013

Możesz przyznać lub ograniczyć dostęp do repozytoriów, aby zablokować osoby, które mogą współtwolić kod źródłowy, i zarządzać innymi funkcjami. Uprawnienia można ustawić we wszystkich repozytoriach Git, dokonując zmian we wpisie repozytoriów Git najwyższego poziomu. Poszczególne repozytoria dziedziczą uprawnienia z wpisu najwyższego poziomu w repozytoriach Git.

Uwaga

Gałęzie dziedziczą podzbiór uprawnień z przypisań wykonanych na poziomie repozytorium. Aby uzyskać informacje o uprawnieniach i zasadach gałęzi, zobacz Ustawianie uprawnień gałęzi i Poprawianie jakości kodu za pomocą zasad gałęzi.

Aby uzyskać wskazówki dotyczące tego, kto może zapewnić większe poziomy uprawnień, zobacz Grant or restrict access using permissions (Udzielanie lub ograniczanie dostępu przy użyciu uprawnień).

Wymagania wstępne

  • Musisz mieć projekt. Jeśli nie masz jeszcze projektu, utwórz go w Azure DevOps lub skonfiguruj go w środowisku lokalnym Azure DevOps.
  • Musisz być członkiem grupy Administratorzy Project lub mieć uprawnienia Do zarządzania ustawione na zezwalanie na repozytoria Git.

Aby współtwolić kod źródłowy, musisz mieć co najmniej podstawowy poziom dostępu. Użytkownicy, którzy przyznali uczestnikom projektu dostęp do projektów prywatnych, nie mają dostępu do kodu źródłowego. Użytkownicy, którzy przyznali dostęp uczestnikom projektu dla projektów publicznych, mają taki sam dostęp jak współautorzy i użytkownicy z dostępem podstawowym. Aby dowiedzieć się więcej, zobacz About access levels (Informacje o poziomach dostępu).

Aby współtwolić kod źródłowy, musisz mieć co najmniej podstawowy poziom dostępu. Użytkownicy z dostępem uczestnika projektu nie mają dostępu do kodu źródłowego. Aby dowiedzieć się więcej, zobacz About access levels (Informacje o poziomach dostępu).

Domyślne uprawnienia repozytorium

Domyślnie członkowie grupy Współautorzy projektu mają uprawnienia do współtworowania repozytorium. Obejmuje to możliwość tworzenia gałęzi, tworzenia tagów i zarządzania notatkami. Opis każdej grupy zabezpieczeń i poziomu uprawnień zawiera temat Permissions and group reference (Informacje o uprawnieniach i grupach).

Uprawnienie

Czytelnicy

Współautorzy

Administratorzy kompilacji

Project administratorzy

Odczytywanie (klonowanie, pobieranie i eksplorowanie zawartości repozytorium); ponadto może tworzyć, komentować, głosować i współtworzyć żądania ściągnięć

✔️

✔️

✔️

✔️

Współtwolenie repozytorium, tworzenie gałęzi,tworzenie tagówi zarządzanie notatkami

✔️

✔️

✔️

Pomijanie zasad podczas wypychania do repozytorium

✔️

Tworzenie repozytorium,usuwanie repozytoriumi zmienianie nazwy repozytorium

✔️

Edytowanie zasad,wymuszanie wypychania (ponownego zapisu historii, usuwaniegałęzi i tagów), zarządzanie uprawnieniami,usuwanie blokad innych osób

✔️

Pomijanie zasad podczas kończenie żądań ściągnięć (nie jest ustawione dla żadnej grupy zabezpieczeń)

Domyślnie grupy Czytelnicy na poziomie projektu mają uprawnienia tylko do odczytu.

Uprawnienie

Współautorzy

Administratorzy kompilacji

Project administratorzy

Tworzenie gałęzi:na poziomie repozytorium program może wypychać zmiany do gałęzi w repozytorium. Nie zastępuje ograniczeń zasad gałęzi. Na poziomie gałęzi program może wypchnąć zmiany do gałęzi i zablokować gałąź.

✔️

✔️

✔️

Współtwolenie:na poziomie repozytorium program może wypychać zmiany do gałęzi w repozytorium. Nie zastępuje ograniczeń zasad gałęzi. Na poziomie gałęzi program może wypchnąć zmiany do gałęzi i zablokować gałąź.

✔️

✔️

✔️

Zarządzanie uwagami:umożliwia wypychanie i edytowanie notatek usługi Git do repozytorium. Mogą również usuwać notatki z elementów, jeśli mają uprawnienie Wymusz.

✔️

✔️

✔️

Tworzenie tagów:może wypychać tagi do repozytorium, a także edytować lub usuwać tagi, jeśli mają uprawnienie Wymusz.

✔️

✔️

✔️

Administrowanie: Usuwanie repozytoriów i zmienianie ich nazw: jeśli zostały przypisane do wpisu repozytoriów Git najwyższego poziomu, można dodać kolejne repozytoria. Na poziomie gałęzi użytkownicy mogą ustawić uprawnienia dla gałęzi i odblokować gałąź. Uprawnienie Administrowanie ustawione w indywidualnym repozytorium Git nie daje możliwości zmiany nazwy lub usunięcia repozytorium. Te zadania wymagają uprawnień administratora w repozytoriach Git najwyższego poziomu.

✔️

Ponowne przepisanie i zniszczenie historii (wymuszanie wypychania):może wymusić aktualizację gałęzi i usunąć gałąź. Aktualizacja wymuszania może zastąpić zatwierdzenia dodane przez dowolnego użytkownika. Użytkownicy z tym uprawnieniem mogą modyfikować historię zatwierdzania gałęzi.

✔️

Otwieranie zabezpieczeń repozytorium

Ustawiasz uprawnienia repozytorium Git z poziomu Project Ustawienia Repozytoria.

  1. Otwórz portal internetowy i wybierz projekt, w którym chcesz dodać użytkowników lub grupy. Aby wybrać inny projekt, zobacz Przełączanie projektu, repozytorium i zespołu.

  2. Otwórz Project repozytoria.

    Aby ustawić uprawnienia dla wszystkich repozytoriów Git, wybierz pozycję Zabezpieczenia.

    Na przykład w tym miejscu wybierzemy (1) Project, (2) Repozytoria, a następnie (3) Zabezpieczenia.

    Screenshot showing choosing Project settings>Repositories>Security.

  3. W przeciwnym razie, aby ustawić uprawnienia dla określonego repozytorium, wybierz (1) repozytorium, a następnie wybierz pozycję (2) Zabezpieczenia.

    Screenshot showing choosing Project settings>Choose a repository>Security.

Ustawianie uprawnień dla repozytorium

Możesz udzielić lub ograniczyć dostęp do repozytorium, ustawiając stan uprawnień na Zezwalaj lub Odmów dla pojedynczego użytkownika lub grupy zabezpieczeń.

  1. Otwórz portal internetowy i wybierz projekt, w którym chcesz dodać użytkowników lub grupy. Aby wybrać inny projekt, zobacz Przełączanie projektu, repozytorium i zespołu.

  2. Aby ustawić uprawnienia dla wszystkich repozytoriów Git dla projektu, wybierz pozycję Repozytoria Git, a następnie wybierz grupę zabezpieczeń, której uprawnienia chcesz zarządzać.

    Na przykład w tym miejscu wybieramy (1) Project Ustawienia , (2) Repozytoria, (3) repozytoria Git,(4) grupę Współautorzy,anastępnie (5) uprawnienie do tworzenia repozytorium.

    Aby wyświetlić pełny obraz, kliknij obraz, aby go rozwinąć. Wybierz close icon ikonę zamknięcia, aby zamknąć.

    Project Settings>Code>Repositories>Git repositories>Security

    Uwaga

    Znalezienie użytkownika na stronie uprawnień lub w polu tożsamości może nie być możliwe, jeśli użytkownik nie został dodany do projektu — przez dodanie go do grupy zabezpieczeń lub do zespołu projektu. Ponadto po dodaniu użytkownika do usługi Azure Active Directory lub Active Directory może być opóźnienie między dodaniem użytkownika do projektu a wyszukiwaniem z pola tożsamości. Opóźnienie może być od 5 minut do 7 dni.

    W przeciwnym razie wybierz określone repozytorium i wybierz grupę zabezpieczeń, której uprawnienia chcesz zarządzać.

    Uwaga

    Jeśli dodasz użytkownika lub grupę i nie zmienisz żadnych uprawnień dla tego użytkownika lub grupy, po odświeżeniu strony uprawnień dodany użytkownik lub grupa nie będą już wyświetlane.

  3. Gdy wszystko będzie gotowe, wybierz pozycję Zapisz zmiany.

  1. Otwórz portal internetowy i wybierz projekt, w którym chcesz dodać użytkowników lub grupy. Aby wybrać inny projekt, zobacz Przełączanie projektu, repozytorium i zespołu.

  2. Wybierz ikonę koła zębatego, aby otworzyć kontekst administracyjny.

    Open Project Settings, horizontal nav

  3. Wybierz pozycję Kontrola wersji.

  4. Aby ustawić uprawnienia dla wszystkich repozytoriów Git dla projektu, (1) wybierz pozycję Repozytoria Git, a następnie (2) wybierz grupę zabezpieczeń, której uprawnienia chcesz zarządzać.

    Uwaga

    Znalezienie użytkownika na stronie uprawnień lub w polu tożsamości może nie być możliwe, jeśli użytkownik nie został dodany do projektu — przez dodanie go do grupy zabezpieczeń lub do zespołu projektu. Ponadto po dodaniu użytkownika do usługi Azure Active Directory lub Active Directory może być opóźnienie między dodaniem użytkownika do projektu a wyszukiwaniem z pola tożsamości. Opóźnienie może być od 5 minut do 7 dni.

    W przeciwnym razie wybierz określone repozytorium i wybierz grupę zabezpieczeń, której uprawnienia chcesz zarządzać.

  5. Wybierz ustawienie uprawnień, które chcesz zmienić.

    W tym miejscu udzielamy grupie Współautorzy uprawnień do (3) Tworzenie repozytorium.

    Security dialog for all Git repositories, Contributors group

  6. Gdy wszystko będzie gotowe, wybierz pozycję Zapisz zmiany.

Poszczególne repozytoria dziedziczą uprawnienia z ustawień zabezpieczeń najwyższego poziomu repozytorium Git. Gałęzie dziedziczą uprawnienia z przypisań wykonanych na poziomie repozytorium.

  1. Otwórz portal internetowy i wybierz projekt, w którym chcesz dodać użytkowników lub grupy. Aby wybrać inny projekt, zobacz Przełączanie projektu, repozytorium i zespołu.

  2. Wybierz ikonę koła zębatego, aby otworzyć kontekst administracyjny.

  3. Wybierz pozycję Kontrola wersji.

  4. Aby ustawić uprawnienia dla wszystkich repozytoriów Git dla projektu, (1) wybierz pozycję Repozytoria Git, a następnie (2) wybierz grupę zabezpieczeń, której uprawnienia chcesz zarządzać.

    W przeciwnym razie wybierz określone repozytorium i wybierz grupę zabezpieczeń, której uprawnienia chcesz zarządzać.

  5. Wybierz ustawienie uprawnień, które chcesz zmienić.

    Git repository permissions dialog, prior to TFS 2017.1

  6. Gdy wszystko będzie gotowe, wybierz pozycję Zapisz zmiany.

Zmienianie uprawnień dla grupy zabezpieczeń

Aby ustawić uprawnienia dla niestandardowej grupy zabezpieczeń, należy wcześniej zdefiniować grupę. Zobacz Ustawianie uprawnień na poziomie projektu lub kolekcji.

  1. Aby ustawić uprawnienia dla określonej grupy, wybierz grupę. Na przykład w tym miejscu wybieramy grupę Współautorzy.

    Screenshot showing choosing Contributors group.

  2. Zmień co najmniej jedno uprawnienia. Aby udzielić uprawnień, zmień ustawienie Nie ustawiono naZezwalaj. Aby ograniczyć uprawnienia, zmień zezwalanie naOdmów.

    Screenshot showing three permissions changed for the Contributors group.

  3. Gdy wszystko będzie gotowe, przejdź ze strony. Zmiany uprawnień są automatycznie zapisywane dla wybranej grupy.

Ustawianie uprawnień dla określonego użytkownika

  1. Aby ustawić uprawnienia dla określonego użytkownika, wprowadź jego nazwę w filtrze wyszukiwania i wybierz z wyświetlonych tożsamości.

    Add user or group

    Następnie należy wprowadzić zmiany w zestawie uprawnień.

    Uwaga

    Znalezienie użytkownika na stronie uprawnień lub w polu tożsamości może nie być możliwe, jeśli użytkownik nie został dodany do projektu — przez dodanie go do grupy zabezpieczeń lub do zespołu projektu. Ponadto po dodaniu użytkownika do usługi Azure Active Directory lub Active Directory może być opóźnienie między dodaniem użytkownika do projektu a wyszukiwaniem z pola tożsamości. Opóźnienie może być od 5 minut do 7 dni.

  2. Gdy wszystko będzie gotowe, przejdź ze strony. Zmiany uprawnień są automatycznie zapisywane dla wybranej grupy.

Uwaga

Jeśli dodasz użytkownika lub grupę i nie zmienisz żadnych uprawnień dla tego użytkownika lub grupy, po odświeżeniu strony uprawnień dodany użytkownik lub grupa nie będą już wyświetlane.

Włączanie lub wyłączanie dziedziczenia dla określonego repozytorium

  • Aby włączyć lub wyłączyć dziedziczenie dla określonego repozytorium, wybierz repozytorium, a następnie przesuń suwak Dziedziczenie do pozycji włączenia lub wyłączenia.

    Enable or disable inheritance for a specific repository.

    Aby dowiedzieć się więcej o dziedziczeniu, zobacz About permissions and groups, Inheritance and security groups (Informacje o uprawnieniach i grupach, dziedziczeniu i grupach zabezpieczeń).

Wyklucz z wymuszania zasad i pomijaj uprawnienia zasad

Istnieje wiele scenariuszy, w których okazjonalnie konieczne jest obejście zasad gałęzi. Na przykład podczas przywracania zmiany, która spowodowała przerwę w kompilacji, lub stosowania poprawki w środku nocy. Wcześniej uprawnienie Wyklucz z wymuszania zasad pomagało zespołom zarządzać tym, którzy użytkownicy mieli uprawnienia do pomijania zasad gałęzi podczas wykonywania żądania ściągnięcie. Jednak to uprawnienie przyznało również możliwość wypychania bezpośrednio do gałęzi, całkowicie pomijając proces pryskania.

Aby ulepszyć to środowisko, dzielimy uprawnienie Wyklucz z wymuszania zasad, aby zaoferować większą kontrolę zespołom, które przyznają uprawnienia obejścia. Następujące dwa uprawnienia zastępują poprzednie uprawnienie:

  • Pomijaj zasady podczas kończenie żądań ściągnięć. Użytkownicy z tym uprawnieniem będą mogli używać funkcji "Przesłoń" dla żądań ściągnięć.
  • Pomijaj zasady podczas wypychania. Użytkownicy z tym uprawnieniem będą mogli wypychać dane bezpośrednio do gałęzi, które mają skonfigurowane wymagane zasady.

Dzięki udzieleniu pierwszego uprawnienia i zablokowaniu drugiego użytkownik może w razie potrzeby użyć opcji obejścia, ale nadal będzie miał ochronę przed przypadkowym wypchnięciem do gałęzi z zasadami.

Uwaga

Ta zmiana nie wprowadza żadnych zmian zachowania. Użytkownicy, którzy wcześniej mieli uprawnienia Zezwalaj na wykluczenie z wymuszania zasad, mają przyznane uprawnienia Zezwalaj dla obu nowych uprawnień, dzięki czemu będą mogli zarówno przesłonić ukończenie w przypadku pRs, jak i wypchnąć bezpośrednio do gałęzi przy użyciu zasad.