Skip to main content
설명서에 자주 업데이트를 게시하며 이 페이지의 번역이 계속 진행 중일 수 있습니다. 최신 정보는 영어 설명서를 참조하세요.

GitHub 패키지에 대한 사용 권한 정보

패키지에 대한 사용 권한을 관리하는 방법에 대해 알아봅니다.

GitHub Packages는 GitHub Free, GitHub Pro, 조직용 GitHub Free, GitHub Team, GitHub Enterprise Cloud, GitHub Enterprise Server 3.0 이상 및 GitHub AE를 이용해 사용할 수 있습니다.
GitHub Packages는 레거시 리포지토리별 플랜을 사용하는 계정이 소유한 프라이빗 리포지토리에서 사용할 수 없습니다. 또한 레거시 리포지토리별 플랜을 사용하는 계정은 리포지토리별로 요금이 청구되므로 Container registry에 액세스할 수 없습니다. 자세한 내용은 “GitHub 제품”을 참조하세요.

패키지에 대한 권한은 사용자 또는 조직 또는 리포지토리로 범위를 지정할 수 있습니다.

사용자/조직 범위 패키지에 대한 세분화된 사용 권한

세분화된 사용 권한이 있는 패키지는 개인 사용자 또는 조직 계정으로 범위가 지정됩니다. 패키지에 연결(또는 링크로 연결)되는 리포지토리와 별도로 패키지의 액세스 제어 및 표시 여부를 변경할 수 있습니다.

다음 GitHub Packages 레지스트리는 세분화된 권한을 지원합니다.

  • Container registry - npm 레지스트리 - NuGet 레지스트리 - RubyGems 레지스트리

리포지토리 범위 패키지에 대한 권한

리포지토리 범위 패키지는 패키지를 소유하는 리포지토리의 권한과 표시 유형을 상속합니다. 리포지토리의 기본 페이지로 이동하고 페이지 오른쪽에 있는 패키지 링크를 클릭하여 리포지토리로 범위가 지정된 패키지를 찾을 수 있습니다. 자세한 내용은 “리포지토리를 패키지에 연결”을 참조하세요.

다음 GitHub Packages 레지스트리는 리포지토리 범위 권한 지원합니다.

  • Docker 레지스트리(docker.pkg.github.com)
  • Apache Maven 레지스트리
  • Gradle 레지스트리

기타 레지스트리의 경우 패키지의 범위를 사용자 또는 조직으로 지정하거나 리포지토리에 연결하도록 선택할 수 있습니다.

컨테이너 이미지에 대한 표시 여부 및 액세스 권한

컨테이너 이미지에 대한 관리자 권한이 있는 경우 컨테이너 이미지에 대한 액세스 권한을 프라이빗 또는 퍼블릭으로 설정할 수 있습니다. 퍼블릭 이미지는 익명 액세스를 허용하며 CLI를 통해 인증 또는 로그인하지 않고 가져올 수 있습니다.

관리자는 조직 및 리포지토리 수준에서 설정한 권한과 별개인 컨테이너 이미지에 대한 액세스 권한을 부여할 수도 있습니다.

개인 계정에서 게시하고 소유한 컨테이너 이미지의 경우 모든 사람에게 액세스 역할을 부여할 수 있습니다. 조직에서 게시하고 소유한 컨테이너 이미지의 경우 조직의 모든 사용자 또는 팀에 액세스 역할을 부여할 수 있습니다.

GitHub Actions 워크플로를 사용하여 컨테이너 이미지를 관리하는 경우 패키지 설정의 작업 액세스 옵션을 사용하여 워크플로가 저장된 리포지토리에 액세스 역할을 부여할 수 있습니다. 자세한 내용은 “패키지에 대한 워크플로 액세스 보장”을 참조하세요.

사용 권한액세스 설명
읽기패키지를 다운로드할 수 있습니다.
패키지 메타데이터를 읽을 수 있습니다.
쓰기이 패키지를 업로드 및 다운로드할 수 있습니다.
패키지 메타데이터를 읽고 쓸 수 있습니다.
Admin업로드, 다운로드, 이 패키지를 관리할 수 있습니다.
패키지 메타데이터를 읽고 쓸 수 있습니다.
패키지를 삭제하고 복원할 수 있습니다.

참고: GitHub Actions 워크플로가 REST API를 사용하여 패키지를 삭제하고 복원하는 기능은 현재 퍼블릭 베타 버전이며 변경될 수 있습니다.

자세한 내용은 “패키지의 액세스 제어 및 표시 여부 구성”을 참조하세요.

패키지 레지스트리의 범위 및 사용 권한 정보

GitHub Packages은(는) personal access token (classic)을(를) 사용하는 인증만 지원합니다. 자세한 내용은 "personal access token 만들기"를 참조하세요.

패키지 레지스트리에서 호스트되는 패키지를 사용하거나 관리하려면 적절한 범위의 personal access token (classic)를 사용해야 하며 개인 계정에 적절한 권한이 있어야 합니다.

예를 들면 다음과 같습니다.

  • 리포지토리에서 패키지를 다운로드하고 설치하려면 personal access token (classic)에 범위가 read:packages 있어야 하며 사용자 계정에 읽기 권한이 있어야 합니다.
  • GitHub Enterprise Cloud에서 패키지를 삭제하려면 personal access token (classic)에 최소한 및 read:packages 범위가 delete:packages 있어야 합니다. 리포지토리 범위 패키지에도 repo 범위가 필요합니다. 자세한 내용은 "패키지 삭제 및 복원"을 참조하세요.
범위설명필요한 권한
read:packagesGitHub Packages에서 패키지 다운로드 및 설치읽기
write:packagesGitHub Packages에 패키지 업로드 및 게시쓰기
delete:packagesGitHub Packages에서 패키지 삭제관리자
repo패키지 업로드 및 삭제(write:packages 또는 delete:packages 포함)쓰기 또는 관리자

참고: GitHub Actions 워크플로가 REST API를 사용하여 패키지를 삭제하고 복원하는 기능은 현재 퍼블릭 베타 버전이며 변경될 수 있습니다.

GitHub Actions 워크플로를 만들 때 를 사용하여 GITHUB_TOKEN personal access token을 저장하고 관리할 필요 없이 를 게시하고, 패키지를 GitHub Packages에 설치할 수 있습니다.

자세한 내용은 다음을 참조하세요.

리포지토리 전송 정보

리포지토리를 다른 사용자 또는 조직 계정으로 전송할 수 있습니다. 자세한 내용은 “리포지토리 전송”을 참조하세요.

리포지토리를 전송할 때 GitHub는 패키지가 속한 레지스트리에 따라 리포지토리와 연결된 패키지를 전송할 수 있습니다.

  • 세분화된 권한을 지원하는 레지스트리의 경우 패키지의 범위는 사용자 또는 조직 계정으로 지정되며, 리포지토리를 전송할 때 패키지와 연결된 계정은 변경되지 않습니다. 리포지토리에 패키지를 연결한 경우 리포지토리를 다른 사용자에게 전송할 때 링크가 제거되고 리포지토리와 연결된 codespace 또는 GitHub Actions 워크플로는 패키지에 대한 액세스 권한을 잃게 됩니다. 이러한 레지스트리 목록은 "사용자/조직 범위 패키지에 대한 세분화된 권한"을 참조하세요.
  • 리포지토리 범위 권한만 지원하는 레지스트리의 경우 패키지가 리포지토리에 직접 게시되고 GitHub는 리포지토리 전송의 일부로 리포지토리와 연결된 패키지를 전송합니다. 패키지와 연결된 모든 청구 가능 사용량은 이후에 새 소유자에게 청구됩니다. 이전 리포지토리 소유자가 리포지토리에서 협력자로 제거된 경우 리포지토리와 연결된 패키지에 더 이상 액세스할 수 없습니다. 이러한 레지스트리 목록은 "리포지토리 범위 패키지에 대한 권한"을 참조하세요.

GitHub Actions 워크플로에서 패키지에 대한 액세스 유지 관리

워크플로가 패키지에 대한 액세스를 유지하도록 하려면 워크플로에서 올바른 액세스 토큰을 사용하고 있고 패키지에 대한 GitHub Actions 액세스를 사용하도록 설정했는지 확인합니다.

GitHub Actions에 대한 자세한 개념적 배경 또는 워크플로에서 패키지를 사용하는 예제는 “GitHub Actions 워크플로를 사용하여 GitHub 패키지 관리”를 참조하세요.

액세스 토큰

참고: GitHub Actions 워크플로가 REST API를 사용하여 패키지를 삭제하고 복원하는 기능은 현재 퍼블릭 베타 버전이며 변경될 수 있습니다.

  • 를 게시하고 패키지를 설치하려면 를 사용합니다 GITHUB_TOKEN.
  • 액세스할 수 없는 다른 프라이빗 리포지토리 GITHUB_TOKEN 와 연결된 패키지를 설치하려면 personal access token (classic)를 사용합니다.

GitHub Actions 워크플로에서 사용되는 GITHUB_TOKEN에 대한 자세한 내용은 “워크플로에서의 인증”을 참조하세요.

컨테이너 이미지에 대한 GitHub Actions 액세스

워크플로가 컨테이너 이미지에 액세스할 수 있도록 하려면 워크플로가 실행되는 리포지토리에 대한 GitHub Actions 액세스를 사용하도록 설정해야 합니다. 패키지의 설정 페이지에서 이 설정을 찾을 수 있습니다. 자세한 내용은 “패키지에 대한 워크플로 액세스 보장”을 참조하세요.