Azure DevOps Services
퍼블릭과 프라이빗 간에 Azure DevOps 프로젝트의 가시성을 변경하고 각 표시 유형 설정의 보안 및 액세스 의미를 이해하는 방법을 알아봅니다.
중요합니다
- 프라이빗 프로젝트를 공개 표시 유형으로 변경하면 모든 프로젝트 콘텐츠에 공개적으로 액세스할 수 있게 됩니다. 특정 리포지토리, 영역 경로 또는 빌드 아티팩트를 공용 프로젝트 내에서 선택적으로 유지할 수 없습니다.
- 공용 프로젝트 허용 정책이 이미 설정된 조직만 프로젝트의 표시 유형을 공개로 변경하는 프로젝트를 만들 수 있습니다. 정책을 사용하지 않는 조직에서는 이 정책을 더 이상 사용할 수 없습니다. Microsoft는 모든 공용 프로젝트 요구 사항에 대해 GitHub 를 사용하는 것이 좋습니다.
프로젝트를 퍼블릭으로 만들 때 변경되는 내용
프로젝트를 공개하는 것은 사용 권한, 액세스 수준 및 사용 가능한 기능에 영향을 줍니다.
보안 및 권한 변경
프로젝트 가시성을 프라이빗에서 퍼블릭으로 전환하면 다음과 같은 변경 내용이 발생합니다.
- 거부 권한은 무시됩니다. 명시적으로 "거부"로 설정된 모든 권한은 공용 사용자에게 적용되지 않습니다.
- 최소 액세스 권한 부여: 비회원은 공용 콘텐츠에 대한 기준 읽기 권한을 자동으로 받습니다.
- 빌드 파이프라인 범위: Project 컬렉션 범위로 설정된 파이프라인은 Project 범위와 함께 자동으로 실행하여 보안을 강화합니다.
액세스 수준 차이
사용자 유형 | 프라이빗 프로젝트 액세스 | 공용 프로젝트 액세스 |
---|---|---|
익명 사용자 | 액세스 권한 없음 | 대부분의 콘텐츠에 대한 읽기 전용 액세스 |
관련자 | 제한된 보드 액세스, 리포지토리 액세스 없음 | 리포지토리 및 보드에 대한 모든 권한 |
기본 사용자 | 테스트 계획을 제외한 모든 권한 | 테스트 계획을 제외한 모든 권한 |
기본 + 테스트 계획 | 테스트 계획을 포함한 모든 권한 | 테스트 계획을 포함한 모든 권한 |
비회원에 대한 기능 가용성
다음 표에서는 프로젝트 멤버가 아닌 사용자가 사용할 수 있는 기능을 보여줍니다.
서비스 영역 | 비회원 액세스 | 비고 |
---|---|---|
대시보드 | 읽기 전용, 제한된 위젯 | 많은 위젯을 사용할 수 없음 |
Wiki | 읽기 전용 | 전체 콘텐츠 표시 |
Boards | 작업 항목만 읽습니다. | 백로그, 보드, 숨겨진 스프린트 |
Repos | 읽기 전용 Git 리포지토리 | 숨겨진 TFVC 리포지토리 |
파이프라인 | 빌드/릴리스 결과 읽기 | 숨겨진 편집기 및 라이브러리 |
테스트 계획 | 액세스 권한 없음 | 수동 테스트를 사용할 수 없음 |
Search | 전체 검색 기능 | 접근성 있는 콘텐츠 간 |
설정 | 액세스 권한 없음 | 숨겨진 관리 기능 |
필수 조건
프로젝트 가시성을 변경하기 전에 다음 요구 사항을 충족하는지 확인합니다.
요구 사항 | 세부 정보 |
---|---|
사용 권한 | 프로젝트 컬렉션 관리자 또는 조직 소유자 |
조직 설정 | "공용 프로젝트 허용" 정책을 사용하도록 설정해야 합니다. |
보안 검토 | 마이그레이션 검사 목록 완료 |
미리 배포 보안 검사 목록
Warning
공용 프로젝트는 이전 커밋, 작업 항목 및 빌드 로그를 포함한 기록 데이터를 노출합니다. 프로젝트를 공개하기 전에 모든 콘텐츠를 신중하게 검토합니다.
조직 및 ID 노출
- [ ] 구성원 정보: 모든 조직 구성원의 이름과 전자 메일 주소가 표시됩니다.
- [ ] 조직 설정: 노출된 모든 조직 및 프로젝트 설정의 읽기 전용 보기
- [ ] 프로세스 메타데이터: 조직 프로젝트의 모든 선택 목록 값이 표시됩니다.
- [ ] 빌드 기록: 빌드 트리거 및 Git 커밋의 이름 및 이메일 주소가 노출됨
프로젝트 간 고려 사항
- [ ] 연결된 아티팩트: 중요한 정보를 노출할 수 있는 프라이빗 프로젝트에 대한 링크 확인
- [ ] 공유 리소스: 프로젝트에서 액세스하는 조직 수준 리소스 검토
콘텐츠 보안 검토
작업 항목 및 Agile 도구
- [ ] 기록 작업 항목: 닫힌 작업 항목을 포함한 모든 작업 항목을 검토하여 중요한 정보를 확인합니다.
- [ ] 영역 경로 보안: 영역 경로에 특별한 보안 제한이 없는지 확인합니다(공용 프로젝트에서 거부된 권한은 무시됨).
- [ ] 토론 및 의견: 모든 작업 항목 토론에서 중요하거나 부적절한 콘텐츠를 확인합니다.
소스 코드 리포지토리
- [ ] 커밋 기록: 자격 증명, 보안 취약성 또는 독점 코드에 대한 전체 Git 기록 검토
- [ ] 메시지 커밋: 모든 커밋 메시지에서 중요한 정보 또는 부적절한 콘텐츠 확인
- [ ] 파일 내용: 자격 증명, API 키 또는 기밀 데이터를 포함하는 파일이 없는지 확인합니다.
파이프라인 빌드 및 릴리스
- [ ] 파이프라인 정의: 노출된 자격 증명, 내부 URL 또는 환경 세부 정보 검토
- [ ] 빌드 로그: 기록 빌드 로그에서 중요한 정보를 확인합니다.
- [ ] 서비스 연결: 비회원에서 액세스할 수 없는 프라이빗 피드 종속성이 없는지 확인
아티팩트 및 패키지
- [ ] 패키지 콘텐츠: 개인 정보 보호 문제에 대한 프로젝트 범위 피드의 모든 패키지 검토
- [ ] 피드 설정: 퍼블릭 프로젝트 피드에 대해 업스트림 설정을 사용할 수 없음 이해
확장 및 사용자 지정
- [ ] 사용자 지정 확장: 비회원에 대해 확장이 제대로 작동하는지 확인
- [ ] 작업 항목 양식 사용자 지정: 비회원 액세스 권한이 있는 사용자 지정 컨트롤 및 필드 테스트
1단계: 조직에 공용 프로젝트 사용
조직에 로그인합니다(
https://dev.azure.com/{yourorganization}
).조직 설정을 선택합니다.
정책을 선택합니다.
보안 정책에서 공개 프로젝트 허용을 켭니다.
2단계: 프로젝트 표시 유형 변경
프로젝트(
https://dev.azure.com/{yourorganization}/{yourproject}
)로 이동합니다.프로젝트 설정을 선택합니다.
개요를 선택합니다.
표시 유형 드롭다운 메뉴에서 공용 또는 비공개를 선택합니다.
저장을 선택합니다.
퍼블릭 프로젝트에서 기여자 관리
프로젝트 멤버 추가
프라이빗 프로젝트와 동일한 방식으로 퍼블릭 프로젝트에 기여자를 추가합니다.
- 프로젝트 설정>사용 권한으로 이동합니다.
- 추가를 선택하여 사용자를 초대합니다.
- 적절한 액세스 수준(이해 관계자, 기본 또는 기본 + 테스트 계획)을 할당합니다.
자세한 내용은 조직에 사용자 추가를 참조하세요.
외부 사용자 고려 사항
공개 프로젝트에 외부 사용자를 초대 하는 경우:
- 조직의 모든 공개 콘텐츠에 대한 액세스 권한을 얻습니다.
- 다른 곳에 중요한 콘텐츠가 있는 경우 퍼블릭 프로젝트에 대해 별도의 조직을 만드는 것이 좋습니다.
중요한 콘텐츠에 대한 대체 방법
옵션 1: 공용 프로젝트에 대한 별도의 조직
현재 조직에 중요한 자료가 포함된 경우:
- 퍼블릭 프로젝트를 위한 새 조직 만들기
- 민감하지 않은 콘텐츠만 새 조직으로 마이그레이션
- 원래 프라이빗 조직에서 중요한 프로젝트 유지
옵션 2: 선택적 콘텐츠 마이그레이션
중요한 작업 항목 이동
- 작업 항목 이동 기능을 사용하여 중요한 항목을 프라이빗 프로젝트로 전송
- 프로젝트 간 링크는 멤버에 대해 계속 작동하지만 비회원에서 숨겨진 상태로 유지됩니다.
Git 리포지토리 팁 마이그레이션
문제가 있는 기록이 있는 리포지토리의 경우 현재 상태만 마이그레이션합니다.
Warning
이 작업은 원본에 연결되지 않은 새 리포지토리를 만듭니다. 끌어오기 요청 기록 및 변경 내용 추적이 손실됩니다.
# Clone the existing repository
git clone <original_clone_URL>
cd <repository_name>
# Ensure you're on the desired branch
git checkout main
# Remove Git history
rm -rf .git # On Windows: rmdir /s .git
# Initialize new repository
git init
# Connect to new repository in public project
git remote add origin <new_public_repo_URL>
# Push current state as initial commit
git add .
git commit -m "Initial public release"
git push --set-upstream origin main
비회원에 대한 제한 사항
공용 프로젝트의 비회원은 다음 작업을 수행할 수 없습니다.
- 콘텐츠 편집 또는 만들기(파일, 작업 항목, 파이프라인)
- 프로젝트 멤버의 전자 메일 주소 또는 연락처 정보 보기
- 관리 설정 또는 구성 페이지에 액세스
- 조직 전체에서 고급 검색 기능 사용
- 동일한 조직의 여러 공용 프로젝트 간 탐색
- 아티팩트 즐겨찾기 또는 팔로우
공용 프로젝트 액세스 문제 해결
일반적인 문제
문제: 비회원은 공개한 후 프로젝트에 액세스할 수 없습니다.
- 해결 방법: 조직의 "공개 프로젝트 허용" 정책이 사용하도록 설정되어 있는지 확인합니다.
문제: 일부 콘텐츠가 계속 제한됨으로 표시됨
- 해결 방법: 특정 영역에 영향을 줄 수 있는 거부 권한 확인
문제: 외부 사용자가 기여할 수 없습니다.
- 해결 방법: 적절한 액세스 수준을 가진 프로젝트 멤버로 추가되었는지 확인