Sobre permissões para o GitHub Packages

Saiba como gerenciar as permissões dos seus pacotes.

GitHub Package Registry está disponível com GitHub Free, GitHub Pro, GitHub Free para organizações, GitHub Team, GitHub Enterprise Cloud, GitHub Enterprise Server e GitHub AE.


O GitHub Package Registry não está disponível para repositórios privados de contas que utilizam planos antigos por-repositório. Além disso, as contas que usam os planos de legado por repositório não podem acessar o Container registry já que essas contas são cobradas por repositório. Para obter mais informações, consulte os "[produtos do GitHub](/articles/github-s-products)".

As permissões para pacotes são do escopo do repositório ou do escopo de usuário/organização.

Permissões para pacotes com escopo do repositório

Um pacote com escopo de repositório herda as permissões e visibilidade do repositório que possui o pacote. Você pode encontrar um escopo de pacote para um repositório, acessando a página principal do repositório e clicando no link Pacotes à direita da página. Para obter mais informações, consulte "Conectar um repositório a um pacote."

Os GitHub Package Registry registros abaixo usam permissões com escopo do repositório:

  • Registro de npm
  • Registro do Rubygems
  • Registro do Apache Maven
  • Registro do NuGet

Permissões granulares para pacotes com escopo de usuário/organização

Pacotes com permissões granulares são escopos para uma conta de usuário pessoal ou de organização. Você pode alterar o controle de acesso e a visibilidade do pacote separadamente de um repositório que está conectado (ou vinculado) a um pacote.

Atualmente, apenas o Container registry oferece permissões granulares para os seus pacotes de imagem de contêiner.

Visibilidade e permissões de acesso para imagens de contêiner

Se você tiver permissões de administrador para a imagem de um contêiner, você poderá definir as permissões de acesso para a imagem do contêiner como privada ou pública. As imagens públicas permitem acesso anônimo e podem ser carregadas sem autenticação ou login via CLI.

Como administrador, você também pode conceder permissões de acesso para uma imagem contêiner separada das permissões que você configurou nos níveis da organização e repositório.

Para imagens de contêiner publicadas e pertencentes a uma conta de usuário, você pode dar a qualquer pessoa uma função de acesso. Para imagens de contêineres publicadas e pertencentes a uma organização, você pode dar uma função de acesso a qualquer pessoa ou equipe na organização.

PermissãoDescrição de acesso
leituraPode fazer o download do pacote.
Pode ler metadados do pacote.
gravaçãoPode fazer upload e download deste pacote.
Pode ler gravar metadados do pacote.
administradorPode fazer upload, download, excluir e gerenciar este pacote.
Pode ler gravar metadados do pacote.
Pode conceder permissões de pacote.

Para obter mais informações, consulte "Configurar o controle de acesso e visibilidade de um pacote".

Sobre escopos e permissões para registros de pacotes

Para usar ou gerenciar um pacote hospedado por um registro de pacotes, você deve usar um token com o escopo apropriado, e sua conta de usuário deve ter as permissões necessárias.

Por exemplo:

  • Para fazer o download e instalar pacotes de um repositório, seu token deve ter o escopo read:packages e sua conta de usuário deve ter permissão de leitura.
  • Para excluir um pacote em GitHub, o seu token deve ter pelo menos o escopo delete:packages e read:packages. O escopo de repo também é necessário para pacotes com escopo de repositórios. Para obter mais informações, consulte "Excluir e restaurar um pacote."
EscopoDescriçãoPermissão necessária
read:packagesFaça o download e instale pacotes do GitHub Package Registryleitura
write:packagesFaça o upload e publique os pacotes em GitHub Package Registrygravação
delete:packages
Excluir pacotes de GitHub Package Registry
administrador
repoFaça o upload e exclua os pacotes (junto com write:packages ou delete:packages)gravação ou admin

Ao criar um fluxo de trabalho de GitHub Actions, você pode usar o GITHUB_TOKEN para publicar e instalar pacotes no GitHub Package Registry sem precisar armazenar e gerenciar um token de acesso pessoal.

Para mais informações, consulte:

Mantendo acesso a pacotes nos fluxos de trabalho de GitHub Actions

Para garantir que seus workflows mantenham o acesso aos seus pacotes, certifique-se de que você esteja usando o token de acesso correto do seu fluxo de trabalho e que você habilitou o acesso do GitHub Actions para o seu pacote.

Para obter um contexto mais conceitual sobre GitHub Actions ou exemplos do uso de pacotes nos fluxos de trabalho, consulte "Gerenciar o GitHub Packages usando fluxos de trabalho do GitHub Actions".

Tokens de acesso

  • Para publicar pacotes associados ao repositório do fluxo de trabalho, use GITHUB_TOKEN.
  • Para instalar pacotes associados a outros repositórios privados que GITHUB_TOKEN não consegue acessar, use um token de acesso pessoal

Para obter mais informações sobre GITHUB_TOKEN usado nos fluxos de trabalho de GitHub Actions, consulteAutenticação em um fluxo de trabalho".

Acesso a GitHub Actions para imagens de contêiner

Para garantir que seus fluxos de trabalho tenham acesso à imagem do contêiner, você deve permitir o acesso do GitHub Actions aos repositórios em que o seu fluxo de trabalho é executado. Você pode encontrar essa configuração na página de configurações do seu pacote. Para obter mais informações, consulte "Garantir o acesso do fluxo de trabalho para o seu pacote".

Esse documento ajudou você?

Política de Privacidade

Ajude-nos a tornar esses documentos ótimos!

Todos os documentos do GitHub são de código aberto. Você percebeu que algo que está errado ou não está claro? Envie um pull request.

Faça uma contribuição

Ou, aprenda como contribuir.