보안, 인증 및 권한 부여 정보

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

Azure DevOps는 기능, 함수 및 데이터에 액세스할 수 있어야 하는 사용자만 액세스할 수 있도록 많은 보안 개념을 사용합니다. 계정은 보안 자격 증명의 인증 및 기능 또는 기능에 액세스하기 위한 계정 권한 부여를 통해 Azure DevOps에 액세스할 수 있습니다.

이 문서는 권한, 액세스 및 보안 그룹 시작에 제공된 정보를 기반으로 합니다. 관리주체는 Azure DevOps를 보호하는 데 사용되는 계정 유형, 인증 방법, 권한 부여 방법 및 정책을 이해하는 데 도움이 됩니다.


계정 유형

  • 사용자
  • 조직 소유자
  • 서비스 계정
  • 서비스 주체 또는 관리 ID
  • 작업 에이전트

인증

  • 사용자 자격 증명
  • Windows 인증
  • 2FA(2단계 인증)
  • SSH 키 인증
  • 개인용 액세스 토큰
  • Oauth 구성
  • Active Directory 인증 라이브러리

Authorization

  • 보안 그룹 멤버 자격
  • 역할 기반 액세스 제어
  • 액세스 수준
  • 기능 플래그
  • 보안 네임스페이스 및 권한

정책

  • 개인정보처리방침 URL
  • 애플리케이션 연결 및 보안 정책
  • 사용자 정책
  • Git 리포지토리 및 분기 정책


계정 유형

  • 사용자
  • 서비스 계정
  • 서비스 주체 또는 관리 ID
  • 작업 에이전트

인증

  • 사용자 자격 증명
  • Windows 인증
  • 2FA(2단계 인증)
  • SSH 키 인증
  • 개인용 액세스 토큰
  • Oauth 구성
  • Active Directory 인증 라이브러리

Authorization

  • 보안 그룹 멤버 자격
  • 역할 기반 권한
  • 액세스 수준
  • 기능 플래그
  • 보안 네임스페이스 및 권한

정책

  • Git 리포지토리 및 분기 정책

Important

Azure DevOps는 2020년 3월 2일부터 더 이상 대체 자격 증명 인증을 지원하지 않습니다. 대체 자격 증명을 계속 사용하는 경우 보다 안전한 인증 방법(예: 개인 액세스 토큰)으로 전환하는 것이 좋습니다. 자세히 알아보기.

클라우드 서비스, Azure DevOps Services 및 온-프레미스 서버인 Azure DevOps Server는 계획부터 배포까지 소프트웨어 개발 프로젝트를 지원합니다. Azure DevOps는 Microsoft Azure의 Platform as a Service 인프라와 Azure SQL 데이터베이스를 포함한 많은 Azure 서비스를 사용하여 개발 프로젝트에 안정적이고 전역적으로 사용 가능한 서비스를 제공합니다.

Microsoft가 Azure DevOps Services에서 프로젝트를 안전하고, 사용 가능하고, 안전하고, 비공개로 유지하기 위해 수행하는 단계에 대한 자세한 내용은 이 백서인 Azure DevOps Services 데이터 보호 개요를 참조하세요.

Accounts

관심 있는 계정의 기본 유형은 조직 또는 프로젝트에 추가하는 사용자 계정이지만 Azure DevOps는 다양한 작업을 수행하기 위해 다른 유형의 계정을 지원합니다. 여기에는 다음 계정 유형이 포함됩니다.

  • 조직 소유자: Azure DevOps Services 조직의 작성자 또는 할당된 소유자입니다. 조직의 조직 소유자 누구인지 알아보려면 조직 소유자 조회를 참조하세요.
  • 서비스 계정: 에이전트 풀 서비스, PipelinesSDK와 같은 특정 서비스를 지원하는 데 사용되는 내부 Azure DevOps 계정입니다. 서비스 계정에 대한 설명은 보안 그룹, 서비스 계정 및 권한을 참조 하세요.
  • 서비스 주체 또는 관리 ID: 타사 애플리케이션을 대신하여 작업을 수행하기 위해 조직에 추가된 Microsoft Entra 애플리케이션 또는 관리 ID 입니다. 일부 서비스 주체는 내부 작업을 지원하기 위해 내부 Azure DevOps 계정을 참조합니다.
  • 작업 에이전트: 일정에 따라 특정 작업을 실행하는 데 사용되는 내부 계정입니다.
  • 타사 계정: 웹 후크, 서비스 연결 또는 기타 타사 애플리케이션을 지원하기 위해 액세스 권한이 필요한 계정입니다.

이러한 문서 전체에서 사용자는 사용자 허브에 추가된 모든 ID를 참조할 수 있으며, 여기에는 사용자 사용자 및 서비스 주체가 포함될 수 있습니다.

  • 서비스 계정: 에이전트 풀 서비스, PipelinesSDK와 같은 특정 서비스를 지원하는 데 사용되는 내부 Azure DevOps 계정입니다. 서비스 계정에 대한 설명은 보안 그룹, 서비스 계정 및 권한을 참조 하세요.
  • 서비스 주체 또는 관리 ID: 타사 애플리케이션을 대신하여 작업을 수행하기 위해 조직에 추가된 Microsoft Entra 애플리케이션 또는 관리 ID입니다. 일부 서비스 주체는 내부 작업을 지원하기 위해 내부 Azure DevOps 계정을 참조합니다.
  • 작업 에이전트: 일정에 따라 특정 작업을 실행하는 데 사용되는 내부 계정입니다.
  • 타사 계정: 웹 후크, 서비스 연결 또는 기타 타사 애플리케이션을 지원하기 위해 액세스 권한이 필요한 계정입니다.

계정을 관리하는 가장 효과적인 방법은 보안 그룹에 계정을 추가하는 것입니다.

참고 항목

Project Collection 관리istrators 그룹의 조직 소유자 구성원에게 대부분의 모든 기능과 기능에 대한 모든 액세스 권한이 부여됩니다.

인증

인증은 Azure DevOps에 로그인할 때 제공된 자격 증명을 기반으로 계정 ID를 확인합니다. 이러한 시스템은 다음과 같은 다른 시스템에서 제공하는 보안 기능과 통합되고 의존합니다.

  • Microsoft Entra ID
  • MSA(Microsoft 계정)
  • AD(Active Directory)

Microsoft Entra ID 및 MSA는 클라우드 인증을 지원합니다. 대규모 사용자 그룹을 관리해야 하는 경우 Microsoft Entra ID를 사용하는 것이 좋습니다. 그렇지 않은 경우 Azure DevOps에서 조직에 액세스하는 작은 사용자 기반이 있는 경우 Microsoft 계정을 사용할 수 있습니다. 자세한 내용은 Microsoft Entra ID를 사용하여 Azure DevOps에 액세스하는 방법을 참조하세요.

온-프레미스 배포의 경우 대규모 사용자 그룹을 관리할 때 AD를 사용하는 것이 좋습니다. 자세한 내용은 온-프레미스 배포에서 사용할 그룹 설정을 참조하세요.

인증 방법, 다른 서비스 및 앱과 통합

다른 애플리케이션 및 서비스는 Azure DevOps의 서비스 및 리소스와 통합할 수 있습니다. 사용자 자격 증명을 여러 번 묻지 않고 계정에 액세스하기 위해 앱은 다음 인증 방법을 사용할 수 있습니다.

기본적으로 계정 또는 컬렉션은 모든 인증 방법에 대한 액세스를 허용합니다. 액세스를 제한할 수 있지만 각 방법에 대한 액세스를 구체적으로 제한해야 합니다. 인증 방법에 대한 액세스를 거부하면 어떤 앱도 해당 방법을 사용하여 계정에 액세스할 수 없습니다. 이전에 액세스 권한이 있었던 모든 앱은 인증 오류가 발생하고 계정에 액세스할 수 없습니다.

자격 증명을 저장하는 방법에 대한 자세한 내용은 Azure DevOps에 대한 자격 증명 스토리지를 참조하세요.

올바른 인증 메커니즘을 선택하는 방법에 대한 자세한 내용은 인증 지침을 참조하세요.

권한 부여

권한 부여는 연결을 시도하는 ID에 서비스, 기능, 함수, 개체 또는 메서드에 액세스하는 데 필요한 권한이 있는지 확인합니다. 항상 인증이 정상적으로 완료된 후 권한 부여가 수행됩니다. 인증되지 않은 연결은 권한 부여 검사를 수행하기 전에 실패합니다. 연결 인증에 성공하면 사용자 또는 그룹에 해당 작업을 수행할 수 있는 권한이 없기 때문에 특정 작업이 여전히 허용되지 않을 수 있습니다.

권한 부여는 계정에 할당된 권한에 따라 달라집니다. 권한은 계정에 직접 부여되거나 보안 그룹 또는 보안 역할의 멤버 자격을 통해 부여됩니다. 액세스 수준 및 기능 플래그는 기능에 대한 액세스 권한을 부여하거나 제한할 수도 있습니다. 이러한 권한 부여 방법에 대한 자세한 내용은 권한, 액세스 및 보안 그룹 시작을 참조하세요.

보안 네임스페이스 및 권한

보안 네임스페이스는 Azure DevOps 계정이 특정 리소스에 대해 특정 작업을 수행해야 하는 액세스 수준을 결정하는 데이터를 저장합니다. 작업 항목 또는 Git 리포지토리와 같은 각 리소스 제품군은 고유한 네임스페이스를 통해 보호됩니다. 각 보안 네임스페이스에는 0개 이상의 ACL(액세스 제어 목록)이 포함됩니다. 각 ACL에는 토큰, 상속 플래그 및 0개 이상의 ACE(액세스 제어 항목) 집합이 포함됩니다. 각 ACE에는 ID 설명자, 허용되는 권한 비트 마스크 및 거부된 권한 비트 마스크가 포함됩니다.

자세한 내용은 보안 네임스페이스 및 권한 참조를 참조하세요.

보안 정책

조직 및 코드를 보호하기 위해 많은 정책을 설정할 수 있습니다. 특히 다음 정책을 사용하거나 사용하지 않도록 설정할 수 있습니다.

일반

  • 개인 정보 취급 방침 URL: 내부 및 외부 게스트 데이터 개인 정보를 처리하는 방법을 설명하는 사용자 지정 문서에 연결되는 URL을 지정합니다. 자세한 내용은 조직에 대한 개인 정보 정책 URL 추가를 참조하세요.

애플리케이션 연결 및 보안 정책

Microsoft Entra 테넌트 정책을 사용하여 새 조직을 원하는 사용자로만 만들도록 제한합니다. 이 정책은 기본적으로 꺼져 있으며 조직이 Microsoft Entra ID에 연결된 경우에만 유효합니다. 자세한 내용은 조직 만들기 제한 확인

다음 정책은 조직에 사용자 및 애플리케이션을 제공하려는 액세스를 결정합니다.

  • OAuth를 통한 타사 애플리케이션 액세스
  • SSH 인증 액세스.
  • 공용 프로젝트 허용: 사용하도록 설정하면 사용자는 프로젝트의 비회원과 프로젝트의 아티팩트 및 서비스에 대한 읽기 전용 제한된 액세스 권한으로 로그인되지 않은 사용자를 허용하는 퍼블릭 프로젝트를 만들 수 있습니다. 프로젝트를 공개하는 방법에 대해 자세히 알아보세요.
  • 감사 이벤트 로그 - 조직의 감사 이벤트 및 스트림을 추적하는 기능을 켭니다 .
  • Microsoft Entra CAP(조건부 액세스 정책) 유효성 검사를 사용하도록 설정합니다.

사용자 정책

  • 외부 게스트 액세스(조직이 Microsoft Entra ID에 연결된 경우에만 유효): 사용하도록 설정하면 사용자 페이지를 통해 테넌트 Microsoft Entra ID의 구성원이 아닌 사용자의 전자 메일 계정으로 초대를 보낼 수 있습니다. 자세한 내용은 조직에 외부 사용자 추가를 참조하세요.
  • 팀 및 프로젝트 관리자가 새 사용자를 초대하도록 허용: 조직이 Microsoft Entra ID에 연결된 경우에만 유효합니다. 사용하도록 설정하면 팀 및 프로젝트 관리자가 사용자 페이지를 통해 사용자를 추가할 수 있습니다. 자세한 내용은 Project 및 Team 관리istrators에서 새 사용자 초대 제한을 참조하세요.
  • 액세스 요청: 조직이 Microsoft Entra ID에 연결된 경우에만 유효합니다. 사용하도록 설정하면 사용자가 리소스에 대한 액세스를 요청할 수 있습니다. 요청은 필요에 따라 검토 및 액세스를 요청하는 관리자에게 이메일 알림을 보냅니다. 자세한 내용은 조직에 외부 사용자 추가를 참조하세요.
  • GitHub 사용자 초대: 조직이 Microsoft Entra ID에 연결되어 있지 않은 경우에만 유효합니다. 사용하도록 설정하면 관리자는 사용자 페이지에서 GitHub 사용자 계정을 기반으로 사용자를 추가할 수 있습니다. 자세한 내용은 GitHub 사용자 인증 및 초대 FAQ를 참조 하세요.

프로젝트 범위 사용자 그룹

기본적으로 조직에 추가된 사용자는 모든 조직 및 프로젝트 정보 및 설정을 볼 수 있습니다. 여기에는 조직 설정 통해 액세스되는 사용자 목록, 프로젝트 목록, 청구 세부 정보, 사용량 현황 데이터 등이 포함됩니다.

Important

  • 이 섹션에서 설명하는 제한된 표시 유형 기능은 웹 포털을 통한 상호 작용에만 적용됩니다. REST API 또는 azure devops CLI 명령을 사용하면 프로젝트 멤버가 제한된 데이터에 액세스할 수 있습니다.
  • Microsoft Entra ID에서 기본 액세스 권한이 있는 제한된 그룹의 구성원인 게스트 사용자는 사용자 선택기가 있는 사용자를 검색할 수 없습니다. 조직에 대해 미리 보기 기능이 꺼져 있거나 게스트 사용자가 제한된 그룹의 구성원이 아닌 경우 게스트 사용자는 예상대로 모든 Microsoft Entra 사용자를 검색할 수 있습니다.

관련자, Microsoft Entra 게스트 사용자 또는 특정 보안 그룹의 구성원과 같은 선택 사용자를 제한하려면 조직의 특정 프로젝트 미리 보기 기능으로 사용자 표시 유형 및 협업을 제한할 수 있습니다. 사용하도록 설정되면 프로젝트 범위 사용자 그룹에 추가된 모든 사용자 또는 그룹은 다음과 같은 방법으로 제한됩니다.

  • 조직 설정 개요 및 프로젝트 페이지에만 액세스할 수 있습니다.
  • 명시적으로 추가된 프로젝트에만 연결하고 볼 수 있습니다(프로젝트 또는 팀에 사용자 추가 참조).
  • 연결된 프로젝트에 명시적으로 추가된 사용자 및 그룹 ID만 선택할 수 있습니다.

자세한 내용은 조직 관리, 프로젝트에 대한 사용자 가시성 제한 및미리 보기 기능 관리를 참조하세요.

Warning

조직에서 특정 프로젝트 미리 보기 기능에 대한 사용자 표시 유형 및 공동 작업 제한 기능을 사용하도록 설정하면 프로젝트 범위 사용자는 명시적 사용자 초대가 아닌 Microsoft Entra 그룹 멤버 자격을 통해 조직에 추가된 사용자를 검색할 수 없습니다. 이것은 예기치 않은 동작이며 해결이 수행되고 있습니다. 이 문제를 자체적으로 해결하려면 조직의 특정 프로젝트 미리 보기 기능으로 사용자 표시 유형 제한 및 협업을 사용하지 않도록 설정합니다.

Git 리포지토리 및 분기 정책

코드를 보호하기 위해 많은 Git 리포지토리 및 분기 정책을 설정할 수 있습니다. 자세한 내용은 다음 문서를 참조하세요.

Azure Repos 및 Azure Pipelines 보안

리포지토리 및 빌드 및 릴리스 파이프라인은 고유한 보안 문제를 제기하므로 이 문서에서 설명하는 기능 이외의 다른 기능이 사용됩니다. 자세한 내용은 다음 문서를 참조하세요.

다음 단계