패키지는 리포지토리에서 표시 여부 및 액세스 권한을 상속하거나, 세분화된 권한을 지원하는 레지스트리의 경우 리포지토리와 별도로 패키지의 표시 여부 및 사용 권한을 설정할 수 있습니다.
세분화된 사용 권한을 지원하는 레지스트리의 목록과 패키지 사용 권한, PAT에 대한 패키지 관련 범위 또는 GitHub Actions 워크플로 사용 권한 관리에 대한 자세한 내용은 GitHub 패키지에 대한 사용 권한 정보을(를) 참조하세요.
액세스 권한 상속 정보
세분화된 사용 권한을 지원하는 레지스트리에서 패키지는 개인 계정 또는 조직으로 범위가 지정됩니다. 이러한 레지스트리에서는 패키지를 리포지토리에 연결하지 않고 패키지를 게시한 다음, 패키지 설정에서 액세스 권한 및 표시 여부를 설정하여 패키지에 액세스할 수 있는 사용자를 결정할 수 있습니다.
기본적으로 리포지토리에 연결된 패키지를 게시하는 경우 패키지는 연결된 리포지토리의 액세스 권한(표시 여부는 아님)을 자동으로 상속합니다. 예를 들어 연결된 리포지토리에 대한 읽기 권한이 있는 사용자에게는 패키지에 대한 읽기 액세스 권한도 부여됩니다. 패키지가 액세스 권한을 자동으로 상속하는 경우 연결된 리포지토리의 GitHub Actions 워크플로도 패키지에 대한 액세스 권한을 자동으로 얻습니다.
패키지는 컨테이너 이미지에 org.opencontainers.image.source Docker 레이블을 추가하는 등, 패키지를 게시하기 전에 리포지토리를 패키지에 연결하는 경우에만 연결된 리포지토리의 액세스 권한만 자동으로 상속합니다. 패키지의 설정 페이지에서 게시된 패키지를 리포지토리에 연결하는 경우 패키지는 기존 액세스 권한을 유지하며, 이 옵션을 명시적으로 선택하지 않는 한 리포지토리의 액세스 권한을 상속하지 않습니다. 또한 조직은 조직으로 범위가 지정된 모든 새 패키지에 대한 액세스 권한의 자동 상속을 사용하지 않도록 설정할 수 있습니다. 자세한 내용은 아래에서 조직에서 액세스 권한의 자동 상속을 사용하지 않도록 설정을 참조하세요.
패키지가 리포지토리에서 사용 권한을 상속하는 경우 패키지에 대한 액세스 권한을 부여하거나 제거하려면 연결된 리포지토리의 사용 권한 설정을 구성해야 합니다. 패키지에 연결된 리포지토리와 별도로 패키지의 액세스 설정을 구성하려면, 패키지에서 상속된 사용 권한을 제거해야 합니다. 자세한 내용은 아래에서 패키지가 리포지토리에서 사용 권한을 상속할지 여부 선택을 참조하세요.
리포지토리 범위 권한만 지원하는 패키지를 레지스트리에 게시하는 경우 패키지는 항상 리포지토리에 연결되며, 연결된 리포지토리의 사용 권한을 항상 상속합니다.
패키지의 표시 여부 및 액세스 권한 설정 정보
패키지가 세분화된 권한을 지원하는 레지스트리에 속하는 경우 패키지에 대한 관리자 권한이 있는 모든 사용자는 패키지를 프라이빗 또는 퍼블릭으로 설정할 수 있으며, 조직 및 리포지토리 수준에서 설정된 사용 권한과는 별개인 패키지에 대한 액세스 권한을 부여할 수 있습니다. 세분화된 권한을 지원하는 레지스트리의 목록은 GitHub 패키지에 대한 사용 권한 정보을(를) 참조하세요.
대부분의 레지스트리에서 패키지를 끌어오려면 패키지가 퍼블릭인지 프라이빗인지에 관계없이 personal access token 또는 GITHUB_TOKEN로 인증해야 합니다. 그러나 Container registry에서 퍼블릭 패키지는 익명 액세스를 허용하며 인증 또는 CLI를 통해 로그인하지 않고 끌어올 수 있습니다.
참고
리포지토리에 연결된 패키지를 게시하는 경우 패키지는 기본적으로 연결된 리포지토리에서 해당 권한을 상속합니다. 패키지의 세분화된 권한 설정에 액세스하려면 패키지의 상속된 사용 권한을 제거해야 합니다. 조직의 소유자인 경우 조직으로 범위가 지정된 모든 새 패키지가 권한 자동 상속을 사용하지 않도록 설정할 수 있습니다. 자세한 내용은 패키지의 액세스 제어 및 표시 여부 구성 및 패키지의 액세스 제어 및 표시 여부 구성을(를) 참조하세요.
패키지를 게시하면 패키지에 대한 관리자 권한이 자동으로 부여됩니다. 조직에 패키지를 게시하는 경우 조직에서 owner 역할이 있는 모든 사용자는 패키지의 관리자 권한도 받습니다.
개인 계정 범위의 패키지는 모든 사용자에게 액세스 역할을 부여할 수 있습니다. 조직 범위의 패키지는 조직의 모든 사용자 또는 팀에게 액세스 역할을 부여할 수 있습니다.
GitHub Actions 워크플로를 사용하여 패키지를 관리하는 경우 워크플로가 패키지의 설정 “작업 액세스 관리” 아래 리포지토리 추가 버튼 사용에 저장된 리포지토리에 액세스 역할을 부여할 수 있습니다. 자세한 내용은 패키지의 액세스 제어 및 표시 여부 구성을(를) 참조하세요.
| Permission | 액세스 설명 |
|---|---|
| 읽기 | 패키지를 다운로드할 수 있습니다. 패키지 메타데이터를 읽을 수 있습니다. |
| 쓰기 | 이 패키지를 업로드하고 다운로드할 수 있습니다. 패키지 메타데이터를 읽고 쓸 수 있습니다. |
| 관리자 | 이 패키지를 업로드, 다운로드, 삭제 및 관리할 수 있습니다. 패키지 메타데이터를 읽고 쓸 수 있습니다. 패키지 권한을 부여할 수 있습니다. |
참고
GitHub Actions 워크플로에서 REST API를 사용하여 패키지를 삭제하고 복원하는 기능은 현재 공개 미리 보기 버전이며 변경될 수 있습니다.
개인 계정의 패키지에 대한 액세스 구성
개인 계정으로 범위가 지정된 패키지에 대한 관리자 권한이 있는 경우 읽기, 쓰기 또는 관리자 역할을 다른 사용자에게 할당할 수 있습니다. 이러한 권한 역할에 대한 자세한 내용은 액세스 권한 상속 정보를 참조하세요.
프라이빗 또는 내부 패키지로, 조직으로 범위가 지정된 경우 다른 조직 구성원 또는 팀에만 액세스 권한을 부여할 수 있습니다.
-
관리하려는 패키지의 이름을 검색한 다음 클릭합니다.
-
패키지 랜딩 페이지에서 오른쪽의 패키지 설정을 클릭합니다.

-
"액세스 관리" 또는 "상속된 액세스"에서 팀 또는 사용자 초대를 클릭하고 액세스 권한을 부여하려는 이름, 사용자 이름 또는 이메일을 입력합니다. 개인 계정으로 범위가 지정된 패키지에 대한 액세스 권한은 팀에 부여할 수 없습니다.
-
사용자 이름 또는 팀 이름 옆에 있는 역할 드롭다운 메뉴로 원하는 권한 수준을 선택합니다.
선택한 사용자는 자동으로 액세스 권한을 부여받게 되며 먼저 초대를 수락할 필요가 없습니다.
조직의 패키지에 대한 액세스 구성
조직으로 범위가 지정된 패키지에 대한 관리자 권한이 있는 경우 읽기, 쓰기 또는 관리자 역할을 다른 사용자 및 팀에 할당할 수 있습니다. 이러한 권한 역할에 대한 자세한 내용은 액세스 권한 상속 정보를 참조하세요.
프라이빗 또는 내부 패키지로, 조직으로 범위가 지정된 경우 다른 조직 구성원 또는 팀에만 액세스 권한을 부여할 수 있습니다.
-
GitHub에서 조직의 기본 페이지로 이동합니다.
-
조직 이름에서 패키지 탭을 클릭합니다.

-
관리하려는 패키지의 이름을 검색한 다음 클릭합니다.
-
패키지 랜딩 페이지에서 오른쪽의 패키지 설정을 클릭합니다.

-
"액세스 관리" 또는 "상속된 액세스"에서 팀 또는 사용자 초대를 클릭하고 액세스 권한을 부여하려는 이름, 사용자 이름 또는 이메일을 입력합니다. 조직의 팀 이름을 입력하여 모든 팀원에게 액세스 권한을 부여할 수도 있습니다.
-
사용자 이름 또는 팀 이름 옆에 있는 역할 드롭다운 메뉴로 원하는 권한 수준을 선택합니다.
선택한 사용자 또는 팀은 자동으로 액세스 권한을 부여받게 되며 먼저 초대를 수락할 필요가 없습니다.
패키지가 리포지토리에서 사용 권한을 상속할지 여부 선택
기본적으로 리포지토리에 연결된 패키지를 게시하는 경우 패키지는 연결된 리포지토리의 액세스 권한을 상속합니다. 패키지에 대한 액세스를 관리하는 프로세스가 간소화되므로 패키지가 리포지토리에서 권한을 상속하도록 하는 것이 좋습니다.
패키지가 리포지토리에서 권한을 상속하는 경우 패키지에 대한 액세스 권한을 부여하거나 제거하려면 연결된 리포지토리의 권한을 구성해야 합니다.
연결된 리포지토리와 별도로 세분화된 수준에서 패키지의 액세스 설정을 구성하려면 패키지에서 상속된 권한을 제거해야 합니다.
참고
패키지가 액세스 권한을 가져오는 방법을 변경하면 패키지에 대한 기존 사용 권한을 덮어씁니다.
개인 계정으로 범위가 지정된 패키지의 상속 설정 선택
-
GitHub에서 개인 계정의 기본 페이지로 이동합니다.
-
GitHub의 오른쪽 위 모서리에서 프로필 사진을 클릭한 다음, Your profile을 클릭합니다.

-
프로필 페이지의 헤더에서 패키지 탭을 클릭합니다.
-
관리하려는 패키지의 이름을 검색한 다음 클릭합니다.
-
패키지 랜딩 페이지에서 오른쪽의 패키지 설정을 클릭합니다.

-
연결된 리포지토리에서 패키지가 액세스 권한을 상속할지 여부를 선택하려면 "액세스 관리" 또는 "상속된 액세스"에서 리포지토리에서 액세스 상속을 선택하거나 선택 취소합니다(권장).
참고
이 섹션의 이름은 리포지토리의 사용 권한을 패키지가 상속했는지 여부에 따라 변경됩니다.
조직으로 범위가 지정된 패키지의 상속 설정 선택
팁
조직의 소유자인 경우 조직으로 범위가 지정된 모든 새 패키지가 연결된 리포지토리에서 사용 권한을 자동으로 상속하지 못하도록 할 수 있습니다. 자세한 내용은 아래에서 조직에서 액세스 권한의 자동 상속을 사용하지 않도록 설정을 참조하세요.
-
GitHub에서 조직의 기본 페이지로 이동합니다.
-
조직 이름에서 패키지 탭을 클릭합니다.

-
관리하려는 패키지의 이름을 검색한 다음 클릭합니다.
-
패키지 랜딩 페이지에서 오른쪽의 패키지 설정을 클릭합니다.

-
연결된 리포지토리에서 패키지가 액세스 권한을 상속할지 여부를 선택하려면 "액세스 관리" 또는 "상속된 액세스"에서 리포지토리에서 액세스 상속을 선택하거나 선택 취소합니다(권장).
참고
이 섹션의 이름은 리포지토리의 사용 권한을 패키지가 상속했는지 여부에 따라 변경됩니다.
조직에서 액세스 권한의 자동 상속을 사용하지 않도록 설정
기본적으로 리포지토리에 연결된 패키지를 게시하는 경우 패키지는 연결된 리포지토리의 액세스 권한을 자동으로 상속합니다. 조직 소유자는 조직으로 범위가 지정된 모든 패키지에 대해 자동 상속을 사용하지 않도록 설정할 수 있습니다.
액세스 권한의 자동 상속을 사용하지 않도록 설정하면 조직으로 범위가 지정된 새 패키지가 연결된 리포지토리의 사용 권한을 자동으로 상속하지 않습니다. 하지만 조직의 패키지에 대한 관리자 권한이 있는 모든 사용자는 해당 패키지에 대한 권한 상속을 사용하거나 사용하지 않도록 설정할 수 있습니다.
- GitHub의 오른쪽 위 모서리에서 프로필 사진을 클릭한 다음, Your organizations를 클릭합니다.
- 조직 옆에 있는 설정을 클릭합니다.
- 사이드바의 "Code, planning, and automation" 섹션에서 Packages를 클릭합니다.
- "기본 패키지 설정"에서 원본 리포지토리에서 액세스 상속의 선택을 취소합니다.
- 저장을 클릭합니다.
패키지에 대한 워크플로 액세스 보장
개인 계정 또는 조직으로 범위가 지정된 패키지의 경우 GitHub Actions 워크플로가 패키지에 액세스할 수 있도록 하려면 워크플로가 저장되는 리포지토리에 대한 명시적 액세스 권한을 부여해야 합니다.
지정된 리포지토리는 패키지의 소스 코드가 유지되는 리포지토리일 필요가 없습니다. 패키지에 여러 리포지토리 워크플로 액세스 권한을 부여할 수 있습니다.
리포지토리에 연결된 패키지를 게시하는 경우 조직에서 액세스 권한의 자동 상속을 사용하지 않도록 설정하지 않은 한 연결된 리포지토리의 GitHub Actions 워크플로에 패키지에 대한 액세스 권한이 자동으로 부여됩니다. 자세한 내용은 위의 액세스 권한 상속 정보를 참조하세요.
참고
- 패키지를 리포지토리 패키지의 설정 “작업 액세스 관리” 아래 리포지토리 추가 버튼 사용과(와) 동기화하는 것은 패키지를 리포지토리에 연결하는 것과 다릅니다. 리포지토리를 패키지에 연결하는 방법에 대한 자세한 내용은 리포지토리를 패키지에 연결을(를) 참조하세요.
permissions키 및packages범위를 사용하여 워크플로 작업에 대한 권한을 제한하도록 선택할 수 있습니다. 자세한 내용은 워크플로에서 인증에 GITHUB_TOKEN 사용을(를) 참조하세요.- 프라이빗 패키지에 퍼블릭 리포지토리 액세스 권한을 부여하는 경우 리포지토리의 포크가 프라이빗 패키지에 액세스할 수 있습니다.
개인 계정으로 범위가 지정된 패키지에 대한 GitHub Actions 액세스 권한
-
관리하려는 패키지의 이름을 검색한 다음 클릭합니다.
-
패키지 랜딩 페이지에서 오른쪽의 패키지 설정을 클릭합니다.

-
워크플로가 패키지에 액세스할 수 있도록 하려면 워크플로가 저장되는 리포지토리를 추가해야 합니다. "작업 액세스 관리"에서 리포지토리 추가를 클릭하여 추가할 리포지토리를 검색합니다. 패키지 설정 페이지의 "작업 액세스 관리" 섹션

-
Use 역할 드롭다운 메뉴를 사용하여 패키지에 대해 리포지토리에 부여할 기본 액세스 수준을 선택합니다.
패키지에 대한 액세스를 추가로 사용자 지정하려면 개인 계정의 패키지에 대한 액세스 구성을 참조하세요.
조직으로 범위가 지정된 패키지에 대한 GitHub Actions 액세스 권한
-
GitHub에서 조직의 기본 페이지로 이동합니다.
-
조직 이름에서 패키지 탭을 클릭합니다.

-
관리하려는 패키지의 이름을 검색한 다음 클릭합니다.
-
패키지 랜딩 페이지에서 오른쪽의 패키지 설정을 클릭합니다.

-
"작업 액세스 관리"에서 리포지토리 추가를 클릭하여 추가할 리포지토리를 검색합니다. 패키지 설정 페이지의 "작업 액세스 관리" 섹션

-
Use 역할 드롭다운 메뉴를 사용하여 패키지에 대해 리포지토리에 부여할 기본 액세스 수준을 선택합니다.
패키지에 대한 액세스를 추가로 사용자 지정하려면 조직의 패키지에 대한 액세스 구성을 참조하세요.
패키지에 대한 GitHub Codespaces 액세스 확인
기본적으로 codespace는 액세스 상속 옵션이 선택되어 있는 동일한 리포지토리에 게시된 패키지와 같이 세분화된 권한을 지원하는 레지스트리의 특정 패키지에 원활하게 액세스할 수 있습니다. 세분화된 권한과 원활한 GitHub Codespaces 액세스를 지원하는 GitHub Packages 레지스트리 목록은 GitHub 패키지에 대한 사용 권한 정보을(를) 참조하세요.
액세스가 가능하지 않은 경우 codespace가 패키지에 액세스할 수 있도록 하려면 codespace가 시작되는 리포지토리에 대한 액세스 권한을 부여해야 합니다.
지정된 리포지토리는 패키지의 소스 코드가 유지되는 리포지토리일 필요가 없습니다. 여러 리포지토리의 codespace에 패키지에 대한 액세스 권한을 부여할 수 있습니다.
리포지토리의 codespace와 공유하려는 패키지를 선택하면 해당 리포지토리 액세스 권한을 부여할 수 있습니다.
-
관리하려는 패키지의 이름을 검색한 다음 클릭합니다.
-
패키지 랜딩 페이지에서 오른쪽의 패키지 설정을 클릭합니다.

-
“Codespaces 액세스 관리”에서 리포지토리 추가를 클릭합니다.

-
추가할 리포지토리를 검색합니다.
-
액세스를 허용하려는 추가 리포지토리에 동일한 단계를 반복합니다.
-
리포지토리의 codespace가 더 이상 패키지에 액세스할 필요가 없는 경우 액세스를 제거할 수 있습니다. 를 클릭합니다.

개인 계정에 대한 패키지 표시 여부 구성
개인 계정으로 범위가 지정된 패키지를 처음 게시할 때 기본 표시 여부는 프라이빗이므로 사용자만 패키지를 볼 수 있습니다. 액세스 설정을 변경하여 프라이빗 또는 퍼블릭 패키지의 액세스를 수정할 수 있습니다.
-
관리하려는 패키지의 이름을 검색한 다음 클릭합니다.
-
패키지 랜딩 페이지에서 오른쪽의 패키지 설정을 클릭합니다.

-
페이지 아래쪽의 "위험 영역"에서 표시 여부 변경을 클릭합니다.
-
표시 여부 설정을 선택합니다.
-
패키지를 모든 사용자에게 표시하려면 퍼블릭을 선택합니다.
경고
패키지를 퍼블릭으로 설정한 후에는 다시 프라이빗으로 설정할 수 없습니다.
-
사용자 지정한 사용자 그룹에게 패키지를 표시하려면 프라이빗을 선택합니다.
-
-
확인하려면 패키지 이름을 입력한 후 결과를 이해하고 있으며 표시 여부를 변경합니다를 클릭합니다.
조직 구성원에 대한 패키지 만들기 표시 여부
세분화된 권한을 지원하는 레지스트리의 경우 조직 멤버가 기본적으로 게시할 수 있는 패키지의 표시 여부를 선택할 수 있습니다. 이러한 레지스트리의 목록은 GitHub 패키지에 대한 사용 권한 정보을(를) 참조하세요.
- GitHub의 오른쪽 위 모서리에서 프로필 사진을 클릭한 다음, Your organizations를 클릭합니다.
- 조직 옆에 있는 설정을 클릭합니다.
- 왼쪽에서 패키지를 클릭합니다.
- “패키지 만들기”에서 퍼블릭, 프라이빗 또는 내부 패키지 만들기 중 사용 설정 항목을 선택합니다.
-
조직 구성원이 퍼블릭 패키지를 만들 수 있도록 하려면 퍼블릭을 클릭합니다.
-
조직 구성원이 다른 조직 구성원에게만 표시되는 프라이빗 패키지를 만들 수 있도록 하려면 프라이빗을 클릭합니다. 프라이빗 패키지의 표시 여부를 추가로 사용자 지정할 수 있습니다.
-
조직 구성원이 모든 조직 멤버에게 표시되는 내부 패키지를 만들 수 있도록 하려면 내부를 클릭합니다. 조직이 엔터프라이즈에 속하는 경우 패키지는 모든 엔터프라이즈 멤버에게 표시됩니다.
참고
Maven 및 Gradle은 현재 퍼블릭 및 프라이빗 리포지토리 표시 여부에 대해서만 지원됩니다. 내부 리포지토리 표시 여부는 지원되지 않습니다.
-
조직에 대한 패키지의 표시 여부 구성
패키지를 처음 게시할 때 기본 표시 여부는 프라이빗이므로 사용자만 패키지를 볼 수 있습니다. 액세스 설정을 통해 사용자 또는 팀에게 패키지에 대한 다양한 액세스 역할을 부여할 수 있습니다. 패키지를 퍼블릭으로 설정한 후에는 패키지를 다시 프라이빗으로 설정할 수 없습니다.
-
GitHub에서 조직의 기본 페이지로 이동합니다.
-
조직 이름에서 패키지 탭을 클릭합니다.

-
관리하려는 패키지의 이름을 검색한 다음 클릭합니다.
-
패키지 랜딩 페이지에서 오른쪽의 패키지 설정을 클릭합니다.

-
페이지 아래쪽의 "위험 영역"에서 표시 여부 변경을 클릭하고 표시 여부 설정을 선택합니다.
-
패키지를 모든 사용자에게 표시하려면 퍼블릭을 클릭합니다.
경고
패키지를 퍼블릭으로 설정한 후에는 다시 프라이빗으로 설정할 수 없습니다.
-
조직에서 선택한 사용자에게 패키지를 표시하려면 프라이빗을 클릭합니다.
-
패키지를 모든 조직 멤버에게 표시하려면 내부를 클릭합니다. 조직이 엔터프라이즈에 속하는 경우 패키지는 모든 엔터프라이즈 멤버에게 표시됩니다.
-