Los permisos de los paquetes pueden ser con alcance de repositorio o de usuario/organización.
Permisos para los paquetes con alcance de repositorio
Un paquete con alcance de repositorio hereda los permisos y la visibilidad del repositorio al que pertenece el paquete. Puedes encontrar un paquete con alcance de un repositorio específico si vas a la página principal de este y haces clic en el enlace de Paquetes a la derecha de la página. Para obtener más información, consulta la sección "Conectar un repositorio con un paquete".
Los registros del Registro del paquete de GitHub que se mencionan a continuación utilizan permisos con alcance de repositorio:
- Docker registry (
docker.pkg.github.com
) - Registro de npm
- Registro de RubyGems
- Registro de Apache maven
- Registro de NuGet
Permisos granulares para paquetes con alcance de organización/usuario
Los paquetes con permisos granulares tienen un alcance de una cuenta personal o de organización. Puedes cambiar el control de accesos y la visibilidad del paquete de forma separada desde un repositorio que esté conectado (o enlazado) a un paquete.
Actualmente, solo el Registro de contenedores ofrece permisos granulares para tus paquetes de imagen de contenedor.
Permisos de visibilidad y acceso para las imágenes de contenedor
Si tienes permisos administrativos en una imagen de contenedor, peudes configurar los permisos de acceso para la imagen de contenedor en privados o públicos. Las imágenes públicas permiten el acceso anónimo y pueden extraerse sin autenticación o ingresar a ellas através del CLI.
Como administrador, también puedes otorgar permisos de acceso para una imagen de contenedor que esté separada de los permisos que configuraste a nivel de organización y de repositorio.
Para el caso de las imágenes que publique y le pertenezcan a una cuenta personal, puedes darle un rol de acceso a cualquier persona. Puedes otorgar un rol de acceso a cualquier persona o equipo en la organización para las imágenes de contenedor que pertenecen a, o que publica una cuenta de usuario.
Permiso | Descripción del acceso |
---|---|
Read | Puede descargar el paquete. Puede leer los metadatos del paquete. |
Escritura | Puede cargar y descargar este paquete. Puede leer y escribir metadatos del paquete. |
Admin | Puede cargar, descargar, borrar y administrar este paquete. Puede leer y escribir metadatos del paquete. Puede otorgar permisos del paquete. |
Para obtener más información, consulta la sección "Configurar el control de accesos y la visibilidad de un paquete".
Administrar paquetes
Para utilizar o administrar un paquete que hospede un registro de paquetes, debes utilizar un token con el alcance adecuado y tu cuenta personal debe tener permisos adecuados.
Por ejemplo:
- Para descargar e instalar los paquetes desde un repositorio, tu token debe tener el alcance de
read:packages
y tu cuenta de usuario debe tener permisos de lectura. - |Para borrar un paquete en GitHub Enterprise Cloud, tu token deberá tener por lo menos los alcances de
delete:packages
yread:packages
. El alcance derepo
también se requiere para los paquetes con esta característica. Para obtener más información, consulta la sección "Borrar y restablecer un paquete". | Ámbito | Descripción | Permiso requerido | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | ----------------- | |read:packages
| Descarga e instala paquetes de Registro del paquete de GitHub | lectura | |write:packages
| Carga y publica paquetes en Registro del paquete de GitHub | escritura | |delete:packages
| | | | Borrar paquetes del Registro del paquete de GitHub | | | | admin | | | |repo
| Carga y borra los paquetes (junto con loswrite:packages
, o losdelete:packages
) | escritura o admin |
Cuando creas un flujo de trabajo de GitHub Actions, puedes usar el GITHUB_TOKEN
para publicar e instalar paquetes en Registro del paquete de GitHub sin la necesidad de almacenar y administrar un token de acceso personal.
Para obtener más información, consulta:
- "Configurar el control de accesos y la visibilidad de un paquete"
- "Publicar e instalar un paquete con GitHub Actions"
- "Crear un token de acceso personal"
- Tu paquete publicado contiene datos confidenciales, como violaciones del RGPD, claves de API o información de identificación personal
Mantener el acceso a los paquetes en los flujos de trabajo de GitHub Actions
Para garantizar que tus flujos de trabajo mantendrán el acceso a tus paquetes, asegúrate de que estás utilizando el token de acceso correcto en tu flujo de trabajo y de haber habilitado el acceso a las GitHub Actions para tu paquete.
Para ver un antecedente más conceptual en GitHub Actions o encontrar ejemplos de uso de paquetes en los flujos de trabajo, consulta la sección "Administrar los Paquetes de GitHub utilizando flujos de trabajo de Github Actions".
Tokens de acceso
- Para publicar paquetes asociados con el repositorio del flujo de trabajo, utiliza un
GITHUB_TOKEN
. - Para instalar paquetes asociados con otros repositorios privados a los cuales no puede acceder el
GITHUB_TOKEN
, utiliza un token de acceso personal
Para obtener más información sobre el GITHUB_TOKEN
que se utiliza en los flujos de trabajo de GitHub Actions, consulta la sección "Autenticarse en un flujo de trabajo".
Acceso a las GitHub Actions para las imágenes de contenedor
Para garantizar que tus flujos de trabajo tienen acceso a tu imagen de contenedor, debes habilitar el acceso a las GitHub Actions para los repositorios en donde se ejecuta tu flujo de trabajo. Puedes encontrar este ajuste en la página de configuración de tu paquete. Para obtener más información, consulta la sección "Garantizar el acceso de los flujos de trabajo a tu paquete".