권한 및 보안 그룹 정보
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
이 문서에서는 Azure DevOps에서 상속, 보안 그룹, 역할 등을 통한 액세스 수준 및 권한에 대해 알아봅니다.
기본 사용 권한에 대한 개요는 기본 권한 빠른 참조를 참조하세요.
자세한 내용은 보안 모범 사례를 참조 하세요.
액세스 수준
모든 Azure DevOps 사용자에게는 특정 웹 포털 기능에 대한 액세스 권한을 부여하거나 제한하는 액세스 수준이 있습니다.
세 가지 주요 액세스 수준인 관련자, 기본 및 기본 + 테스트 계획이 있습니다. 관련자 액세스는 제한된 기능 집합에 무제한의 사용자에 대한 무료 액세스를 제공합니다. 자세한 내용은 관련자 액세스 빠른 참조를 참조하세요.
사용자에게 Agile 포트폴리오 관리 또는 테스트 사례 관리 기능에 대한 액세스 권한을 부여하려면 권한이 아닌 액세스 수준을 변경합니다. 자세한 내용은 액세스 수준 정보를 참조 하세요.
사용 권한
Azure DevOps의 모든 사용자는 하나 이상의 기본 보안 그룹에 속합니다. 보안 그룹은 기능 또는 작업에 대한 액세스를 허용하거나 거부하는 할당된 권한을 얻습니다.
- 멤버는 보안 그룹에 할당된 권한을 상속합니다.
- 권한은 조직/컬렉션, 프로젝트 또는 개체와 같은 다양한 수준에서 정의됩니다.
- 일부 권한은 역할 기반 할당(예: 팀 관리자, 확장 관리 또는 파이프라인 리소스 역할)을 통해 관리됩니다.
- 관리자는 사용자 지정 보안 그룹을 정의하여 다양한 기능 영역에 대한 권한을 관리할 수 있습니다.
자세한 내용은 보안 모범 사례, 보안 및 사용자 그룹을 참조 하세요.
Azure DevOps에서 사용 권한을 관리하려면 프로젝트 컬렉션 관리자와 프로젝트 관리자의 두 가지 주요 그룹이 포함됩니다.
프로젝트 컬렉션 관리자:
- 조직 또는 프로젝트 컬렉션 내에서 가장 높은 권한을 보유합니다.
- 전체 컬렉션에 대해 모든 작업을 수행합니다.
- 조직의 설정, 정책 및 프로세스를 관리합니다.
- 모든 프로젝트 및 확장을 만들고 관리합니다.
프로젝트 관리자:
- 프로젝트 수준에서 작동합니다.
- 웹 포털의 프로젝트 설정에서 보안 그룹 및 권한을 관리합니다.
- 기여자는 프로젝트 내에서 만든 특정 개체에 대한 권한을 처리합니다.
사용 권한 상태
액세스 권한을 부여하거나 제한할 권한을 할당합니다.
사용자 또는 그룹에는 다음 권한이 있습니다.
- 허용
- 허용(상속됨)
- 허용(시스템)
사용자 또는 그룹에는 권한이 없습니다.
- 거부
- 거부(상속됨)
- 거부(시스템)
- 설정 안 함
사용 권한 상태 | 설명 |
---|---|
허용 | 사용자에게 특정 작업을 수행할 수 있도록 명시적으로 부여하며 그룹 멤버 자격에서 상속되지 않습니다. |
허용(상속됨) | 그룹 구성원에게 특정 작업을 수행하도록 허용합니다. |
허용(시스템) | 사용자 권한보다 우선하는 권한을 부여합니다. 사용자가 볼 수 없는 구성 데이터베이스에 저장할 수 없습니다. |
거부 | 사용자가 특정 작업을 수행하지 못하도록 명시적으로 제한하며 그룹 멤버 자격에서 상속되지 않습니다. 대부분의 그룹 및 거의 모든 권한의 경우 거부가 허용을 재정의합니다. 사용자가 두 그룹에 속하고 그 중 하나에 거부로 설정된 특정 사용 권한이 있는 경우 해당 사용 권한이 허용으로 설정된 그룹에 속해 있더라도 해당 권한이 필요한 작업을 수행할 수 없습니다. |
거부(상속됨) | 그룹 멤버가 특정 작업을 수행하지 못하도록 제한합니다. 명시적 허용을 재정의합니다. |
거부(시스템) | 사용자 권한보다 우선하는 권한을 제한합니다. 사용자가 볼 수 없는 구성 데이터베이스에 저장할 수 없습니다. |
설정 안 함 | 사용자에게 해당 권한이 필요한 작업을 수행할 수 있는 기능을 암시적으로 거부하지만, 해당 권한이 있는 그룹의 멤버 자격(허용(상속됨) 또는 거부(상속됨)라고도 함)를 우선적으로 사용할 수 있습니다. |
프로젝트 컬렉션 관리자 또는 Team Foundation Administrators 그룹의 구성원은 다른 그룹에서 거부된 경우에도 항상 사용 권한을 받을 수 있습니다. 다음 예제에서는 이 시나리오에 대해 자세히 설명합니다.
- 사용자는 여전히 프로젝트 설정에 액세스하거나 사용자를 관리할 수 있습니다. 그러나 작업 항목 삭제 또는 파이프라인 관리와 같은 작업의 경우 프로젝트 컬렉션 관리자 그룹의 구성원이 되는 것은 다른 곳에서 설정된 거부 권한을 재정의하지 않습니다.
- 사용자가 특정 프로젝트에서 작업 항목을 삭제할 수 있는 권한이 거부된 경우 프로젝트 컬렉션 관리자 그룹의 일부인 경우에도 작업 항목을 삭제할 수 없습니다. 마찬가지로 파이프라인 권한이 거부되면 관리 역할에도 불구하고 파이프라인을 관리하거나 실행할 수 없습니다.
Warning
그룹에 대한 사용 권한을 수정하면 해당 그룹의 모든 사용자에게 영향을 줍니다. 단일 권한 변경이라도 수백 명의 사용자에게 영향을 미칠 수 있으므로 조정하기 전에 잠재적인 영향을 고려하는 것이 중요합니다.
권한 상속
권한은 계층 구조를 따라 부모 노드에서 상속을 허용하거나 재정의합니다.
그룹 상속:
- 사용자는 속한 그룹에서 사용 권한을 상속합니다.
- 사용자에게 직접 또는 그룹 멤버 자격을 통해 허용 권한이 있지만 다른 그룹을 통한 거부 권한도 있는 경우 거부 권한이 우선합니다.
- 프로젝트 컬렉션 관리자 또는 Team Foundation Administrators의 구성원은 해당 사용 권한을 거부하는 다른 그룹에 속하더라도(작업 항목 작업 제외) 허용된 권한을 대부분 유지합니다.
개체 수준 상속:
영역, 반복, 버전 제어 폴더 및 작업 항목 쿼리 폴더와 같은 노드에 할당된 개체 수준 권한은 계층 구조에서 상속됩니다.
권한 상속 및 특이성 규칙:
- 명시적 권한은 항상 상속된 권한보다 우선합니다.
- 상위 수준 노드에서 설정된 사용 권한은 명시적으로 재정의되지 않는 한 모든 하위 노드에서 상속됩니다.
- 사용 권한이 하위 노드에 대해 명시적으로 허용되거나 거부되지 않으면 해당 부모로부터 사용 권한을 상속합니다.
- 하위 노드에 대한 사용 권한이 명시적으로 설정된 경우 허용 여부와 거부 여부에 관계없이 부모의 사용 권한은 상속되지 않습니다.
특이성:
개체 계층 구조에서 특이성은 상속을 능가합니다. 충돌하는 사용 권한이 있는 경우 가장 구체적인 사용 권한이 우선합니다.
예제:
- 'area-1'(부모 노드)에서 명시적으로 거부 합니다.
- 'area-1/sub-area-1'(자식 노드)을 명시적으로 허용 합니다.
- 이 경우 사용자는 부모 노드에서 상속된 거부를 재정의하여 'area-1/sub-area-1'에서 허용을 받습니다.
사용 권한이 상속되는 이유를 이해하려면 사용 권한 설정을 일시 중지한 다음 이유를 선택할 수 있습니다. 보안 페이지를 열려면 권한 보기를 참조하세요.
참고 항목
프로젝트 사용 권한 설정 페이지 미리 보기 페이지를 사용하려면 미리 보기 기능 사용을 참조하세요.
해당 권한에 대한 상속 정보를 보여 주는 새 대화 상자가 열립니다.
프로젝트 사용 권한 설정 페이지의 미리 보기 사용자 인터페이스는 Azure DevOps Server 2020 및 이전 버전에서는 사용할 수 없습니다.
보안 그룹 및 멤버 자격
보안 그룹은 구성원에게 특정 권한을 할당합니다.
조직, 컬렉션 또는 프로젝트를 만들면 Azure DevOps는 기본 권한이 자동으로 할당되는 기본 보안 그룹 집합을 만듭니다. 다음 작업으로 더 많은 보안 그룹이 정의됩니다.
- 다음 수준에서 사용자 지정 보안 그룹을 만드는 경우:
- 프로젝트 수준
- 조직 또는 컬렉션 수준
- 서버 수준(온-프레미스에만 해당)
- 팀을 추가하면 팀 보안 그룹이 만들어집니다.
개체 수준 보안 그룹을 만들 수는 없지만 사용자 지정 그룹을 개체 수준에 할당하고 해당 수준에 권한을 할당할 수 있습니다. 자세한 내용은 개체 수준 권한 설정을 참조 하세요.
기본 보안 그룹
대부분의 Azure DevOps 사용자는 기여자 보안 그룹에 추가되고 기본 액세스 수준이 부여됩니다. 기여자 그룹은 리포지토리, 작업 추적, 파이프라인 등에 대한 읽기 및 쓰기 액세스를 제공합니다. 기본 액세스는 Azure Boards, Azure Repos, Azure Pipelines 및 Azure Artifacts를 사용하기 위한 모든 기능 및 작업에 대한 액세스를 제공합니다. Azure Test Plans를 관리하기 위해 액세스 권한이 필요한 사용자에게 기본 + 테스트 계획 또는 고급 액세스 권한이 부여되어야 합니다.
각 프로젝트 및 조직에는 다음과 같은 보안 그룹이 기본적으로 정의되어 있습니다. 일반적으로 읽기 권한자, 참가자 또는 프로젝트 관리자 그룹에 사용자 또는 그룹을 추가합니다.
프로젝트 | 조직 또는 컬렉션 |
---|---|
- 빌드 관리자 -참여자 - 프로젝트 관리자 - 프로젝트 유효한 사용자 -독자 - 릴리스 관리자 - TeamName 팀 |
- 프로젝트 컬렉션 관리자 - 프로젝트 컬렉션 빌드 관리자 - 프로젝트 컬렉션 빌드 서비스 계정 - 프로젝트 컬렉션 프록시 서비스 계정 - Project Collection Service 계정 - Project Collection Test Service 계정 - 프로젝트 컬렉션 유효한 사용자 - 프로젝트 범위 사용자 - 보안 서비스 그룹 |
이러한 각 그룹에 대한 설명은 보안 그룹, 서비스 계정 및 권한을 참조 하세요. 가장 일반적인 기본 보안 그룹에 대한 기본 권한 할당은 기본 사용 권한 및 액세스를 참조하세요.
다음 보안 그룹은 각 프로젝트 및 프로젝트 컬렉션에 대해 기본적으로 정의됩니다. 일반적으로 읽기 권한자, 참가자 또는 프로젝트 관리자 그룹에 사용자 또는 그룹을 추가합니다.
Azure DevOps 서비스 계정 그룹에만 서비스 계정을 추가합니다. 유효한 사용자 그룹을 이해하려면 이 문서의 뒷부분에 있는 유효한 사용자 그룹을 참조하세요.
프로젝트 수준 | 컬렉션 수준 |
---|---|
- 빌드 관리자 -참여자 - 프로젝트 관리자 - 프로젝트 유효한 사용자 -독자 - 릴리스 관리자 - TeamName 팀 |
- 프로젝트 컬렉션 관리자 - 프로젝트 컬렉션 빌드 관리자 - 프로젝트 컬렉션 빌드 서비스 계정 - 프로젝트 컬렉션 프록시 서비스 계정 - Project Collection Service 계정 - Project Collection Test Service 계정 - 프로젝트 컬렉션 유효한 사용자 - 보안 서비스 그룹 |
팀, 영역 및 반복 경로, 리포지토리, 서비스 후크 및 서비스 엔드포인트와 같은 프로젝트 수준 기능을 관리하는 임무를 맡은 사용자의 경우 프로젝트 관리자 그룹에 추가 합니다 .
프로젝트, 정책, 프로세스, 보존 정책, 에이전트 및 배포 풀 및 확장과 같은 조직 또는 컬렉션 수준 기능을 관리하는 임무를 맡은 사용자의 경우 프로젝트 컬렉션 관리자 그룹에 추가합니다. 자세한 내용은 사용자, 팀, 프로젝트 및 조직 수준 설정 정보를 참조 하세요.
멤버 자격, 권한 및 액세스 수준 관리
Azure DevOps는 다음과 같은 세 가지 상호 연결된 기능 영역을 통해 액세스를 제어합니다.
- 멤버 자격 관리는 개별 사용자 계정 및 그룹을 기본 보안 그룹에 추가하는 것을 지원합니다. 각 기본 그룹은 기본 권한 집합과 연결되어 있습니다. 모든 보안 그룹에 추가된 모든 사용자가 유효한 사용자 그룹에 추가됩니다. 유효한 사용자는 프로젝트, 컬렉션 또는 조직에 연결할 수 있는 사람입니다.
- 권한 관리는 시스템의 서로 다른 수준에서 특정 기능 작업에 대한 액세스를 제어합니다. 개체 수준 권한은 파일, 폴더, 빌드 파이프라인 또는 공유 쿼리에 대한 사용 권한을 설정합니다. 사용 권한 설정은 허용, 거부, 상속된 허용, 상속된 거부, 시스템 허용, 시스템 거부 및 설정 안 됨에 해당합니다.
- 액세스 수준 관리는 웹 포털 기능에 대한 액세스를 제어합니다. 관리자가 사용자에 대해 구매한 항목에 따라 사용자의 액세스 수준을 이해 관계자, 기본, 기본 + 테스트 또는 Visual Studio Enterprise(이전 고급)로 설정합니다.
각 기능 영역은 보안 그룹을 사용하여 배포 전반에 걸쳐 관리를 단순화합니다. 웹 관리 컨텍스트를 통해 사용자 및 그룹을 추가합니다. 사용 권한은 사용자를 추가하는 보안 그룹에 따라 자동으로 설정됩니다. 또는 사용 권한은 그룹을 추가하는 개체, 프로젝트, 컬렉션 또는 서버 수준을 기반으로 합니다.
보안 그룹 멤버는 사용자, 다른 그룹 및 Microsoft Entra 그룹의 조합일 수 있습니다.
보안 그룹 구성원은 사용자, 다른 그룹 및 Active Directory 그룹 또는 작업 그룹의 조합일 수 있습니다.
로컬 그룹 또는 AD(Active Directory) 그룹을 만들어 사용자를 관리할 수 있습니다.
Active Directory 및 Microsoft Entra 보안 그룹
개별 사용자를 추가하여 보안 그룹을 채울 수 있습니다. 그러나 관리 편의를 위해 Azure DevOps Services 및 AD(Active Directory) 또는 Azure DevOps Server용 Windows 사용자 그룹에 대해 Microsoft Entra ID를 사용하여 이러한 그룹을 채우는 것이 더 효율적입니다. 이 방법을 사용하면 여러 컴퓨터에서 그룹 멤버 자격 및 권한을 보다 효과적으로 관리할 수 있습니다.
소규모 사용자 집합만 관리해야 하는 경우 이 단계를 건너뛸 수 있습니다. 그러나 조직이 증가할 것으로 예상하는 경우 Active Directory 또는 Microsoft Entra ID를 설정하는 것이 좋습니다. 또한 추가 서비스를 사용하려는 경우 청구를 지원하도록 Azure DevOps에서 사용할 Microsoft Entra ID를 구성해야 합니다.
참고 항목
Microsoft Entra ID가 없으면 모든 Azure DevOps 사용자가 Microsoft 계정을 사용하여 로그인해야 하며 개별 사용자 계정으로 계정 액세스를 관리해야 합니다. Microsoft 계정을 사용하여 계정 액세스를 관리하는 경우에도 청구를 관리하도록 Azure 구독을 설정합니다.
Azure DevOps Services에서 사용할 Microsoft Entra ID를 설정하려면 Microsoft Entra ID에 조직 연결을 참조하세요.
조직이 Microsoft Entra ID에 연결된 경우 다양한 조직 정책을 정의하고 관리하여 보안을 강화하고 애플리케이션에 대한 액세스를 간소화할 수 있습니다. 자세한 내용은 보안, 보안 정책 정보를 참조하세요.
Microsoft Entra ID를 사용하여 조직 액세스를 관리하려면 다음 문서를 참조하세요.
Azure DevOps는 Microsoft Entra ID에서 변경된 후 1시간 이내에 Microsoft Entra 그룹에 적용된 변경 내용을 등록합니다. 그룹 멤버 자격을 통한 상속된 권한은 새로 고쳐집니다. Azure DevOps에서 Microsoft Entra 멤버 자격 및 상속된 권한을 새로 고치려면 로그아웃한 다음 다시 로그인하거나 새로 고침을 트리거하여 사용 권한을 다시 평가합니다.
Azure DevOps Server에서 사용할 Active Directory를 설정하려면 다음 문서를 참조하세요.
Azure DevOps Server를 설치하기 전에 Active Directory를 설치합니다.
유효한 사용자 그룹
사용자의 계정을 보안 그룹에 직접 추가하면 다음 유효한 사용자 그룹 중 하나에 자동으로 추가됩니다.
- 프로젝트 컬렉션 유효 사용자: 조직 수준 그룹에 모든 멤버가 추가되었습니다.
- 프로젝트 유효 사용자: 프로젝트 수준 그룹에 모든 멤버가 추가되었습니다.
- Server\Azure DevOps 유효한 사용자: 서버 수준 그룹에 추가된 모든 멤버입니다.
- ProjectCollectionName\Project Collection 유효한 사용자: 컬렉션 수준 그룹에 추가된 모든 멤버입니다.
- ProjectName\Project Valid Users: 프로젝트 수준 그룹에 추가된 모든 멤버입니다.
이러한 그룹에 할당된 기본 권한은 주로 빌드 리소스 보기, 프로젝트 수준 정보 보기 및 컬렉션 수준 정보 보기와 같은 읽기 권한을 제공합니다.
한 프로젝트에 추가하는 모든 사용자는 컬렉션 내의 다른 프로젝트의 개체를 볼 수 있습니다. 보기 액세스를 제한하려면 영역 경로 노드를 통해 제한을 설정할 수 있습니다.
유효한 사용자 그룹 중 하나에 대한 인스턴스 수준 정보 보기 권한을 제거하거나 거부하는 경우 설정한 그룹에 따라 그룹의 구성원이 프로젝트, 컬렉션 또는 배포에 액세스할 수 없습니다.
프로젝트 범위 사용자 그룹
기본적으로 조직에 추가된 사용자는 모든 조직 및 프로젝트 정보 및 설정을 볼 수 있습니다. 이러한 설정에는 조직 설정을 통해 액세스할 수 있는 사용자 목록, 프로젝트 목록, 청구 세부 정보, 사용량 현황 데이터 등이 포함됩니다.
Important
- 이 섹션에서 설명하는 제한된 표시 유형 기능은 웹 포털을 통한 상호 작용에만 적용됩니다. REST API 또는
azure devops
CLI 명령을 사용하면 프로젝트 멤버가 제한된 데이터에 액세스할 수 있습니다. - Microsoft Entra ID에서 기본 액세스 권한이 있는 제한된 그룹의 구성원인 게스트 사용자는 사용자 선택기가 있는 사용자를 검색할 수 없습니다. 조직에 대해 미리 보기 기능이 꺼져 있거나 게스트 사용자가 제한된 그룹의 구성원이 아닌 경우 게스트 사용자는 예상대로 모든 Microsoft Entra 사용자를 검색할 수 있습니다.
관련자, Microsoft Entra 게스트 사용자 또는 특정 보안 그룹의 구성원과 같은 특정 사용자를 제한하려면 조직의 특정 프로젝트 미리 보기 기능으로 사용자 표시 유형 및 협업을 제한할 수 있습니다. 사용하도록 설정되면 프로젝트 범위 사용자 그룹에 추가된 모든 사용자 또는 그룹은 개요 및 프로젝트를 제외하고 조직 설정 페이지에 액세스할 수 없습니다. 또한 추가된 프로젝트에만 액세스할 수 있습니다.
Warning
특정 프로젝트 미리 보기 기능에 대한 사용자 가시성 및 공동 작업 제한을 사용하면 명시적 사용자 초대가 아닌 Microsoft Entra 그룹 멤버 자격을 통해 프로젝트 범위 사용자가 조직에 추가된 사용자를 검색할 수 없습니다. 이는 예기치 않은 동작이며 해결이 진행 중입니다. 이 문제를 해결하려면 조직의 특정 프로젝트 미리 보기 기능으로 사용자 표시 유형 및 공동 작업 제한을 사용하지 않도록 설정합니다.
자세한 내용은 미리 보기 기능 관리를 참조 하세요.
참고 항목
보안 그룹은 특정 프로젝트에 사용되는 경우에도 조직 수준에서 관리됩니다. 사용자 권한에 따라 일부 그룹은 웹 포털에서 숨겨질 수 있습니다. 조직 내의 모든 그룹 이름을 보려면 Azure DevOps CLI 도구 또는 REST API를 사용할 수 있습니다. 자세한 내용은 보안 그룹 추가 및 관리를 참조 하세요.
참고 항목
보안 그룹은 특정 프로젝트에 사용되는 경우에도 컬렉션 수준에서 관리됩니다. 사용자 권한에 따라 일부 그룹은 웹 포털에서 숨겨질 수 있습니다. 컬렉션 내의 모든 그룹 이름을 보려면 Azure DevOps CLI 도구 또는 REST API를 사용할 수 있습니다. 자세한 내용은 보안 그룹 추가 및 관리를 참조 하세요.
참고 항목
보안 그룹은 특정 프로젝트에 사용되는 경우에도 컬렉션 수준에서 관리됩니다. 사용자 권한에 따라 일부 그룹은 웹 포털에서 숨겨질 수 있습니다. 컬렉션의 모든 그룹 이름을 보려면 REST API를 사용할 수 있습니다. 자세한 내용은 보안 그룹 추가 및 관리를 참조 하세요.
역할 기반 권한
역할 기반 권한을 사용하면 각 역할에 하나 이상의 권한이 할당된 사용자 계정 또는 보안 그룹을 역할에 할당합니다. 다음은 기본 역할 및 자세한 정보에 대한 링크입니다.
- 아티팩트 또는 패키지 피드 보안 역할: 역할은 패키지 피드를 편집하고 관리하기 위한 다양한 권한 수준을 지원합니다.
- Marketplace 확장 관리자 역할: 관리자 역할의 멤버는 확장을 설치하고 설치할 확장 요청에 응답할 수 있습니다.
- 파이프라인 보안 역할: 라이브러리 리소스, 프로젝트 수준 및 컬렉션 수준 파이프라인 리소스를 관리하는 데 여러 역할이 사용됩니다.
- 팀 관리자 역할 팀 관리자는 모든 팀 도구를 관리할 수 있습니다.
자세한 내용은 보안 역할 정보를 참조 하세요.
다음 이미지는 프로젝트 및 컬렉션 수준에서 정의된 보안 그룹이 개체, 프로젝트 및 조직에 권한을 할당하는 방법을 보여 줍니다.
다음 이미지는 프로젝트 및 컬렉션 수준에서 정의된 보안 그룹을 개체, 프로젝트 및 컬렉션 수준에서 할당된 권한에 할당하는 방법을 보여 줍니다. 서버 수준 보안 그룹을 서버 수준 권한으로만 정의할 수 있습니다.
프로젝트 관리자 또는 프로젝트 컬렉션 관리자 그룹의 구성원은 모든 팀의 모든 팀 도구를 관리할 수 있습니다.
프리뷰 기능
기능 플래그는 새 기능에 대한 액세스를 제어합니다. Azure DevOps는 기능 플래그 뒤에 새로운 기능을 주기적으로 도입합니다. 프로젝트 멤버 및 조직 소유자 미리 보기 기능을 사용하거나 사용하지 않도록 설정할 수 있습니다. 자세한 내용은 기능 관리 또는 사용을 참조 하세요.