{"meta":{"title":"Sobre permissões para o GitHub Packages","intro":"Saiba como gerenciar as permissões dos seus pacotes.","product":"GitHub Packages","breadcrumbs":[{"href":"/pt/packages","title":"GitHub Packages"},{"href":"/pt/packages/learn-github-packages","title":"Aprenda sobre o GitHub Packages"},{"href":"/pt/packages/learn-github-packages/about-permissions-for-github-packages","title":"Sobre permissões"}],"documentType":"article"},"body":"# Sobre permissões para o GitHub Packages\n\nSaiba como gerenciar as permissões dos seus pacotes.\n\nAs permissões para pacotes podem ter como escopo um usuário, uma organização ou um repositório.\n\n## Permissões granulares para pacotes destinados a usuários/organizações\n\nPacotes com permissões granulares são atribuídos a uma conta pessoal ou 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.\n\nGitHub Packages Os registros a seguir dão suporte a permissões granulares.\n\n* Container registry\n* registro npm <!-- markdownlint-disable-line GHD034 -->\n* Registro do NuGet\n* Registro RubyGems\n\n## Permissões para pacotes com escopo do repositório\n\nUm pacote com escopo de repositório herda as permissões e a visibilidade do repositório no qual ele foi publicado. Encontre um pacote com escopo para um repositório acessando a página principal do repositório e clicando no link **Pacotes** à direita da página.\nPara obter mais informações, consulte [Conectar um repositório a um pacote](/pt/packages/learn-github-packages/connecting-a-repository-to-a-package).\n\nOs registros a seguir GitHub Packages**dão suporte apenas** a permissões com escopo de repositório.\n\n* Registro do Apache Maven\n* Registro Gradle\n\nPara outros registros, você pode optar por permitir que os pacotes sejam definidos como escopo para um usuário ou uma organização ou vinculados a um repositório.\n\n## Visibilidade e permissões de acesso para pacotes\n\nSe um pacote pertencer a um registro que dá suporte a permissões granulares, qualquer pessoa com permissões de administrador para o pacote poderá defini-lo como privado ou público e conceder permissões de acesso separadas das permissões definidas nos níveis de organização e repositório. Para ver a lista dos registros que dão suporte a permissões granulares, confira [Sobre permissões para o GitHub Packages](/pt/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages).\n\nNa maioria dos registros, para efetuar pull de um pacote, você deve autenticá-lo com um personal access token ou `GITHUB_TOKEN`, independentemente de o pacote ser público ou privado. No entanto, no Container registry, os pacotes públicos permitem acesso anônimo e podem ser extraídos sem autenticação ou logon por meio da CLI.\n\n> \\[!NOTE]\n> Se você publicar um pacote vinculado a um repositório, o pacote herdará as permissões do repositório vinculado por padrão. Para acessar as configurações de permissões granulares do pacote, você precisa remover as permissões herdadas do pacote. Se você for o proprietário de uma organização, poderá desabilitar a herança automática de permissões para todos os novos pacotes que têm como escopo a sua organização. Para saber mais, confira [Configurando o controle de acesso e visibilidade de um pacote](/pt/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility#selecting-whether-a-package-inherits-permissions-from-a-repository) e [Configurando o controle de acesso e visibilidade de um pacote](/pt/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility#disabling-automatic-inheritance-of-access-permissions-in-an-organization).\n\nAo publicar um pacote, você obtém automaticamente permissões de administrador para ele. Se você publicar um pacote em uma organização, qualquer pessoa com a função `owner` na organização também obterá permissões de administrador para o pacote.\n\nPara pacotes com escopo definido para uma conta pessoal, você pode dar uma função de acesso a qualquer pessoa. Para pacotes com escopo definido para uma organização, você pode dar uma função de acesso a qualquer pessoa ou equipe na organização.\n\nSe você estiver usando um fluxo de trabalho do GitHub Actions para gerenciar seus pacotes, poderá conceder uma função de acesso ao repositório no qual o fluxo de trabalho está armazenado no usando o botão **Adicionar Repositório** em \"Gerenciar acesso a Ações\" nas configurações do pacote. Para saber mais, confira [Configurando o controle de acesso e visibilidade de um pacote](/pt/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility#ensuring-workflow-access-to-your-package).\n\n| Permissão | Descrição do acesso                                                                                                                                |\n| --------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Ler       | Pode fazer o download do pacote. <br> Pode ler metadados do pacote.                                                                                |\n| Gravar    | Pode fazer upload e download deste pacote. <br> Pode ler e gravar metadados do pacote.                                                             |\n| Admin     | Pode fazer upload, download, excluir e gerenciar este pacote. <br> Pode ler e gravar metadados do pacote. <br> Pode conceder permissões de pacote. |\n\n> \\[!NOTE]\n> A capacidade dos fluxos de trabalho do GitHub Actions de excluir e restaurar pacotes usando a API REST está em prévia pública e está sujeita a alterações.\n\nPara saber mais, confira [Configurando o controle de acesso e visibilidade de um pacote](/pt/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility).\n\n## Sobre escopos e permissões para registros de pacotes\n\n> \\[!NOTE]\n> GitHub Packages só dá suporte à autenticação usando um personal access token (classic). Para saber mais, confira [Gerenciar seus tokens de acesso pessoal](/pt/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens).\n\nPara usar ou gerenciar um pacote hospedado por um registro de pacote, você deve usar um personal access token (classic) com o escopo apropriado e sua conta pessoal deve ter permissões apropriadas.\n\nPor exemplo:\n\n* Para baixar e instalar pacotes de um repositório, seu personal access token (classic) deve ter o escopo `read:packages`, e sua conta de usuário deve ter permissão de leitura.\n* Para excluir um pacote, seu personal access token (classic) deve ter pelo menos o escopo `delete:packages` e `read:packages`. Para saber mais, confira [Excluir e restaurar um pacote](/pt/packages/learn-github-packages/deleting-and-restoring-a-package).\n\n| Scope             | Descrição                                        | Permissão necessária |\n| ----------------- | ------------------------------------------------ | -------------------- |\n| `read:packages`   | Baixar e instalar pacotes de GitHub Packages     | leitura              |\n| `write:packages`  | Carregar e publicar pacotes para GitHub Packages | gravação             |\n| `delete:packages` | Excluir pacotes de GitHub Packages               | administrador        |\n\n> \\[!NOTE]\n> A capacidade dos fluxos de trabalho do GitHub Actions de excluir e restaurar pacotes usando a API REST está em prévia pública e está sujeita a alterações.\n\nAo criar um fluxo de trabalho GitHub Actions, você pode usar o `GITHUB_TOKEN` para publicar, instalar, excluir e restaurar pacotes no GitHub Packages sem precisar armazenar e gerenciar um personal access token.\n\nPara obter mais informações, consulte:\n\n* [Configurando o controle de acesso e visibilidade de um pacote](/pt/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility)\n* [Publicar e instalar um pacote no GitHub Actions](/pt/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions)\n* [Gerenciar seus tokens de acesso pessoal](/pt/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens)\n* [Escopos para aplicativos OAuth](/pt/apps/oauth-apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes)\n\n## Sobre transferências de repositório\n\nVocê pode transferir um repositório para outra conta pessoal ou organização. Para saber mais, confira [Transferir um repositório](/pt/repositories/creating-and-managing-repositories/transferring-a-repository).\n\nQuando você transfere um repositório, GitHub pode transferir os pacotes associados ao repositório, dependendo do registro ao qual os pacotes pertencem.\n\n* Para Registros que dão suporte a permissões granulares, os pacotes têm como escopo uma conta pessoal ou uma organização, e a conta associada ao pacote não é alterada quando você transfere um repositório. Se você tiver vinculado um pacote a um repositório, o link será removido quando você transferir o repositório para outro usuário. Todos os codespaces ou GitHub Actions fluxos de trabalho associados ao repositório perderão acesso ao pacote. Se o pacote herdou as permissões de acesso do repositório vinculado, os usuários perderão o acesso ao pacote. Para ver a lista desses registros, confira [Permissões granulares para pacotes com escopo de usuário/organização](#granular-permissions-for-userorganization-scoped-packages) acima.\n* Para registros que dão suporte apenas a permissões com escopo de repositório, os pacotes são publicados diretamente em repositórios e GitHub transferem os pacotes associados a um repositório como parte da transferência do repositório. Todo o uso faturável associado aos pacotes de software será cobrado do novo proprietário do repositório. Se o proprietário do repositório anterior for removido como colaborador no repositório, talvez ele não consiga mais acessar os pacotes associados ao repositório. Para obter a lista desses registros, confira [Permissões para pacotes com escopo de repositório](#permissions-for-repository-scoped-packages) acima.\n\n## Mantendo o acesso a pacotes nos GitHub Actions fluxos de trabalho\n\nPara garantir que seus fluxos de trabalho mantenham o acesso aos pacotes, verifique se você está usando o token de acesso certo no fluxo de trabalho e se você habilitou GitHub Actions o acesso ao pacote.\n\nPara obter mais informações conceituais sobre GitHub Actions ou exemplos de como usar pacotes em fluxos de trabalho, consulte [Gerenciar pacotes do GitHub usando fluxos de trabalho do GitHub Actions](/pt/packages/managing-github-packages-using-github-actions-workflows).\n\n### Tokens de acesso\n\n> \\[!NOTE]\n> A capacidade dos fluxos de trabalho do GitHub Actions de excluir e restaurar pacotes usando a API REST está em prévia pública e está sujeita a alterações.\n\n* Para publicar, instalar, excluir e restaurar pacotes associados ao repositório de fluxo de trabalho, use o `GITHUB_TOKEN`.\n* Para instalar pacotes associados a outros repositórios privados que `GITHUB_TOKEN` não podem ser acessados, use um personal access token (classic)\n\nPara obter mais informações sobre `GITHUB_TOKEN` usado em fluxos de trabalho de GitHub Actions, consulte [Usar GITHUB\\_TOKEN para autenticação em fluxos de trabalho](/pt/actions/tutorials/authenticate-with-github_token#using-the-github_token-in-a-workflow).\n\n### GitHub Actions acesso a pacotes com permissões granulares\n\nPara garantir que seus fluxos de trabalho tenham acesso a pacotes armazenados em registros que dão suporte a permissões granulares, você deve conceder GitHub Actions acesso aos repositórios em que o fluxo de trabalho é executado. Você pode encontrar essa configuração na página de configurações do seu pacote. Para saber mais, confira [Configurando o controle de acesso e visibilidade de um pacote](/pt/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility#ensuring-workflow-access-to-your-package)."}