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:
- Docker registry (
docker.pkg.github.com
) - 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.
For container images published and owned by a personal account, you can give any person an access role. 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ão | Descrição de acesso |
---|---|
Leitura | Pode fazer o download do pacote. Pode ler metadados do pacote. |
Gravação | Pode fazer upload e download deste pacote. Pode ler gravar metadados do pacote. |
Administrador | Pode 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 pessoal 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 Enterprise Cloud, o seu token deve ter pelo menos o escopo
delete:packages
eread:packages
. O escopo dorepositório
também é necessário para pacotes com escopo de repositório. Para obter mais informações, consulte "format@@0Excluindo e restaurando um pacote. | Escopo | Descrição | Permissão necessária | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | -------------------- | |read:packages
| Faça o download e instale pacotes do GitHub Package Registry | leitura | |write:packages
| Faça o upload e publique os pacotes em GitHub Package Registry | gravação | |delete:packages
| | | | Excluir pacotes de GitHub Package Registry | | | | administrador | | | |repo
| Faça o upload e exclua os pacotes (junto comwrite:packages
oudelete: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:
- "Configurar o controle de acesso e visibilidade de um pacote"
- "Publicando e instalando um pacote com GitHub Actions"
- "Criar um token de acesso pessoal"
- "Escopos disponíveis"
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".