GitHub Enterprise Importer에 필요한 액세스 권한 정보
데이터를 보호하기 위해 GitHub는 GitHub Enterprise Importer를 사용하도록 특정 액세스 요구 사항을 적용합니다. 오류를 방지하려면 이 문서를 주의 깊게 검토하고 완료하려는 작업에 대한 모든 요구 사항을 충족하는지 확인해야 합니다.
마이그레이션을 실행하려면 마이그레이션의 원본과 대상 모두에 대한 충분한 액세스 권한이 필요합니다. 리포지토리 마이그레이션의 경우 대상은 조직입니다. 조직 마이그레이션의 경우 대상은 엔터프라이즈 계정입니다.
GitHub Enterprise Server 3.8 이상에서 처음으로 마이그레이션하려면 관리 콘솔에 액세스 권한이 있는 사람이 GitHub Enterprise Server 인스턴스에 대한 Blob Storage를 설정해야 합니다.
다른 작업의 경우 운영의 대상에만 액세스하면 됩니다. 예를 들어 조직에 대한 마이그레이션자 역할을 부여하려면 해당 조직에 대한 액세스 권한만 있으면 됩니다.
원본 또는 대상에 대해 충분한 액세스 권한을 가지려면 다음 두 가지가 모두 필요합니다.
- GitHub 조직 또는 엔터프라이즈 계정의 필수 역할
- Bitbucket Server의 경우 필요한 사용 권한 및 SFTP 또는 SMB 액세스
- GitHub 제품 및 Azure DevOps의 경우 조직 또는 엔터프라이즈 계정에 액세스할 수 있는 personal access token
- personal access token에는 역할 및 완료하려는 작업에 따라 필요한 모든 범위가 있어야 합니다.
- 원본 또는 대상에서 GitHub.com에 SAML Single Sign-On을 사용하는 경우 SSO에 대한 personal access token에 권한을 부여해야 합니다.
또한 원본 또는 대상에서 IP 허용 목록을 사용하는 경우 GitHub Enterprise Importer의 액세스를 허용하도록 허용 목록을 구성해야 할 수 있습니다.
GitHub에 필요한 역할
GitHub 제품에서 또는 해당 제품으로 마이그레이션하는 경우 여러 작업에 서로 다른 역할이 필요합니다.
Task | 엔터프라이즈 소유자 | 조직 소유자 | 마이그레이터 |
---|---|---|---|
마이그레이션 실행(원본 조직) | |||
X | X | ||
조직 마이그레이션 실행(대상 엔터프라이즈) | X | ||
리포지토리 마이그레이션을 위한 마이그레이션자 역할 할당 | |||
X | |||
리포지토리 마이그레이션 실행(대상 조직) | |||
X | X | ||
마이그레이션 로그 다운로드 | |||
X | X | ||
마네킹 회수 | |||
X |
Bitbucket Server에 필요한 권한
Bitbucket Server에서 마이그레이션하려면 다음이 필요합니다.
- 관리자 또는 슈퍼 관리자 권한이 있는 Bitbucket Server 계정의 사용자 이름 및 암호
- Bitbucket Server 인스턴스가 Linux에서 실행되는 경우 Bitbucket 서버 인스턴스에 대한 SFTP 액세스("SSH 키" 참조). 일반적으로 SSH를 통해 서버에 액세스할 수 있는 경우, SFTP를 사용할 수도 있습니다.
- Bitbucket Server 인스턴스가 Windows에서 실행되는 경우 Bitbucket Server 인스턴스에 대한 파일 공유(SMB) 액세스
SSH 키
Bitbucket Server 인스턴스가 Linux에서 실행되는 경우 다음 요구 사항을 충족하는 SSH 키를 사용해야 합니다.
- 암호가 없음
- 다음 암호화 중 하나 사용
aes256-ctr
3des-cbc
aes128-cbc
aes192-cbc
aes256-cbc
blowfish-cbc
twofish-cbc
twofish192-cbc
twofish128-cbc
twofish256-cbc
arcfour
arcfour128
arcfour256
cast128-cbc
aes128-ctr
aes192-ctr
마이그레이션을 실행할 때 cipher name aes256-ctr for openssh key file is not supported
와 같은 오류가 발생하는 경우 SSH 프라이빗 키는 지원되지 않는 암호화를 사용합니다. 호환되는 프라이빗 키를 생성하는 방법에 대한 자세한 내용은 "GitHub Enterprise Importer를 사용하여 마이그레이션 문제 해결"을(를) 참조하세요.
personal access token에 필요한 범위
마이그레이션을 실행하려면 대상 조직(리포지토리 마이그레이션의 경우) 또는 엔터프라이즈 계정(조직 마이그레이션의 경우)에 액세스할 수 있는 personal access token이 필요합니다. 원본이 GitHub 제품 또는 Azure DevOps인 경우 원본 조직에 액세스할 수 있는 다른 personal access token도 필요합니다.
마이그레이션 로그 다운로드와 같은 다른 작업의 경우 운영할 대상에 액세스할 수 있는 personal access token만 있으면 됩니다.
GitHub 제품에 대한 Personal access token
GitHub personal access token (classic)에 필요한 범위는 사용자 역할과 완료하려는 작업에 따라 달라집니다.
참고: personal access token (classic)만 사용할 수 있으며 fine-grained personal access token은(는) 사용할 수 없습니다. "조직에서 액세스한 personal access tokens (classic) 제한" 정책을 사용하는 경우 GitHub Enterprise Importer를 사용할 수 없다는 의미입니다. 자세한 내용은 "Enterprise에서 개인용 액세스 토큰에 대한 정책 적용"을(를) 참조하세요.
Task | 엔터프라이즈 소유자 | 조직 소유자 | 마이그레이터 |
---|---|---|---|
마이그레이션 실행(원본 조직) | - | read:org , repo | read:org , repo |
조직 마이그레이션 실행(대상 엔터프라이즈) | read:enterprise , admin:org , repo , workflow | - | - |
리포지토리 마이그레이션을 위한 마이그레이션자 역할 할당 | - | admin:org | - |
리포지토리 마이그레이션 실행(대상 조직) | - | repo , admin:org , workflow | repo , read:org , workflow |
마이그레이션 로그 다운로드 | - | repo , admin:org , workflow | repo , read:org , workflow |
마네킹 회수 | - | admin:org | - |
Azure DevOps의 Personal access token
Azure DevOps(ADO)에서 마이그레이션을 실행하려면 ADO personal access token에 work item (read)
, code (read)
, identity (read)
범위가 있어야 합니다.
여러 조직에서 마이그레이션하려면 personal access token에서 액세스 가능한 모든 조직에 액세스하도록 허용합니다. 자세한 내용은 Microsoft Docs에서 personal access token 사용을 참조하세요.
GitHub Enterprise Importer에 대한 personal access token 만들기
- 완료하려는 작업에 대한 역할이 충분한지 확인합니다. 자세한 내용은 "필요한 역할"을 참조하세요.
- personal access token (classic)을 만들어 완료하려는 작업에 필요한 모든 범위를 부여하도록 합니다. personal access token (classic)만 사용할 수 있으며 fine-grained personal access token은(는) 사용할 수 없습니다. 자세한 내용은 "개인용 액세스 토큰 관리" 및 "personal access token에 필요한 범위"를 참조하세요.
- 액세스해야 하는 조직에 SAML Single Sign-On이 적용되는 경우 SSO에 대한 personal access token에 권한을 부여합니다. 자세한 내용은 "SAML Single Sign-On에 사용할 개인용 액세스 토큰 권한 부여"을(를) 참조하세요.
마이그레이션에 대한 IP 허용 목록 구성
마이그레이션 원본 또는 대상에서 IP 허용 목록을 사용하는 경우 GitHub Enterprise Importer에 대한 액세스를 허용하도록 목록을 구성해야 할 수 있습니다.
IP 허용 목록을 올바르게 구성하려면 다음 섹션을 주의 깊게 읽어보세요. 마이그레이션에 따라 둘 이상의 섹션이 적용될 수 있습니다.
마이그레이션의 원본 또는 대상이 GitHub.com인 경우
다음 사항 둘 다 마이그레이션에 적용되는 경우 GitHub.com에서 IP 허용 목록을 구성해야 합니다.
- 마이그레이션의 원본 또는 대상이 GitHub.com인 경우
- 원본 또는 대상은 GitHub의 IP 허용 목록 기능 또는 ID 공급자(IdP) IP 허용 목록 제한(예: Azure CAP)을 사용하여 IP 허용 목록을 사용합니다.
GitHub의 IP 허용 목록 기능을 사용하는 경우 아래의 GitHub IP 범위를 원본 및/또는 대상 조직의 허용 목록에 추가해야 합니다.
IdP의 IP 허용 목록을 사용하여 GitHub.com에서 엔터프라이즈에 대한 액세스를 제한하는 경우 마이그레이션이 완료될 때까지 엔터프라이즈 계정 설정에서 이러한 제한을 사용하지 않도록 설정해야 합니다.
자세한 내용은 "조직에 허용되는 IP 주소 관리" 및 "IP 허용 목록을 사용하여 엔터프라이즈에 대한 네트워크 트래픽 제한"을(를) 참조하세요.
마이그레이션의 원본이 GitHub Enterprise Server인 경우
마이그레이션 원본이 GitHub Enterprise Server인 경우 GitHub IP 범위를 방화벽 구성 또는 GitHub Enterprise Server 인스턴스의 IP 허용 목록에 추가하지 않아도 됩니다.
그러나 미확인 개체 저장소 공급자의 설정에 따라 아래의 GitHub IP 범위에 대한 액세스를 허용하도록 미확인 개체 저장소 공급자의 구성을 업데이트해야 할 수 있습니다.
GitHub의 IP 범위 식별
IP 허용 목록에 다음 IP 범위를 추가해야 합니다.
- 192.30.252.0/22
- 185.199.108.0/22
- 140.82.112.0/20
- 143.55.64.0/20
- 40.71.233.224/28
- 2a0a:a440::/29
- 2606:50c0::/32
- 20.125.12.8/29 (2023년 11월 8일 00:00 UTC부터 활성화)
언제든지 REST API의 "GitHub 메타 정보 가져오기" 엔드포인트를 사용하여 GitHub Enterprise Importer에서 사용하는 IP 범위의 최신 목록을 가져올 수 있습니다.
응답의 github_enterprise_importer
키에는 마이그레이션에 사용되는 IP 범위 목록이 포함되어 있습니다.
자세한 내용은 REST API 설명서의 "메타"을(를) 참조하세요.
추가 참고 자료
- "조직의 역할"