데이터 보호 개요

Azure DevOps Services

Azure DevOps Services 계획부터 배포까지 개발 프로젝트에 대한 클라우드 호스팅 애플리케이션입니다. 추가 클라우드 서비스를 통해 온-프레미스 기능을 기반으로 소스 코드, 작업 항목, 빌드 및 테스트를 관리합니다. Azure DevOps PaaS(Platform as a Service) 인프라와 Azure SQL 포함한 많은 Azure 서비스를 사용하여 개발 프로젝트에 안정적이고 전역적으로 사용 가능한 서비스를 제공합니다.

이 문서에서는 프로젝트를 안전하고, 사용 가능하고, 안전하게, 비공개로 유지하기 위해 Microsoft가 수행하는 단계를 설명합니다. 또한 프로젝트를 안전하고 안전하게 유지하는 역할을 설명합니다.

이 문서는 매일 프로젝트 자산을 관리하는 조직 관리자 및 IT 전문가를 위한 것입니다. 이미 Azure DevOps 익숙하고 Microsoft가 Azure DevOps 저장된 자산을 보호하는 방법에 대해 자세히 알고 싶은 개인에게 가장 유용합니다.

우리의 약속

Microsoft는 예외 없이 프로젝트가 안전하고 안전하게 유지되도록 하는 데 도움이 됩니다. Azure DevOps 저장하면 프로젝트는 여러 계층의 보안 및 거버넌스 기술, 운영 사례 및 규정 준수 정책의 이점을 누릴 수 있습니다. 미사용 및 전송 중 데이터 개인 정보 보호 및 무결성을 적용합니다.

직면하는 위협은 데이터 가용성, 서비스 가용성, 서비스 보안 및 데이터 개인 정보 보호의 네 가지 기본 범주로 분류됩니다. 이 문서에서는 각 범주 내의 특정 위협을 살펴보고 이를 해결하기 위해 Azure DevOps 수행하는 작업을 설명합니다. 먼저 데이터가 저장되는 방법과 Azure DevOps 데이터에 대한 액세스를 관리하는 방법을 설명합니다.

데이터 보호를 위해서는 무단 공개 및 변조로부터 자산을 보호하기 위해 어떤 단계를 수행해야 하는지 알고 있어야 하는 관리자 및 사용자의 적극적인 참여가 필요합니다. 사용자 액세스 지점에 권한을 부여할 때 명시적이어야 하므로 Azure DevOps 내의 데이터에 액세스하는 사용자만 가능합니다.

어떤 접근 방식을 사용하든 모든 데이터가 어디에 있든 어떻게 사용되든 모든 데이터를 잠재적으로 "위험"으로 간주해야 합니다. 이는 클라우드의 데이터와 프라이빗 데이터 센터에 저장된 데이터 모두에 해당합니다. 데이터, 민감도 및 위험, 데이터가 손상될 경우 발생할 수 있는 손상을 분류하는 것이 중요합니다. 또한 전체 정보 보안 관리 정책을 기준으로 데이터를 분류합니다.

Azure 기반 빌드

Diagram of Azure DevOps high-level architecture.

Azure DevOps 전적으로 Azure 데이터 센터에서 호스팅합니다. Azure DevOps 컴퓨팅, 스토리지, 네트워킹, Azure SQL, ID 및 액세스 관리 및 Azure Service Bus 포함한 많은 핵심 Azure 서비스를 사용합니다.

Azure DevOps는 Azure Storage를 서비스 메타데이터 및 고객 데이터의 기본 리포지토리로 사용합니다. 데이터 형식, 스토리지 및 검색 요구 사항에 따라 Azure DevOps는 Azure Blob Storage(이진 LOB(Large Object)용) 및 Azure SQL 데이터 스토리지를 사용합니다. 데이터 보호에 대한 Azure DevOps Services 방법을 이해하려면 이러한 요소에 대한 몇 가지 백그라운드 지식이 중요합니다.

  • Azure Blob Storage 구조화되지 않은 데이터의 큰 청크를 저장합니다. 모든 프로젝트는 Azure Blob Storage 서비스를 사용합니다. 데이터에는 작업 항목에 대한 첨부 파일 및 원본 파일의 내용과 같이 잠재적으로 중요한 프라이빗 정보가 포함됩니다. 대부분의 프로젝트에서 사용 중인 대부분의 스토리지는 이러한 형식의 구조화되지 않은 Blob Storage입니다. 자세한 내용은 Azure Blob Storage 참조하세요.

  • Azure SQL Database 스토리지는 프로젝트 메타데이터, 버전이 지정된 소스 제어 기록 및 작업 항목 세부 정보를 포함하여 조직의 구조적 및 트랜잭션 측면을 저장합니다. 데이터베이스 스토리지를 사용하면 프로젝트의 중요한 요소에 빠르게 액세스할 수 있으며 파일 및 첨부 파일을 조회하기 위해 Blob Storage에 대한 인덱스를 제공합니다. 자세한 내용은 Azure SQL Database 참조하세요.

관리자는 사용자 ID 또는 그룹에 대한 권한을 부여하거나 제한하여 리소스에 대한 액세스를 관리할 수 있습니다. Azure DevOps Azure Active Directory(Azure AD) 및 Microsoft 계정을 통해 사용자 ID의 페더레이션 인증을 사용합니다.

인증하는 동안 사용자는 인증 공급자로 라우팅되어 자격 증명을 제공합니다. 인증 공급자가 사용자의 자격 증명을 확인한 후 Azure DevOps 사용자에게 인증 쿠키를 발급하여 사용자가 Azure DevOps 대해 인증 상태를 유지할 수 있도록 합니다.

이러한 방식으로 사용자의 자격 증명 정보는 Azure DevOps 직접 공유되지 않습니다. 사용자가 액세스를 시도하는 각 Azure DevOps 리소스에 대해 사용자의 명시적 권한과 그룹 멤버 자격을 통해 상속된 사용 권한에 따라 사용 권한의 유효성이 검사됩니다. 관리자는 액세스 제어를 사용하여 조직, 프로젝트 컬렉션, 팀 프로젝트 및 팀 범위 데이터 및 기능에 대한 액세스를 보호할 수 있습니다. 관리자는 버전 제어 폴더 및 작업 항목 영역 경로와 같은 보다 구체적인 자산을 보호할 수도 있습니다.

데이터 가용성

Azure DevOps 하드웨어 오류, 서비스 중단 또는 지역 재해가 발생할 경우 데이터 가용성을 보장하기 위해 많은 Azure Storage 기능을 사용합니다. 또한 Azure DevOps 팀은 실수로 또는 악의적인 삭제로부터 데이터를 보호하는 절차를 따릅니다.

데이터 중복

하드웨어 또는 서비스 실패 시 데이터를 보호하기 위해 Azure Storage 동일한 지역에 있는 두 지역 간에 고객 데이터를 지역 복제합니다. 예를 들어 Azure는 북유럽과 서유럽 간 또는 남북 미국 간에 데이터를 지역 복제할 수 있습니다.

Azure Blob Storage 경우 고객 데이터는 단일 지역 내에서 세 번 복제되고 동일한 지역의 두 번째 지역에 비동기적으로 복제됩니다. 따라서 Azure는 항상 6개의 데이터 복사본에 해당하는 값을 유지 관리합니다. 이렇게 하면 주요 중단 또는 재해가 발생한 경우 별도의 지역으로 장애 조치(failover)하는 동시에 지역 내의 하드웨어 오류에 대한 로컬 중복성을 가질 수 있습니다. Azure SQL Database 스토리지의 경우 지역 재해가 발생한 경우 매일 백업이 오프사이트에서 유지 관리됩니다.

참고

데이터 중복성 및 장애 조치(failover)와 관련하여 다음을 수행합니다.

  • Microsoft가 주 지역과 보조 지역 간에 데이터를 복제할 때 몇 분 단위로 측정되는 내재된 델타가 있습니다.
  • 보조 지역으로의 장애 조치(failover)는 영향을 받는 배율 단위의 모든 고객에게 영향을 미치기 때문에 Microsoft가 중앙에서 결정해야 하는 결정입니다. 극단적인 경우를 제외하고 Microsoft는 고객 데이터가 손실되지 않도록 장애 조치(failover)하지 않기로 결정합니다.
  • Azure DevOps 99.9%의 작동 시간 SLA 보증을 제공하며, 해당 SLA가 특정 달에 누락된 경우 월별 요금의 일부를 환불합니다.
  • 브라질에는 지역이 하나뿐이므로 재해 복구를 위해 브라질의 고객 데이터가 미국 중남부 지역에 복제됩니다.

실수 발생

실수로 인한 데이터 삭제로부터 보호하기 위해 Microsoft는 Azure Blob Storage Blob과 Azure SQL Database 데이터베이스 모두의 특정 시점 백업을 사용합니다. 모든 Blob의 별도 복사본이 있으며 각 스토리지 계정에 변경 내용이 추가됩니다. 이 데이터는 변경할 수 없으므로 백업 절차의 일부로 기존 스토리지를 다시 작성할 필요가 없습니다.

백업은 Azure SQL Database 표준 부분이며 Azure DevOps 이를 사용합니다. 28일 분량의 데이터를 유지 관리합니다. 두 경우 모두 이러한 백업은 쌍을 이루는 지역에서도 복제되므로 지역 가동 중단에서 복구할 수 있습니다.

Microsoft는 삭제 후 최대 28일 동안 전체 조직을 복구할 수 있습니다. 조직 삭제 작업에 대해 "일시 삭제"를 수행하기 때문입니다.

연습이 중요합니다.

데이터의 중복 백업이 여러 개 있는 것은 좋지만 실제로는 복원을 예측할 수 없습니다. "백업은 실패하지 않으며 복원은 실패합니다."라고 합니다. 기술적으로는 틀렸지만 감정은 맞습니다.

Microsoft는 정기적으로 백업에서 다양한 데이터 세트를 복원하는 방법을 연습합니다. Azure의 지역 중복 스토리지는 정기적으로 테스트됩니다. 또한 때때로 고객이 실수로 Azure DevOps 프로젝트를 삭제한 경우와 같이 사용자 오류로부터 복구하기 위해 백업에서 복원합니다. 재해 및 데이터 손상 시나리오에는 여러 가지 조합이 있으며, 정기적으로 새 테스트를 계획하고 실행합니다.

서비스 가용성

Azure DevOps 조직 및 관련 자산에 액세스할 수 있도록 DDoS(분산 서비스 거부) 보호 및 라이브 사이트 응답을 제공합니다.

DDoS 보호

경우에 따라 악의적인 DDoS 공격이 서비스 가용성에 영향을 줄 수 있습니다. Azure에는 서비스에 대한 공격을 방지하는 데 도움이 되는 DDoS 방어 시스템이 있습니다. SYN 쿠키, 속도 제한 및 연결 제한과 같은 표준 검색 및 완화 기술을 사용합니다. 이 시스템은 외부뿐만 아니라 Azure 내에서의 공격을 견딜 수 있도록 설계되었습니다.

Azure 방어 시스템에 침투할 수 있는 애플리케이션별 공격의 경우 Azure DevOps 애플리케이션 및 조직 수준 할당량 및 제한을 설정합니다. 이렇게 하면 리소스의 공격 또는 실수로 오용되는 동안 주요 서비스 리소스를 과도하게 사용하는 것을 방지할 수 있습니다.

라이브 사이트 응답

드문 경우지만 서비스 가용성 문제에 대한 라이브 사이트 응답이 필요할 수 있습니다. 문제를 신속하게 식별하고 필요한 개발 팀 리소스를 참여시키기 위해 24x7을 사용할 수 있는 운영 팀이 있습니다. 그런 다음 이러한 리소스가 문제를 해결합니다. 또한 서비스에 영향을 주는 문제를 검색한 후 몇 분 내에 서비스 상태 페이지를 업데이트하는 것을 목표로 합니다. 팀이 문제를 해결한 후 문제의 근본 원인을 파악하고 향후 유사한 문제를 방지하기 위해 필요한 변경 내용을 추적합니다.

Azure DevOps 라이브 사이트 관리 프로세스는 사용자의 경험과 서비스 상태에 중점을 줍니다. 이러한 프로세스는 문제를 감지, 대응 및 완화하는 시간을 최소화합니다. 모든 엔지니어링 분야가 관련되고 책임이 있으므로 직접적인 경험에서 진화하는 지속적인 개선이 있습니다. 즉, 모니터링, 진단, 복원력 및 품질 보증 프로세스가 시간이 지남에 따라 개선됩니다.

Azure DevOps 라이브 사이트 관리에는 원격 분석, 인시던트 관리 및 라이브 사이트 검토의 세 가지 고유한 트랙이 있습니다. 이러한 트랙이 수반하는 것은 다음과 같습니다.

Image of the Azure DevOps Services live site management process.

운영 팀은 또한 개별 조직에 대한 가용성 메트릭을 모니터링합니다. 이러한 메트릭은 일부 고객에게만 영향을 줄 수 있는 특정 조건에 대한 인사이트를 제공합니다. 이 데이터를 조사하면 고객별 문제를 해결하기 위한 대상 개선이 발생할 수 있습니다. 경우에 따라 Microsoft에서 직접 연락하여 환경을 이해하고 사용자와 협력하여 서비스를 개선할 수도 있습니다.

Microsoft는 SLA(서비스 수준 계약)를 게시하고 매달 이 계약을 충족할 수 있도록 재무 보증을 제공합니다. 자세한 내용은 Azure DevOps SLA를 참조하세요.

파트너 팀 또는 종속성에 Azure DevOps 영향을 주는 인시던트가 있는 경우가 있습니다. 모든 파트너 팀은 이러한 서비스 중단에서 식별, 해결 및 학습하는 유사한 접근 방식을 따릅니다.

서비스 보안

서비스 보안에는 적절한 디자인 및 코딩 기술부터 운영 요소에 이르기까지 지속적인 경계가 필요합니다. Microsoft는 보안 허점 방지 및 위반 탐지에 적극적으로 투자하고 있습니다. 위반이 있는 경우 Microsoft는 보안 대응 계획을 사용하여 데이터 유출, 손실 또는 손상을 최소화합니다. 자세한 내용은 보안, 인증 및 권한 부여 정보를 참조하세요.

설계상 보안

Azure DevOps 안전하도록 설계되었습니다. Azure DevOps 개발 프로세스의 핵심에서 Microsoft 보안 개발 수명 주기를 사용합니다. Microsoft Operational Security Assurance 프로그램은 클라우드 운영 절차를 안내합니다. 다음 방법론에서는 다음 요구 사항을 지정합니다.

  • 서비스 디자인 중 위협 모델링
  • 디자인 및 코드 모범 사례에 따라 수행합니다.
  • 표준 도구 및 테스트를 사용하여 보안 확인
  • 운영 및 고객 데이터에 대한 액세스를 제한합니다.
  • 엄격한 승인 프로세스를 통해 새로운 기능의 출시를 안내합니다.

Azure DevOps 팀은 모든 엔지니어 및 운영 담당자를 위한 연간 교육 요구 사항을 가지고 있으며 Microsoft 엔지니어가 주최하는 비공식 "브라운 백" 회의를 후원합니다. 그들은 갈색 가방 회의에서 제기 된 문제를 해결 한 후, 그들은 팀의 나머지 부분과 배운 것을 공유합니다.

클라우드 서비스는 호스트 플랫폼만큼만 안전합니다. Azure DevOps 대부분의 인프라에 PaaS를 사용합니다. PaaS는 알려진 보안 취약성에 대한 정기적인 업데이트를 자동으로 제공합니다. Azure에서 호스트되는 VM은 호스트된 빌드 서비스와 같은 IaaS(Infrastructure as a Service)를 사용합니다. 이러한 이미지는 Windows 업데이트 사용할 수 있는 최신 보안 패치를 포함하도록 정기적인 업데이트를 받습니다. 배포, 모니터링 및 보고에 사용되는 컴퓨터를 포함하여 온-프레미스 머신에도 동일한 업데이트 엄격이 적용됩니다.

Azure DevOps 팀은 Azure DevOps 정기적으로 보안에 초점을 맞춘 침투 테스트를 수행합니다. 악의적인 공격자와 동일한 기술 및 메커니즘을 사용하여 침투 테스트는 라이브 프로덕션 서비스 및 Azure DevOps 인프라를 악용하려고 시도합니다. 목표는 제어된 프로세스에서 실제 취약성, 구성, 오류 또는 기타 보안 격차를 식별하는 것입니다. 팀은 결과를 검토하여 다른 개선 영역을 식별하고 예방 시스템 및 교육의 품질을 높입니다. Service Trust Portal에서 최근 Azure DevOps 침투 테스트의 결과를 검토할 수 있습니다.

자격 증명 보안

Azure DevOps 자격 증명은 업계 모범 사례를 사용하여 저장됩니다. 자격 증명 스토리지에 대해 자세히 알아봅니다.

보안 문제 보고

침투 테스트 중에 Azure DevOps 서비스와 관련된 잠재적인 보안 결함을 발견했다고 생각되는 경우 24시간 이내에 Microsoft에 보고합니다. 자세한 내용은 컴퓨터 보안 취약성 보고를 참조하세요.

중요

침투 테스트 활동을 Microsoft에 알리는 것은 더 이상 필요하지 않지만 Microsoft 클라우드 통합 침투 테스트 참여 규칙을 준수해야 합니다.

장려금 프로그램

Azure DevOps Microsoft Online Services 장려금 프로그램에 참여합니다. 이 프로그램은 문제를 보고하는 보안 연구원에게 보상을 제공하고 더 많은 사람들이 Azure DevOps 안전하게 지키도록 장려합니다. 자세한 내용은 Azure DevOps 장려금 프로그램을 참조하세요.

액세스 제한

Microsoft는 프로덕션 환경 및 고객 데이터에 액세스할 수 있는 사용자를 엄격하게 제어합니다. 필요한 최소 권한 수준에서 적절한 근거를 제공하고 확인한 후에만 액세스 권한이 부여됩니다. 팀 구성원이 긴급한 문제를 해결하거나 구성 변경을 배포하기 위해 액세스 권한이 필요한 경우 프로덕션 서비스에 대한 "Just-In-Time" 액세스를 신청해야 합니다. 상황이 해결되는 즉시 액세스가 취소됩니다.

액세스 요청 및 승인은 별도의 시스템에서 추적 및 모니터링됩니다. 시스템에 대한 모든 액세스는 이러한 승인과 관련이 있으며 승인되지 않은 액세스를 감지하면 운영 팀이 조사하라는 경고를 받습니다.

모든 원격 시스템 액세스에 2단계 인증을 사용합니다. 따라서 개발자 또는 운영 직원 중 한 명의 사용자 이름과 암호가 도난당한 경우 데이터는 보호된 상태로 유지됩니다. 즉, 서비스에 대한 원격 액세스가 허용되기 전에 스마트 카드를 통한 추가 인증 검사 또는 사전 승인된 번호에 대한 전화 통화가 발생해야 합니다.

또한 Microsoft는 비밀을 사용하여 RDP 암호, SSL 인증서 및 암호화 키와 같은 서비스를 관리하고 유지 관리합니다. 이들은 모두 Azure Portal 통해 안전하게 관리, 저장 및 전송됩니다. 이러한 비밀에 액세스하려면 안전한 방식으로 기록되고 기록되는 특정 권한이 필요합니다. 모든 비밀은 정기적인 주기로 회전되며 보안 이벤트가 있는 경우 요청 시 회전할 수 있습니다.

Azure DevOps 운영 팀은 강화된 관리자 워크스테이션을 사용하여 서비스를 관리합니다. 이러한 컴퓨터는 최소한의 애플리케이션을 실행하고 논리적으로 분할된 환경에서 작동합니다. 운영 팀 구성원은 워크스테이션에 액세스하려면 2단계 인증을 통해 특정 자격 증명을 제공해야 합니다. 모든 액세스는 모니터링되고 안전하게 기록됩니다. 서비스를 외부 변조로부터 격리하기 위해 Outlook 및 Office 같은 애플리케이션은 종종 스피어 피싱 및 기타 유형의 공격의 대상이기 때문에 허용하지 않습니다.

침입 보호 및 응답

사용자와 Azure DevOps 간에 전송하는 동안 데이터가 가로채거나 수정되지 않도록 HTTPS 및 SSL을 통해 데이터를 암호화합니다.

또한 Azure DevOps 대신 저장하는 데이터는 다음과 같이 암호화됩니다.

  • Azure SQL Database에 저장된 데이터는 TDE(투명한 데이터 암호화)를 사용하여 암호화됩니다. TDE는 데이터베이스, 관련 백업 및 미사용 트랜잭션 로그 파일을 실시간으로 암호화하여 악의적인 작업의 위협으로부터 보호합니다.

  • Azure Blob Storage 연결은 전송 중인 데이터를 보호하기 위해 암호화됩니다. Azure Blob Storage에 저장된 미사용 데이터를 보호하기 위해 Azure DevOps는 Azure SSE(스토리지 서비스 암호화)를 사용합니다.

Azure 인프라는 Azure DevOps 팀이 서비스의 주요 측면을 기록하고 모니터링하는 데 도움이 됩니다. 이렇게 하면 서비스 내의 활동이 합법적인지 확인하고 위반 또는 시도된 위반을 감지할 수 있습니다. 또한 프로덕션 스토리지에 대한 운영자 액세스와 마찬가지로 모든 배포 및 관리자 활동이 안전하게 기록됩니다. 로그 정보가 자동으로 분석되어 잠재적으로 악의적이거나 권한이 없는 동작을 발견하기 때문에 실시간 경고가 발생합니다.

가능한 침입 또는 높은 우선 순위의 보안 취약성이 식별되는 경우 팀은 명확한 대응 계획을 가지고 있습니다. 이 계획은 책임 있는 당사자, 고객 데이터를 보호하는 데 필요한 단계 및 Microsoft의 보안 전문가와 협력하는 방법을 간략하게 설명합니다. 또한 팀은 데이터가 공개되거나 손상된 경우 조직 소유자에게 알리므로 상황을 해결하기 위한 적절한 조치를 취할 수 있습니다.

마지막으로, 새로운 위협에 대처하기 위해 Azure DevOps "위반 가정" 전략을 사용합니다. 레드 팀으로 알려진 Microsoft 내의 고도로 전문화된 보안 전문가 그룹은 정교한 악의적 사용자의 역할을 가정합니다. 이 팀은 보안 위험 탐지 및 대응을 테스트하여 실제 공격의 준비 상태와 영향을 정확하게 측정합니다. 이 전략은 서비스의 위협 탐지, 대응 및 방어를 강화합니다. 또한 팀에서 전체 보안 프로그램의 효율성을 확인하고 개선할 수 있습니다.

데이터 개인 정보

데이터가 적절하게 그리고 합법적인 용도로 처리되고 있다는 확신을 가져야 합니다. 이러한 보증의 일부는 합법적인 이유로만 데이터를 사용할 수 있도록 사용을 적절하게 제한하는 것입니다.

일반 데이터 보호 규정(GDPR)

GDPR(일반 데이터 보호 규정)은 1995년 유럽 연합(EU) 데이터 보호 지침 95/46/EC가 도입된 이래 유럽에서 데이터 보호법의 가장 큰 변화입니다. GDPR 규정에 대한 자세한 내용은 Microsoft 보안 센터의 개요 페이지를 참조하세요.

데이터 보존 및 주권

Azure DevOps 미국, 캐나다, 유럽, 영국, 인도, 오스트레일리아, 아시아 태평양 및 브라질 등 전 세계 8개 지역에서 사용할 수 있습니다. 기본적으로 조직은 가장 가까운 지역에 할당되지만 다른 지리를 선택할 수 있는 옵션이 있습니다. 나중에 마음이 바뀌면 Microsoft 지원을 통해 조직을 다른 지리적 위치로 마이그레이션할 수 있습니다.

Azure DevOps 선택한 지리적 위치 외부로 고객 데이터를 이동하거나 복제하지 않습니다. 대신 데이터는 동일한 지리 내의 두 번째 지역에 지리적으로 복제됩니다. 유일한 예외는 재해 복구를 위해 미국 중남부 지역에 데이터를 복제하는 브라질입니다.

참고

Microsoft에서 제공하는 macOS 에이전트에서 실행되는 빌드 및 릴리스의 경우 데이터는 미국의 GitHub 데이터 센터로 전송됩니다.

자세한 내용은 Azure DevOps 데이터 위치를 참조하세요.

법 집행 기관 액세스

경우에 따라 법 집행 기관과 같은 제3자가 Microsoft에 접근하여 Azure DevOps 내에 저장된 고객 데이터에 액세스할 수 있습니다. 확인을 위해 요청을 조직 소유자에게 리디렉션하려고 합니다. Microsoft는 제3자에게 고객 데이터를 공개하라는 법원의 명령에 따라 법적으로 금지되지 않는 한 조직 소유자에게 미리 알리기 위해 합리적인 노력을 기울입니다.

일부 고객은 법 집행 활동에 대한 특정 법적 관할권을 보장하기 위해 특정 지리적 위치에 데이터 스토리지를 요구합니다. 소스 코드, 작업 항목, 테스트 결과, 지역 중복 미러 및 오프사이트 백업과 같은 모든 고객 데이터는 앞에서 언급한 지역 중 하나 내에서 유지 관리됩니다.

Microsoft 액세스

때때로 Microsoft 직원은 Azure DevOps 내에 저장된 고객 데이터에 액세스해야 합니다. 예방 조치로 고객 데이터에 액세스하거나 액세스할 수 있는 모든 직원은 이전 고용 및 형사 유죄 판결을 확인하는 신원 조회를 통과해야 합니다. 라이브 사이트 인시던트 또는 기타 승인된 유지 관리 작업이 기록되고 모니터링되는 경우에만 프로덕션 시스템에 대한 액세스를 허용합니다.

시스템 내의 모든 데이터가 동일하게 처리되는 것은 아니므로 다음 데이터 형식을 구분하도록 데이터를 분류합니다.

  • 고객 데이터 - Azure DevOps 업로드하는 내용입니다.
  • 조직 데이터 - 조직에 등록하거나 관리할 때 사용되는 정보입니다.
  • Microsoft 데이터 - 서비스 작업을 통해 필요하거나 수집되는 정보입니다.

분류에 따라 사용 시나리오, 지리적 위치 요구 사항, 액세스 제한 및 보존 요구 사항을 제어합니다.

Microsoft 프로모션 사용

Microsoft는 때때로 고객에게 연락하여 유용할 수 있는 추가 기능 및 서비스에 대해 알리려고 합니다. 모든 고객이 이러한 제품에 대해 연락하기를 원하지 않기 때문에 마케팅 전자 메일 통신을 옵트인하고 옵트아웃할 수 있습니다.

Microsoft는 고객 데이터를 사용하여 특정 사용자 또는 조직의 특정 제품을 대상으로 지정하지 않습니다. 대신 조직 수준에서 조직 데이터 및 집계 사용 통계를 사용하여 특정 제안을 받아야 하는 그룹을 결정합니다.

신뢰도 구축

Microsoft가 Azure DevOps 대신 수행하는 다른 노력에 확신을 가질 수 있습니다. 이러한 노력에는 Microsoft의 내부 채택 정책, 서비스 상태에 제공된 투명성 수준, 정보 보안 관리 시스템의 인증을 받기 위한 진행 상황 등이 포함됩니다.

내부 채택

Microsoft Teams 내부적으로 Azure DevOps 채택하고 있습니다. Azure DevOps 팀은 2014년에 조직으로 이전하여 광범위하게 사용합니다. 더 광범위하게, 우리는 다른 팀에 대한 채택 계획을 가능하게하는 지침을 수립했습니다.

물론 대규모 팀은 기존 DevOps 시스템에 대한 투자를 감안할 때 더 작은 팀보다 점진적으로 움직입니다. 신속하게 이동할 수 있는 팀을 위해 프로젝트 분류 접근 방식을 설정했습니다. 프로젝트 특성에 따라 위험 허용 오차를 평가하여 프로젝트가 Azure DevOps 적합한지 확인합니다. 대규모 팀의 경우 채택은 일반적으로 더 많은 계획과 함께 단계적으로 수행됩니다.

내부 프로젝트에 대한 추가 요구 사항에는 적절한 사용자 ID 수명 주기 및 암호 복잡성을 보장하기 위해 조직을 Azure AD 연결해야 합니다. 더 중요한 프로젝트의 경우 2단계 인증도 필요합니다.

규정 준수 인증

일부 사용자가 데이터 보안 절차의 타사 평가를 이해하려고 합니다. Azure DevOps 다음과 같은 인증을 획득했습니다.

  • ISO 27001:2013
  • ISO 27018:2019
  • HIPAA(건강 보험 이식성 및 책임법)
  • BAA(Business Associate Agreement)
  • EU 모델 조항
  • SOC 1 형식 2
  • SOC 2 형식 2
  • 독일 C5

Azure DevOps 대한 SOC 감사는 데이터 보안, 가용성, 처리 무결성 및 기밀성에 대한 제어를 다룹니다. Azure DevOps 대한 SOC 보고서는 Microsoft 서비스 신뢰 포털을 통해 사용할 수 있습니다.

수행할 수 있는 단계

적절한 데이터 보호에는 관리자 및 사용자의 적극적인 참여가 필요합니다. Azure DevOps 내에 저장된 프로젝트 데이터는 최종 사용자 액세스 지점만큼 안전합니다. 해당 조직의 권한 엄격성 및 세분성 수준을 프로젝트의 민감도 수준과 일치합니다.

데이터 분류

첫 번째 단계는 데이터를 분류하는 것입니다. 민감도 및 위험 수평선 및 손상 시 발생할 수 있는 손상에 따라 데이터를 분류합니다. 많은 기업에는 프로젝트가 Azure DevOps 이동할 때 재사용할 수 있는 기존 분류 방법이 있습니다. 자세한 내용은 Microsoft Trustworthy Computing에서 "클라우드 준비 상태의 데이터 분류" 문서를 다운로드할 수 있습니다.

Azure Active Directory 채택

Azure Active Directory(Azure AD)를 사용하여 Azure DevOps 대한 조직의 액세스를 관리합니다. Azure AD 사용자의 자격 증명 보안을 개선하는 또 다른 방법을 제공합니다. Azure AD 통해 IT 부서는 사용자가 조직을 떠나는 경우 최종 사용자 액세스 정책, 암호 복잡성, 암호 새로 고침 및 만료를 관리할 수 있습니다. Active Directory 페더레이션을 통해 Azure AD 조직의 중앙 디렉터리에 직접 연결할 수 있으므로 엔터프라이즈에 대한 이러한 세부 정보를 관리할 수 있는 위치는 하나뿐입니다.

다음 표에서는 Azure DevOps 액세스를 기준으로 Microsoft 계정 및 Azure AD 특성을 비교합니다.

속성 Microsoft 계정 Azure AD
ID 작성자 사용자 조직
모든 작업 자산에 대한 단일 사용자 이름/암호
암호 수명 & 복잡성 제어 사용자 조직
Azure DevOps 멤버 자격 제한 모든 Microsoft 계정(MSA) 조직의 디렉터리
추적 가능한 ID
조직 & IP 소유권 불분명 조직
2단계 인증 등록 사용자 조직
디바이스 기반 조건부 액세스 조직

조직에 대해 이 지원을 구성하는 방법에 대해 자세히 알아봅니다.

2단계 인증 요구

로그인을 위해 둘 이상의 요소를 요구하여 조직에 대한 액세스를 제한할 수 있습니다. Azure AD 여러 요소를 요구할 수 있습니다. 예를 들어 모든 인증 요청에 대해 사용자 이름 및 암호 외에도 전화 인증을 요구할 수 있습니다.

BitLocker 사용

중요한 프로젝트의 경우 Windows 랩톱 또는 데스크톱 컴퓨터에서 BitLocker를 사용할 수 있습니다. BitLocker는 Windows 데이터가 있는 전체 드라이브를 암호화합니다. BitLocker를 사용하도록 설정하면 해당 드라이브에 저장한 모든 파일을 자동으로 암호화합니다. 랩톱 또는 데스크톱 컴퓨터가 잘못된 손에 넘어가면 BitLocker는 프로젝트의 로컬 데이터 복사본에 대한 무단 액세스를 방지합니다.

대체 인증 자격 증명 사용 제한

Git 관련 도구의 기본 인증 메커니즘은 대체 인증(기본 인증이라고도 함)입니다. 이 메커니즘을 사용하면 최종 사용자가 Git 명령줄 작업 중에 사용할 대체 사용자 이름 및 암호를 설정할 수 있습니다. 이 사용자 이름 및 암호 조합을 사용하여 해당 사용자에게 권한이 있는 다른 데이터에 액세스할 수도 있습니다. 기본적으로 대체 인증 자격 증명은 기본 페더레이션 인증보다 덜 안전합니다.

보안 강화를 위해 선택할 수 있습니다. 모든 통신은 HTTPS를 통해 전송되며 암호 복잡성 요구 사항이 있습니다. 조직은 프로젝트 보안 요구 사항을 충족하기 위해 추가 정책이 필요한지 계속 평가해야 합니다. 조직의 보안 요구 사항을 충족하지 않는다고 결정하면 대체 인증 자격 증명을 모두 사용하지 않도록 설정할 수 있습니다. 자세한 내용은 조직의 애플리케이션 연결 & 보안 정책 변경을 참조하세요.

조직에 대한 보안 액세스

Azure AD 관리자가 Azure DevOps 같은 Azure 리소스 및 애플리케이션에 대한 액세스를 제어할 수 있는 기능을 제공합니다. 준비된 조건부 액세스 제어를 사용하면 Azure AD에서 사용자가 애플리케이션에 액세스하도록 설정한 특정 조건을 확인합니다. 이러한 액세스 요구 사항이 충족되면 사용자가 인증되고 애플리케이션에 액세스할 수 있습니다.

Azure DevOps 사용자 지정 Azure DevOps 인증 메커니즘에 대해 특정 유형의 조건부 액세스 정책(예: IP 펜싱)을 적용하도록 지원합니다. 이러한 메커니즘에는 개인 액세스 토큰, 대체 인증, OAuth 및 SSH 키가 포함됩니다. 사용자가 타사 클라이언트를 통해 Azure DevOps 액세스하는 경우 IP 기반 정책(IPv4 기반에만 해당)만 적용됩니다.

추가 자료