Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Controles de origen de grupos de paquetes
Los controles de origen de los paquetes se utilizan para configurar la forma en que las versiones de los paquetes pueden ingresar en un dominio. Puede configurar los controles de origen en un grupo de paquetes para configurar la forma en que las versiones de cada paquete asociado al grupo de paquetes puede ingresar en los repositorios específicos del dominio.
La configuración de los controles de origen del grupo de paquetes consta de lo siguiente:
Configuración de restricción: esta configuración define si los paquetes pueden ingresar a un repositorio de CodeArtifact desde fuentes de publicación internas o desde repositorios externos públicos.
Listas de repositorios permitidos: cada configuración de restricción se puede definir para permitir repositorios específicos. Si se define una configuración de restricción para permitir repositorios específicos, dicha restricción tendrá la lista de repositorios permitidos correspondiente.
nota
La configuración de los controles de origen de los grupos de paquetes es ligeramente diferente de la configuración de los controles de origen de los paquetes independientes. Para obtener más información sobre la configuración de los controles de origen para paquetes, consulte Configuración de los controles de origen del paquete.
Configuración de restricción
La configuración de restricción de la configuración de los controles de origen de un grupo de paquetes determina cómo los paquetes asociados a ese grupo pueden ingresar en los repositorios del dominio.
PUBLISH
La configuración PUBLISH determina si las versiones de los paquetes se pueden publicar directamente en cualquier repositorio del dominio mediante administradores de paquetes o herramientas similares.
ALLOW: las versiones de los paquetes se pueden publicar directamente en todos los repositorios.
BLOCK: las versiones de los paquetes no se pueden publicar directamente en ningún repositorio.
ALLOW_SPECIFIC_REPOSITORIES: las versiones de los paquetes solo se pueden publicar directamente en los repositorios especificados en la lista de repositorios permitidos para su publicación.
INHERIT: la configuración
PUBLISHse hereda del primer grupo de paquetes principal con una configuración distinta aINHERIT.
EXTERNAL_UPSTREAM
La configuración EXTERNAL_UPSTREAM determina si las versiones de los paquetes pueden ingerirse desde repositorios públicos externos cuando lo solicite un administrador de paquetes. Para ver una lista de los repositorios externos admitidos, consulte Repositorios de conexiones externas compatibles.
ALLOW: se puede ingerir cualquier versión de los paquetes en todos los repositorios desde una fuente pública con una conexión externa.
BLOCK: no se pueden ingerir versiones de los paquetes en ningún repositorio desde una fuente pública con una conexión externa.
ALLOW_SPECIFIC_REPOSITORIES: las versiones de los paquetes solo se pueden ingerir desde un origen público a los repositorios especificados en la lista de repositorios permitidos para secuencias ascendentes externas.
INHERIT: la configuración
EXTERNAL_UPSTREAMse hereda del primer grupo de paquetes principal con una configuración distinta aINHERIT.
INTERNAL_UPSTREAM
La configuración INTERNAL_UPSTREAM determina si las versiones de los paquetes pueden conservarse desde los repositorios originales internos en el mismo dominio de CodeArtifact cuando lo solicite un administrador de paquetes.
ALLOW: cualquier versión de los paquetes se puede conservar de otros repositorios de CodeArtifact configurados como repositorios ascendentes.
BLOCK: las versiones de los paquetes no se pueden conservar de otros repositorios de CodeArtifact configurados como repositorios ascendentes.
ALLOW_SPECIFIC_REPOSITORIES: las versiones de los paquetes solo se pueden conservar desde otros repositorios de CodeArtifact configurados como repositorios ascendentes en los repositorios especificados en la lista de repositorios permitidos para las secuencias ascendentes internas.
INHERIT: la configuración
INTERNAL_UPSTREAMse hereda del primer grupo de paquetes principal con una configuración distinta aINHERIT.
Listas de repositorios permitidos
Cuando una configuración de restricción se define comoALLOW_SPECIFIC_REPOSITORIES, el grupo de paquetes contiene una lista de repositorios permitidos adjunta donde se enumeran los repositorios permitidos para esa configuración de restricción. Por lo tanto, un grupo de paquetes contiene entre 0 y 3 listas de repositorios permitidos, una para cada configuración establecida como ALLOW_SPECIFIC_REPOSITORIES.
Cuando agregue un repositorio a la lista de repositorios permitidos de un grupo de paquetes, debe especificar a qué lista de repositorios permitidos desea agregarlo.
Las listas de repositorios permitidos posibles son las siguientes:
EXTERNAL_UPSTREAM: permita o bloquee la ingesta de versiones de paquetes desde repositorios externos en el repositorio agregado.INTERNAL_UPSTREAM: permite o bloquee la extracción de versiones de paquetes de otro repositorio de CodeArtifact en el repositorio agregado.PUBLISH: permita o bloquee la publicación directa de versiones de paquetes desde los administradores de paquetes en el repositorio agregado.
Edición de la configuración de los controles de origen de los grupos de paquetes
Para agregar o editar controles de origen para un grupo de paquetes, siga los pasos que se indican en el siguiente procedimiento. Para obtener información sobre la configuración de los controles de origen de un grupo de paquetes, consulte Configuración de restricción y Listas de repositorios permitidos.
Cómo añadir o editar los controles de origen de un grupo de paquetes (CLI)
Si no lo ha hecho, configure AWS CLI siguiendo los pasos que se indican en Configuración con AWS CodeArtifact.
Utilice el comando
update-package-group-origin-configurationpara añadir o editar los controles de origen de los paquetes.Para
--domain, introduzca el dominio de CodeArtifact que contiene el grupo de paquetes que desea actualizar.Para
--domain-owner, introduzca el número de la cuenta del propietario del dominio.Para
--package-group, introduzca el grupo de paquetes que desea actualizar.Para
--restrictions, introduzca pares clave-valor que representen las restricciones de los controles de origen.Para
--add-allowed-repositories, introduzca un objeto JSON que contenga el tipo de restricción y el nombre del repositorio para añadirlo a la lista de repositorios permitidos correspondiente a la restricción.Para
--remove-allowed-repositories, introduzca un objeto JSON que contenga el tipo de restricción y el nombre del repositorio para eliminarlo de la lista de repositorios permitidos correspondiente a la restricción.
aws codeartifact update-package-group-origin-configuration \ --domainmy_domain\ --domain-owner111122223333\ --package-group'/nuget/*'\ --restrictionsINTERNAL_UPSTREAM=ALLOW_SPECIFIC_REPOSITORIES\ --add-allowed-repositories originRestrictionType=INTERNAL_UPSTREAM,repositoryName=my_repo\ --remove-allowed-repositories originRestrictionType=INTERNAL_UPSTREAM,repositoryName=my_repo2En el siguiente ejemplo, se añaden varias restricciones y varios repositorios en un solo comando.
aws codeartifact update-package-group-origin-configuration \ --domainmy_domain\ --domain-owner111122223333\ --package-group'/nuget/*'\ --restrictionsPUBLISH=BLOCK,EXTERNAL_UPSTREAM=ALLOW_SPECIFIC_REPOSITORIES,INTERNAL_UPSTREAM=ALLOW_SPECIFIC_REPOSITORIES\ --add-allowed-repositories originRestrictionType=INTERNAL_UPSTREAM,repositoryName=my_repooriginRestrictionType=INTERNAL_UPSTREAM,repositoryName=my_repo2\ --remove-allowed-repositories originRestrictionType=INTERNAL_UPSTREAM,repositoryName=my_repo2
Ejemplos de configuración de los controles de origen de grupos de paquetes
Los siguientes ejemplos muestran las configuraciones de los controles de origen de los paquetes para situaciones habituales de gestión de paquetes.
Permiso para que los paquetes con nombres privados se publiquen, pero no se ingieran
Es probable que esta situación sea habitual en la gestión de paquetes:
Permita que los paquetes con nombres privados se publiquen en los repositorios de su dominio desde administradores de paquetes e impida que se ingieran a los repositorios de su dominio desde repositorios públicos externos.
Permita que el resto de paquetes se ingieran a los repositorios de su dominio desde repositorios públicos externos e impida que se publiquen en los repositorios de su dominio desde administradores de paquetes de repositorios públicos externos.
Para ello, tiene que configurar un grupo de paquetes con un patrón que incluya los nombres privados y la configuración de origen de PUBLISH: ALLOW, EXTERNAL_UPSTREAM: BLOCK e INTERNAL_UPSTREAM: ALLOW. Así, garantizará que los paquetes con nombres privados se puedan publicar directamente, pero no se puedan ingerir desde repositorios externos.
Los comandos AWS CLI siguientes crean y configuran un grupo de paquetes con configuraciones de restricción de origen que coinciden con el comportamiento deseado:
Para crear el grupo de paquetes:
aws codeartifact create-package-group \ --domainmy_domain\ --package-group/npm/space/anycompany~\ --domain-owner111122223333\ --contact-infocontact@email.com | URL\ --description"my package group"
Para actualizar de la configuración del origen de un grupo de paquetes:
aws codeartifact update-package-group-origin-configuration \ --domainmy_domain\ --domain-owner111122223333\ --package-group'/npm/space/anycompany~'\ --restrictionsPUBLISH=ALLOW,EXTERNAL_UPSTREAM=BLOCK,INTERNAL_UPSTREAM=ALLOW
Permiso para la ingesta desde repositorios externos a través de un repositorio
En esta situación, su dominio tiene varios repositorios. De esos repositorios, repoA tiene una conexión ascendente a repoB, que tiene una conexión externa al repositorio público (npmjs.com) como se muestra a continuación:
repoA --> repoB --> npmjs.com
Desea permitir la ingesta de paquetes desde un grupo de paquetes específico, /npm/space/anycompany~ desde npmjs.com hacia repoA, pero solo a través de repoB. También quiere bloquear la ingesta de paquetes asociados al grupo de paquetes en cualquier otro repositorio de su dominio, así como la publicación directa de paquetes con administradores de paquetes. Para ello, debe crear y configurar el grupo de paquetes de la siguiente manera:
Configuración de restricción del origen de PUBLISH: BLOCK, EXTERNAL_UPSTREAM: ALLOW_SPECIFIC_REPOSITORIES e INTERNAL_UPSTREAM: ALLOW_SPECIFIC_REPOSITORIES.
repoA y repoB se agregaron a la lista de repositorios permitidos correspondiente:
repoAdebería añadirse a la listaINTERNAL_UPSTREAM, ya que obtendrá los paquetes de su secuencia ascendente interna,repoB.repoBdebería añadirse a la listaEXTERNAL_UPSTREAM, ya que obtendrá los paquetes desde el repositorio externo,npmjs.com.
Los comandos AWS CLI siguientes crean y configuran un grupo de paquetes con configuraciones de restricción de origen que coinciden con el comportamiento deseado:
Para crear el grupo de paquetes:
aws codeartifact create-package-group \ --domainmy_domain\ --package-group/npm/space/anycompany~\ --domain-owner111122223333\ --contact-infocontact@email.com | URL\ --description"my package group"
Para actualizar de la configuración del origen de un grupo de paquetes:
aws codeartifact update-package-group-origin-configuration \ --domainmy_domain\ --domain-owner111122223333\ --package-group/npm/space/anycompany~\ --restrictionsPUBLISH=BLOCK,EXTERNAL_UPSTREAM=ALLOW_SPECIFIC_REPOSITORIES,INTERNAL_UPSTREAM=ALLOW_SPECIFIC_REPOSITORIES\ --add-allowed-repositories originRestrictionType=INTERNAL_UPSTREAM,repositoryName=repoAoriginRestrictionType=EXTERNAL_UPSTREAM,repositoryName=repoB
Cómo interactúa la configuración de los controles de origen de los grupos de paquetes con la configuración de los controles de origen de los paquetes
Como los paquetes y los grupos de paquetes tienen configuraciones de los controles de origen diferentes, es importante entender cómo interactúan ambas entre sí. Para obtener información sobre la interacción entre las configuraciones, consulte Cómo interactúan los controles de origen de los paquetes con los controles de origen de los grupos de paquetes.