구성 요소, 용어 및 주요 개념
Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019
Azure DevOps Server 효과적으로 배포하고 관리하려면 작동 방식을 이해하고 다른 배포 구성 요소와 통신해야 합니다. Azure DevOps 관리자는 Windows 인증, 네트워크 프로토콜 및 트래픽 및 Azure DevOps가 설치된 비즈니스 네트워크의 구조를 잘 알고 있어야 합니다. 또한 Azure DevOps 그룹 및 권한을 이해해야 합니다.
SQL Server, SQL Server Reporting Services 및 SharePoint 제품에 대한 이해가 유용할 수도 있습니다.
이 문서에 설명된 구성 요소 및 용어를 이해하면 Azure DevOps Server 계획, 배포 및 관리할 수 있습니다.
분석 서비스
분석 서비스는 Azure DevOps에 대한 미래의 보고 플랫폼입니다. 현재 Azure DevOps Services 사용할 수 있으며 Azure DevOps Server Azure DevOps Marketplace에서 설치할 수 있습니다. 자세한 내용은 Analytics 서비스란?을 참조하세요.
애플리케이션 계층, 데이터 계층 및 클라이언트 계층
Azure DevOps Server 구성하는 논리 계층입니다. 이러한 계층은 모두 같은 물리적 컴퓨터에 배포될 수도 있고 여러 컴퓨터에 설치될 수도 있습니다. 자세한 내용은 Azure DevOps Server 아키텍처 개요를 참조하세요.
프로젝트 컬렉션
Azure DevOps Server 모든 데이터에 대한 기본 조직 구성 단위입니다. 컬렉션은 추가된 프로젝트에 사용할 수 있는 리소스를 결정합니다. 이러한 리소스에는 SQL Server Reporting Services, 코드 Search, Marketplace 확장 등이 포함될 수 있습니다. 자세한 내용은 프로젝트 컬렉션 관리를 참조하세요.
Project
팀이 특정 소프트웨어 기술 또는 제품을 개발하는 데 필요한 팀 활동을 공유하는 데 필요한 핵심 지점입니다. 프로젝트는 프로젝트 컬렉션으로 구성됩니다. 자세한 내용은 프로젝트 정보 및 organization 크기 조정을 참조하세요.
Azure DevOps Server 관리 콘솔
Azure DevOps Server 관리자가 리소스를 구성하고 관리하기 위한 중앙 집중식 관리 도구입니다. 자세한 내용은 관리 작업 빠른 참조를 참조하세요.
서비스 계정
Azure DevOps에서 웹 서비스 및 애플리케이션이 실행하는 계정 또는 계정입니다. Azure DevOps Server 서버 및 웹 서비스에서 작업을 수행하려면 서비스 계정이 필요합니다. 이러한 서비스 계정에는 특정 요구 사항이 있습니다. 자세한 내용은 Azure DevOps Server 서비스 계정 및 종속성을 참조하세요.
SharePoint 제품
프로젝트 포털 및 대시보드에 대한 지원을 제공하는 소프트웨어입니다. 하나 이상의 SharePoint 웹 애플리케이션을 Azure DevOps Server 배포의 일부로 포함할 수 있습니다. 이러한 애플리케이션 중 하나를 포함하려면 SharePoint 제품에 대한 Azure DevOps Server 확장을 설치하고 구성해야 하며 배포 전반에 걸쳐 권한을 구성해야 합니다. 자세한 내용은 프로젝트 포털을 사용하여 정보 공유를 참조하세요. SharePoint 제품과의 통합은 TFS 2018 이상 버전에서 더 이상 사용되지 않습니다.
SQL Server 및 SQL Server Reporting Services
데이터 웨어하우징을 위한 데이터베이스 플랫폼과 데이터 통합, 분석 및 보고 솔루션을 위한 비즈니스 인텔리전스 플랫폼을 제공하는 소프트웨어입니다. Azure DevOps Server 데이터를 SQL Server 데이터베이스에 저장합니다. 필요에 따라 SQL Server Reporting Services 실행 중이고 프로젝트에 대한 보고서를 자동으로 생성하는 서버를 포함할 수도 있습니다. 자세한 내용은 보고서, 데이터 웨어하우스 및 분석 서비스 큐브 관리를 참조하세요.
보안 개념
Azure DevOps Server 보안을 최적화하려면 다음 개념을 이해해야 합니다.
- 토폴로지에는 Azure DevOps의 구성 요소를 실행하는 서버가 배포되는 위치 및 방법, Azure DevOps Server Azure DevOps 클라이언트 간에 전달되는 네트워크 트래픽 및 Azure DevOps Server 실행해야 하는 서비스가 포함됩니다.
- Azure DevOps Server 사용자, 그룹 및 서비스의 유효성을 결정하는 인증이 포함됩니다.
- 권한 부여는 Azure DevOps Server 유효한 사용자, 그룹 및 서비스에 특정 작업을 수행할 수 있는 적절한 권한이 있는지 여부를 결정하는 것을 포함합니다.
또한 Azure DevOps Server 의존하는 다른 구성 요소 및 서비스도 고려해야 합니다.
Azure DevOps Server 대한 보안을 고려할 때 인증과 권한 부여의 차이점을 이해해야 합니다. 인증에서는 클라이언트, 서버 또는 프로세스의 연결 시도에 사용되는 자격 증명을 확인합니다. 반면 권한 부여에서는 연결을 시도하는 ID에 개체 또는 메서드 액세스 권한이 있는지를 확인합니다. 인증이 정상적으로 완료되어야 권한 부여가 수행됩니다. 인증되지 않은 연결은 권한 부여 검사를 수행하기 전에 실패합니다. 연결이 정상적으로 인증되더라도 사용자나 그룹에 해당 작업을 수행할 권한이 부여되지 않아 특정 작업이 계속 허용되지 않을 수 있습니다.
토폴로지, 포트 및 서비스
Azure DevOps Server 대한 배포 및 보안의 첫 번째 요소는 배포의 구성 요소가 서로 연결하여 통신할 수 있는지 여부입니다. 목표는 Azure DevOps 클라이언트와 Azure DevOps Server 간의 연결을 사용하도록 설정하고 다른 연결 시도를 제한하거나 방지하는 것입니다.
Azure DevOps Server 작동할 수 있도록 특정 포트 및 서비스에 따라 달라집니다. 비즈니스 보안 요구 사항을 충족하기 위해 이러한 포트를 보호하고 모니터링할 수 있습니다. Azure DevOps Server 네트워크 트래픽이 Azure DevOps 클라이언트, 애플리케이션 계층 및 데이터 계층의 논리 구성 요소를 호스트하는 서버, Team Foundation Build용 컴퓨터 및 Azure DevOps 프록시 서버를 사용하는 원격 클라이언트 간에 전달되도록 허용해야 합니다. 기본적으로 Azure DevOps Server 웹 서비스에 HTTP를 사용하도록 구성됩니다. Azure DevOps Server 사용하는 포트 및 서비스의 전체 목록과 아키텍처 내에서 사용되는 방법은 Azure DevOps Server 아키텍처를 참조하세요.
Active Directory 도메인 또는 작업 그룹에 Azure DevOps Server 배포할 수 있습니다. Active Directory는 작업 그룹보다 더 많은 보안 기능을 기본 제공합니다. Active Directory 기능을 사용하여 Azure DevOps Server 배포를 보호할 수 있습니다. 예를 들어 악의적인 사용자가 Azure DevOps Server 실행 중인 불량 서버로 컴퓨터 이름을 스푸핑할 수 없도록 중복된 컴퓨터 이름을 방지하도록 Active Directory를 구성할 수 있습니다. 작업 그룹에서 이와 같은 종류의 위협을 완화하려면 컴퓨터 인증서를 구성해야 합니다.
작업 그룹 또는 도메인에 Azure DevOps Server 배포하든 관계없이 Azure DevOps Server 자체의 요구 사항에 의해 부과되는 특정 제약 조건을 준수해야 합니다. Azure DevOps Server 토폴로지에 대한 자세한 내용은 간단한 Azure DevOps Server 토폴로지, 중간 Azure DevOps Server 토폴로지, 복잡한 Azure DevOps Server 토폴로지, 이해를 참조하세요. Windows SharePoint Services 및 이해 SQL Server 및 SQL Server Reporting Services.
인증
Azure DevOps Server 보안은 Windows 통합 인증 및 Windows 운영 체제의 보안 기능과 통합되어 있습니다. Windows 통합 인증을 사용하여 Azure DevOps 클라이언트와 Azure DevOps Server 간의 연결, 논리 애플리케이션 및 데이터 계층을 호스트하는 서버의 웹 서비스, 애플리케이션 계층과 데이터 계층 서버 자체 간의 연결에 대한 계정을 인증할 수 있습니다.
참고
Azure DevOps Server 설치한 후 클라이언트와 서버의 상호 인증을 위해 Kerberos를 지원하도록 Azure DevOps Server 구성할 수 있습니다.
Windows 인증 만큼 안전하지 않으므로 Azure DevOps Server SharePoint 제품 간에 SQL Server 인증을 사용하도록 SQL Server 데이터베이스 연결 구성해서는 안 됩니다. 데이터베이스에 연결할 때는 데이터베이스 관리자 계정의 사용자 이름과 암호가 암호화되지 않은 형식으로 전송됩니다. Windows 통합 인증에서는 사용자 이름과 암호를 전송하지 않습니다. 대신 Windows 통합 인증 보안 프로토콜을 사용하여 호스트 IIS(인터넷 정보 서비스) 애플리케이션 풀과 연결된 서비스 계정 ID 정보를 전송하여 SQL Server.
권한 부여
Azure DevOps Server 권한 부여는 Azure DevOps의 사용자 및 그룹, 해당 사용자와 그룹 모두에 직접 할당된 권한 및 해당 사용자 및 그룹이 Azure DevOps Server 다른 그룹에 속하여 상속할 수 있는 권한을 기반으로 합니다. Azure DevOps의 사용자 및 그룹은 로컬 사용자 또는 그룹, Active Directory 사용자 또는 그룹 또는 둘 다일 수 있습니다.
Azure DevOps Server 서버, 컬렉션 및 프로젝트 수준에서 기본 그룹으로 미리 구성됩니다. 개별 사용자를 추가하여 이러한 그룹을 채울 수 있습니다. 그러나 Active Directory 보안 그룹을 사용하여 이러한 그룹을 채우면 관리가 더욱 쉬워집니다. 이 방법을 사용하면 SharePoint 제품 및 SQL Server 같은 여러 컴퓨터 또는 애플리케이션에서 그룹 멤버 자격 및 권한을 보다 효율적으로 관리할 수 있습니다.
특정 배포에서는 여러 컴퓨터와 응용 프로그램 내에서 사용자, 그룹 및 권한을 구성해야 할 수 있습니다. 예를 들어 배포의 일부로 보고서 및 프로젝트 포털을 포함하려는 경우 Reporting Services, SharePoint 제품 및 Azure DevOps Server 사용자 및 그룹에 대한 권한을 구성해야 합니다. Azure DevOps Server 각 프로젝트, 각 컬렉션 및 배포(서버 수준)에 대한 권한을 설정할 수 있습니다. 또한 해당 사용자 또는 그룹이 Azure DevOps 유효한 사용자에 자동으로 추가되므로 Azure DevOps Server 추가하는 모든 사용자 또는 그룹에는 기본적으로 특정 권한이 부여됩니다. 자세한 내용은 사용자 또는 그룹 관리를 참조하세요.
추가 기능에서 Azure DevOps Server 권한 부여에 대한 권한을 구성하려면 버전 제어 및 작업 항목 내에서 권한 부여가 필요할 수 있습니다. 명령 프롬프트에서 이러한 권한을 개별적으로 관리하지만 팀 Explorer 대한 인터페이스의 일부로 통합됩니다.