다음을 통해 공유


파이프라인 보안 역할 정보

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

Azure DevOps는 작업 기반 권한을 사용하여 빌드 및 릴리스 파이프라인 및 작업 그룹에 대한 보안을 관리합니다. 여러 파이프라인 리소스는 사용자 또는 그룹에 할당할 수 있는 역할 기반 권한을 사용합니다. 각 역할은 사용자가 특정 파이프라인 리소스의 컨텍스트 내에서 수행할 수 있는 작업을 정의합니다.

역할 기반 권한은 프로젝트, 조직 또는 컬렉션 내의 특정 형식의 모든 리소스에 적용됩니다. 개별 리소스는 프로젝트 수준 설정에서 사용 권한을 상속하지만 보다 세부적인 제어가 필요한 경우 특정 아티팩트에서 상속을 사용하지 않도록 설정할 수 있습니다.

보안 역할 및 권한 이해

Azure DevOps는 다음 두 가지 기본 보안 모델을 사용합니다.

  • 역할 기반 보안: 파이프라인 리소스에 대한 특정 사용 권한 집합이 있는 미리 정의된 역할
  • 권한 기반 보안: 개별적으로 할당할 수 있는 세분화된 권한

보안 역할은 일반적인 사용 권한 시나리오를 관리하는 간소화된 방법을 제공하는 반면 개별 권한은 필요할 때 보다 자세한 제어를 제공합니다.

기본 역할 할당

기본적으로 모든 프로젝트 기여자는 호스트된 각 큐에 대한 사용자 역할의 멤버가 됩니다. 이 역할을 사용하면 호스트된 큐를 사용하여 빌드 및 릴리스 파이프라인을 작성하고 실행하여 팀 구성원에게 즉각적인 생산성을 제공할 수 있습니다.

시스템은 다음과 같은 경우 이러한 기본 역할을 자동으로 할당합니다.

  • 새 프로젝트를 만듭니다.
  • 사용자가 프로젝트 기여자 그룹에 가입
  • 새 파이프라인 리소스를 추가합니다.

에이전트 풀 보안 역할, 프로젝트 수준

에이전트 풀 페이지의 프로젝트 수준 관리자 컨텍스트 에서 보안 역할에 사용자를 추가할 수 있습니다 . 에이전트 풀을 추가하고 관리하는 방법에 대한 자세한 내용은 에이전트 풀을 참조 하세요.

탐색: 프로젝트 설정 → 파이프라인 → 에이전트 풀

역할(프로젝트 수준) 설명
판독기 풀을 봅니다. 일반적으로 이 역할에 연산자를 추가하여 풀의 빌드 및 배포 작업을 모니터링합니다.
사용자 빌드 또는 릴리스 파이프라인을 작성할 때 풀을 보고 사용합니다.
작성자 빌드 또는 릴리스 파이프라인을 작성할 때 풀을 만들고 사용합니다.
관리자 풀의 모든 역할에 대한 멤버 자격을 관리하고 풀을 보고 사용합니다. 풀을 만든 사용자는 해당 풀의 관리자 역할에 자동으로 추가됩니다.

보안 탭에서 모든 프로젝트 에이전트 풀의 보안을 관리합니다. 개별 프로젝트 에이전트 풀의 역할 멤버 자격은 이러한 역할에서 자동으로 상속됩니다.

기본적으로 다음 그룹은 '모든 에이전트 풀'의 관리자 역할에 추가됩니다.

  • 빌드 관리자
  • 릴리스 관리자
  • 프로젝트 관리자.

프로젝트 설정 에이전트 풀 페이지에서 프로젝트 에이전트 풀에 대한 역할 설정을>관리합니다 .

  • 프로젝트 내의 모든 풀에 대한 권한을 설정하려면 보안을 선택한 다음 사용자를 추가하고 해당 역할을 선택합니다.
  • 특정 풀에 대한 권한을 설정하려면 풀을 선택한 다음 보안을 선택합니다. 파이프라인 사용 권한에서 풀에 액세스할 수 있는 파이프라인을 확인합니다. 단추를 사용하여 파이프라인을 + 명시적으로 허용하거나 단추를 사용하는 모든 파이프라인을 허용합니다. 사용자 권한에서 사용자 또는 그룹을 추가하고 해당 역할을 선택합니다.

프로젝트 수준 에이전트 풀 역할에 대한 일반적인 시나리오

  • 사용자 역할: 빌드 및 릴리스를 실행해야 하는 개발자
  • 읽기 권한자 역할: 큐 상태에 대한 가시성이 필요한 관련자
  • 관리자 역할: 풀 구성을 관리하는 DevOps 엔지니어

에이전트 풀 보안 역할, 조직 또는 컬렉션 수준

조직 설정 에이전트 풀을 추가하고 관리하는 방법에 대한 자세한 내용은 에이전트 풀을 참조 하세요.

탐색: 조직 설정 → 파이프라인 → 에이전트 풀

역할(조직 수준) 설명
판독기 풀 및 에이전트를 봅니다. 일반적으로 에이전트와 해당 상태를 모니터링하기 위해 이 역할에 연산자를 추가합니다.
서비스 계정 풀을 사용하여 프로젝트에서 에이전트를 만듭니다. 새 풀을 만들기 위한 지침에 따라 일반적으로 이 역할에 멤버를 추가할 필요가 없습니다.
관리자 풀에서 에이전트를 등록 또는 등록 취소하고, 모든 풀의 멤버 자격을 관리하고, 풀을 보고 만듭니다. 프로젝트에서 에이전트를 만들 때 에이전트 풀을 사용합니다. 시스템은 풀을 만든 사용자를 해당 풀의 관리자 역할에 자동으로 추가합니다.

조직 설정 에이전트 풀 페이지에서 조직 또는 컬렉션 수준 에이전트 풀에 대한 역할 설정을>관리합니다.

  • 조직 또는 컬렉션 내의 모든 풀에 대한 권한을 설정하려면 보안을 선택한 다음 사용자 또는 그룹을 추가하고 역할을 선택합니다.
  • 특정 풀에 대한 권한을 설정하려면 풀을 선택한 다음 보안을 선택합니다. 사용자 또는 그룹을 추가하고 해당 역할을 선택합니다.

조직 수준 및 프로젝트 수준 권한

조직 수준 역할 제어:

  • 풀 만들기 및 삭제
  • 에이전트 설치 및 구성
  • 프로젝트 간 풀 공유

프로젝트 수준 역할 제어:

  • 특정 프로젝트 내의 풀 사용량
  • 파이프라인 실행 권한
  • 큐 모니터링 액세스

배포 그룹 보안 역할

파이프라인 또는 빌드 및 릴리스 페이지에서 다음 역할에 사용자를 추가합니다. 배포 그룹을 추가하고 관리하는 방법에 대한 자세한 내용은 배포 그룹을 참조하세요.

탐색: 프로젝트 설정 → 파이프라인 → 배포 그룹

역할 설명
판독기 배포 그룹을 봅니다.
작성자 배포 그룹을 보고 만듭니다.
사용자 배포 그룹을 보고 사용하지만 관리하거나 만들 수는 없습니다.
관리자 역할 관리, 관리, 보기 및 배포 그룹 사용

배포 그룹 역할 사용 사례

  • 관리자: 배포 대상 구성 및 그룹 설정 관리
  • 사용자: 대상 환경에 애플리케이션 배포
  • 읽기 권한자: 배포 상태 모니터링 및 배포 기록 보기

배포 풀 보안 역할

배포 풀 페이지에서 다음 역할에 사용자를 추가합니다 . 배포 풀을 만들고 관리하는 방법에 대한 자세한 내용은 배포 그룹을 참조하세요.

탐색: 조직 설정 → 파이프라인 → 배포 풀

역할 설명
판독기 배포 풀을 봅니다.
서비스 계정 에이전트를 보고, 세션을 만들고, 에이전트 풀에서 작업을 수신 대기합니다.
사용자 배포 풀을 보고 사용하여 배포 그룹을 만듭니다.
관리자 배포 풀을 관리, 관리, 보기 및 사용합니다.

배포 풀과 배포 그룹 비교

  • 배포 풀: 여러 프로젝트에서 공유할 수 있는 조직 수준 리소스
  • 배포 그룹: 프로젝트별 배포 대상 컬렉션

라이브러리 자산 보안 역할: 변수 그룹 및 보안 파일

파이프라인 또는 빌드 및 릴리스에서 라이브러리 역할에 사용자를 추가합니다. 이러한 라이브러리 자산을 사용하는 방법에 대한 자세한 내용은 변수 그룹보안 파일을 참조하세요.

탐색: 프로젝트 설정 → 파이프라인 → 라이브러리

역할 설명
관리자 라이브러리 자산에 대한 보안을 편집, 삭제 및 관리합니다. 자산 작성자는 자산에 대해 이 역할을 자동으로 할당합니다.
작성자 라이브러리 자산을 만듭니다.
판독기 라이브러리 자산을 읽습니다.
사용자 파이프라인에서 라이브러리 자산을 사용합니다.

라이브러리 보안 모범 사례

  • 관리자 액세스 제한: 라이브러리 자산을 관리해야 하는 사용자에게만 관리자 역할 부여
  • 가시성을 위해 읽기 권한자 역할 사용: 사용 가능한 자산을 확인해야 하는 사용자에게 읽기 권한자 역할 할당
  • 중요한 데이터 보안: 비밀을 포함하는 변수 그룹에 적절한 역할 사용
  • 정기 감사: 정기적으로 라이브러리 액세스 권한 검토

서비스 연결 보안 역할

서비스 페이지에서 다음 역할에 사용자를 추가합니다 . 이러한 리소스를 만들고 관리하는 방법에 대한 자세한 내용은 빌드 및 릴리스에 대한 서비스 연결을 참조하세요.

탐색: 프로젝트 설정 → 서비스 연결

역할 설명
사용자 빌드 또는 릴리스 파이프라인을 작성할 때 엔드포인트를 사용합니다.
관리자 서비스 연결에 대한 다른 모든 역할의 멤버 자격을 관리하고 엔드포인트를 사용하여 빌드 또는 릴리스 파이프라인을 작성합니다. 시스템은 서비스 연결을 만든 사용자를 해당 풀의 관리자 역할에 자동으로 할당합니다.

서비스 연결 보안 고려 사항

서비스 연결에는 중요한 자격 증명이 포함되어 있으며 신중한 권한 관리가 필요한 경우가 많습니다.

  • 관리자 역할: 외부 서비스 통합을 구성하는 DevOps 엔지니어용
  • 사용자 역할: 기존 연결을 사용해야 하는 파이프라인 작성자
  • 읽기 권한자 역할: 사용 가능한 연결에 대한 가시성이 필요한 팀 구성원의 경우
  • 작성자 역할: 새 서비스 연결을 설정할 수 있는 권한이 있는 사용자

역할 할당 관리

역할 관리에 대한 모범 사례

  1. 최소 권한 원칙: 사용자가 작업을 수행하는 데 필요한 최소 역할 할당
  2. 개인보다 그룹 사용: 가능하면 개별 사용자가 아닌 Microsoft Entra 그룹에 역할 할당
  3. 정기 검토: 역할 할당을 정기적으로 감사하여 적절한 상태를 유지합니다.
  4. 문서 할당: 누가 어떤 역할과 이유를 가지고 있는지에 대한 설명서를 유지 관리합니다.

일반적인 역할 할당 패턴

사용자 유형 일반적인 역할 근거
개발자 파이프라인 리소스 간 사용자 역할 파이프라인을 실행하고 리소스에 액세스해야 합니다.
DevOps 엔지니어 인프라 리소스에 대한 관리자 역할 파이프라인 인프라 관리 및 구성
프로젝트 관리자 가시성을 높이기 위한 독자 역할 변경하지 않고 진행률 모니터링
외부 계약자 특정 범위를 가진 제한된 사용자 역할 프로젝트 요구 사항에 따라 제한된 액세스

역할 기반 권한 문제 해결

일반적인 문제 및 해결 방법

문제 가능한 원인 해결 방법
사용자가 파이프라인 리소스에 액세스할 수 없음 역할 할당 누락 적절한 역할 확인 및 할당
사용자에게 너무 많은 액세스 권한이 있습니다. 권한이 초과된 역할 할당 역할 권한 검토 및 축소
프로젝트 전체에서 일관되지 않은 권한 프로젝트당 다른 역할 할당 조직 전체에서 역할 할당 표준화
서비스 계정 문제 누락된 서비스 연결 역할 서비스 계정에 필요한 역할이 있는지 확인

확인 단계

  1. 상속 확인: 권한이 상위 수준에서 상속되는지 확인
  2. 그룹 멤버 자격 검토: 사용자의 그룹 멤버 자격 및 관련 역할 확인
  3. 감사 권한: Azure DevOps 보안 보고서를 사용하여 현재 할당 검토
  4. 테스트 액세스: 사용자가 특정 시나리오를 테스트하여 사용 권한이 올바르게 작동하는지 확인하도록 합니다.

Microsoft Entra ID와 통합

조직에서 Microsoft Entra ID 통합을 사용하는 경우:

  • 그룹 기반 할당: 보다 쉽게 관리할 수 있도록 Microsoft Entra ID 그룹에 역할 할당
  • 조건부 액세스: Microsoft Entra ID 조건부 액세스 정책이 Azure DevOps 액세스에 적용됩니다.
  • ID 거버넌스: Microsoft Entra ID 액세스 검토를 사용하여 역할 할당 검토
  • 게스트 사용자 고려 사항: 외부 사용자에게 특정 역할 할당이 필요할 수 있습니다.