Git 리포지토리 권한 설정

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

소스 코드에 기여하고 다른 기능을 관리할 수 있는 사용자를 잠그기 위해 리포지토리에 대한 액세스 권한을 부여하거나 제한합니다. 최상위 Git 리포지토리 항목에서 변경하여 모든 Git 리포지토리 권한을 설정할 수 있습니다. 개별 리포지토리는 최상위 Git 리포지토리 항목에서 권한을 상속합니다.

참고 항목

분기는 리포지토리 수준에서 할당된 권한의 하위 집합을 상속합니다. 분기 사용 권한 및 정책은 분기 사용 권한 설정 및 분기 정책을 사용하여 코드 품질 향상을 참조하세요.

더 큰 사용 권한 수준을 제공할 사용자에 대한 지침은 사용 권한을 사용하여 액세스 권한 부여 또는 제한을 참조 하세요.

필수 조건

  • 프로젝트가 있어야 합니다. 아직 프로젝트가 없는 경우 Azure DevOps에서 프로젝트를 만들거나 온-프레미스 Azure DevOps에서 프로젝트를 설정합니다.
  • Project 관리istrators 그룹의 구성원이거나 Git 리포지토리에 대해 허용으로 설정된 관리 권한이 있어야 합니다.

소스 코드에 기여하려면 기본 액세스 수준 이상을 부여받아야 합니다. 프라이빗 프로젝트에 대한 관련자 액세스 권한을 부여받은 사용자는 소스 코드에 액세스할 수 없습니다. 퍼블릭 프로젝트에 대한 관련자 액세스 권한을 부여받은 사용자는 참가자 및 기본 액세스 권한이 부여된 사용자와 동일한 액세스 권한을 가짐 자세한 내용은 액세스 수준 정보(About Access Level)를 참조 하세요.

소스 코드에 기여하려면 기본 액세스 수준 이상을 부여받아야 합니다. 관련자 액세스 권한이 부여된 사용자는 소스 코드에 액세스할 수 없습니다. 자세한 내용은 액세스 수준 정보(About Access Level)를 참조 하세요.

기본 리포지토리 권한

기본적으로 프로젝트 기여자 그룹의 구성원은 리포지토리에 기여할 수 있는 권한이 있습니다. 여기에는 분기를 만들고, 태그를 만들고, 노트를 관리하는 기능이 포함됩니다. 각 보안 그룹 및 권한 수준에 대한 설명은 사용 권한 및 그룹 참조를 참조하세요.

권한

독자

참여자

빌드 관리

프로젝트 관리


읽기 (리포지토리의 콘텐츠 복제, 가져오기 및 탐색) 또한 끌어오기 요청을 만들고, 주석 달고, 투표하고 , 참가할 수 있습니다.

✔️

✔️

✔️

✔️

참가, 분기 만들기, 태그 만들기 및 노트 관리

✔️

✔️

✔️

리포지토리 만들기, 리포지토리 삭제 및 리포지토리 이름 바꾸기

✔️

정책 편집, 권한 관리, 다른 사용자의 잠금 제거

✔️

끌어오기 요청을 완료할 때 정책 무시, 푸시할 때 정책 무시, 강제 푸시 (기록 다시 쓰기, 분기 및 태그 삭제)
(보안 그룹에 대해 설정되지 않음)


Azure DevOps 스프린트 224(Azure DevOps Services 및 Azure DevOps Server 2022.1 이상)부터 정책 편집 권한은 더 이상 분기 작성자에 자동으로 부여되지 않습니다. 이전에는 새 분기를 만들 때 해당 분기에 대한 정책을 편집할 수 있는 권한을 부여했습니다. 이 업데이트를 사용하면 리포지토리에 대해 사용 권한 관리 설정이 켜져 있는 경우에도 이 권한을 부여하지 않도록 기본 동작을 변경합니다. 보안 권한 상속 또는 그룹 멤버 자격을 통해 명시적으로(수동 또는 REST API를 통해) 정책 편집 권한을 부여해야 합니다.

리포지토리에 대한 보안 열기

Project 설정>Repositories에서 Git 리포지토리 권한을 설정합니다.

  1. 웹 포털을 열고 사용자 또는 그룹을 추가할 프로젝트를 선택합니다. 다른 프로젝트를 선택하려면 프로젝트, 리포지토리, 팀 전환을 참조 하세요.

  2. 프로젝트 설정>리포지토리를 엽니다.

    모든 Git 리포지토리에 대한 권한을 설정하려면 보안을 선택합니다.

    예를 들어 여기서는 (1) 프로젝트 설정, (2) 리포지토리, (3) 보안을 선택합니다.

    프로젝트 설정>리포지>토리 보안 선택을 보여 주는 스크린샷

  3. 그렇지 않은 경우 특정 리포지토리에 대한 권한을 설정하려면 (1) 리포지토리를 선택한 다음 (2) 보안을 선택합니다.

    프로젝트 설정>선택 리포지토리>보안을 보여주는 스크린샷

리포지토리에 대한 권한 설정

사용 권한 상태를 단일 사용자 또는 보안 그룹에 대해 허용 또는 거부로 설정하여 리포지토리에 대한 액세스 권한을 부여하거나 제한할 수 있습니다.

  1. 웹 포털을 열고 사용자 또는 그룹을 추가할 프로젝트를 선택합니다. 다른 프로젝트를 선택하려면 프로젝트, 리포지토리, 팀 전환을 참조 하세요.

  2. 프로젝트에 대한 모든 Git 리포지토리에 대한 권한을 설정하려면 Git 리포지토리를 선택한 다음 관리하려는 권한이 있는 보안 그룹을 선택합니다.

    예를 들어 여기서는 (1) 프로젝트 설정, (2) 리포지토리, (3) Git 리포지토리, (4) 기여자 그룹, (5) 리포지토리 만들기에 대한 권한을 선택합니다.

    전체 이미지를 보려면 이미지를 클릭하여 확장합니다. 닫을 닫기 닫기 아이콘 아이콘을 선택합니다.

    Project 설정>디포지토리>Git 리포지토리>보안 코드>

    참고 항목

    사용자가 프로젝트에 추가되지 않은 경우 보안 그룹 또는 프로젝트 팀에 사용자를 추가하여 사용 권한 페이지 또는 ID 필드에서 사용자를 찾을 수 없습니다. 또한 사용자가 Microsoft Entra ID 또는 Active Directory에 추가되면 프로젝트에 추가되는 시간과 ID 필드에서 검색할 수 있는 시간 사이에 지연이 있을 수 있습니다. 지연 시간은 5분에서 7일 사이일 수 있습니다.

    그렇지 않은 경우 특정 리포지토리를 선택하고 관리하려는 권한이 있는 보안 그룹을 선택합니다.

    참고 항목

    사용자 또는 그룹을 추가하고 해당 사용자 또는 그룹에 대한 사용 권한을 변경하지 않으면 권한 페이지를 새로 고치면 추가한 사용자 또는 그룹이 더 이상 표시되지 않습니다.

  3. 완료되면 변경 내용 저장을 선택합니다.

보안 그룹에 대한 권한 변경

사용자 지정 보안 그룹에 대한 권한을 설정하려면 이전에 해당 그룹을 정의해야 합니다. 프로젝트 수준에서 사용 권한 설정을 참조 하세요.

  1. 특정 그룹에 대한 권한을 설정하려면 그룹을 선택합니다. 예를 들어 여기서는 기여자 그룹을 선택합니다.

    기여자 그룹 선택을 보여 주는 스크린샷

  2. 하나 이상의 사용 권한을 변경합니다. 사용 권한을 부여하려면 허용으로 설정되지 않음을 변경합니다. 사용 권한을 제한하려면 거부 허용변경합니다.

    기여자 그룹에 대해 변경된 세 가지 권한을 보여 주는 스크린샷

  3. 완료되면 페이지에서 멀리 이동합니다. 권한 변경 내용은 선택한 그룹에 대해 자동으로 저장됩니다.

특정 사용자에 대한 사용 권한 설정

  1. 특정 사용자에 대한 권한을 설정하려면 검색 필터에 사용자의 이름을 입력하고 표시되는 ID 중에서 선택합니다.

    사용자 또는 그룹 추가

    그런 다음 권한 집합을 변경합니다.

    참고 항목

    사용자가 프로젝트에 추가되지 않은 경우 보안 그룹 또는 프로젝트 팀에 사용자를 추가하여 사용 권한 페이지 또는 ID 필드에서 사용자를 찾을 수 없습니다. 또한 사용자가 Microsoft Entra ID 또는 Active Directory에 추가되면 프로젝트에 추가되는 시간과 ID 필드에서 검색할 수 있는 시간 사이에 지연이 있을 수 있습니다. 지연 시간은 5분에서 7일 사이일 수 있습니다.

  2. 완료되면 페이지에서 멀리 이동합니다. 권한 변경 내용은 선택한 그룹에 대해 자동으로 저장됩니다.

참고 항목

사용자 또는 그룹을 추가하고 해당 사용자 또는 그룹에 대한 사용 권한을 변경하지 않으면 권한 페이지를 새로 고치면 추가한 사용자 또는 그룹이 더 이상 표시되지 않습니다.

특정 리포지토리에 대한 상속 사용 또는 사용 안 함

  • 특정 리포지토리에 대한 상속을 사용하거나 사용하지 않도록 설정하려면 리포지토리를 선택한 다음 상속 슬라이더를 켜기 또는 끄기 위치로 이동합니다.

    특정 리포지토리에 대한 상속을 사용하거나 사용하지 않도록 설정합니다.

    상속에 대한 자세한 내용은 사용 권한 및 그룹, 상속 및 보안 그룹 정보입니다.

정책 적용에서 제외 및 정책 권한 무시

분기 정책을 바이패스해야 하는 여러 시나리오가 있습니다. 예를 들어 빌드 중단을 발생시킨 변경 사항을 되돌리기 한밤중에 핫픽스를 적용하는 경우입니다. 이전에는 정책 적용 권한 제외를 통해 팀이 끌어오기 요청을 완료할 때 분기 정책을 무시할 수 있는 권한을 부여받은 사용자를 관리할 수 있었습니다. 그러나 해당 권한은 PR 프로세스를 완전히 우회하여 분기에 직접 푸시할 수 있는 기능도 부여했습니다.

이 환경을 개선하기 위해 정책 적용 권한에서 제외를 분할하여 바이패스 권한을 부여하는 팀에 더 많은 제어 권한을 제공합니다. 다음 두 권한은 이전 사용 권한을 대체합니다.

  • 끌어오기 요청을 완료할 때 정책을 무시합니다. 이 권한이 있는 사용자는 끌어오기 요청에 "재정의" 환경을 사용할 수 있습니다.
  • 푸시할 때 정책을 무시합니다. 이 권한이 있는 사용자는 필요한 정책을 구성한 분기에 직접 푸시할 수 있습니다.

첫 번째 권한을 부여하고 두 번째 권한을 거부하면 사용자는 필요한 경우 바이패스 옵션을 사용할 수 있지만 정책으로 실수로 분기로 푸시하지 않도록 보호합니다.

참고 항목

이 변경은 동작 변경을 도입하지 않습니다. 이전에 정책 적용에서 제외 허용을 부여받은 사용자에게는 두 가지 새 권한 모두에 대한 허용이 부여되므로 PR에서 완료를 재정의하고 정책을 사용하여 분기로 직접 푸시할 수 있습니다.