As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Controles de origem do grupo de pacotes
Os controles de origem do pacote são usados para configurar como as versões do pacote podem entrar em um domínio. Você pode configurar controles de origem em um grupo de pacotes para configurar como as versões de cada pacote associado ao grupo de pacotes podem entrar em repositórios específicos no domínio.
As configurações de controle de origem do grupo de pacotes consistem no seguinte:
Configurações de restrição: essas configurações definem se os pacotes podem entrar em um repositório a CodeArtifact partir da publicação, de upstreams internos ou de repositórios públicos externos.
Listas de repositórios permitidos: cada configuração de restrição pode ser definida para permitir repositórios específicos. Se uma configuração de restrição for definida para permitir repositórios específicos, essa restrição terá uma lista correspondente de repositórios permitidos.
nota
As configurações de controle de origem para grupos de pacotes são ligeiramente diferentes das configurações de controle de origem para pacotes individuais. Para obter mais informações sobre as configurações de controle de origem para pacotes, consulteConfigurações de controle de origem do pacote.
Configurações de restrição
As configurações de restrição das configurações de controle de origem de um grupo de pacotes determinam como os pacotes associados a esse grupo podem entrar nos repositórios no domínio.
PUBLISH
A PUBLISH
configuração configura se as versões do pacote podem ser publicadas diretamente em qualquer repositório no domínio usando gerenciadores de pacotes ou ferramentas similares.
ALLOW: as versões do pacote podem ser publicadas diretamente em todos os repositórios.
BLOCK: as versões do Package não podem ser publicadas diretamente em nenhum repositório.
ALLOW_ SPECIFIC _ REPOSITORIES: As versões do Package só podem ser publicadas diretamente nos repositórios especificados na lista de repositórios permitidos para publicação.
INHERIT: a
PUBLISH
configuração é herdada do primeiro grupo de pacotes pai com uma configuração que nãoINHERIT
é.
EXTERNAL_UPSTREAM
A EXTERNAL_UPSTREAM
configuração configura se as versões do pacote podem ser ingeridas de repositórios públicos externos quando solicitadas por um gerenciador de pacotes. Para ver uma lista dos repositórios externos, consulte Repositórios de conexão externa compatíveis.
ALLOW: qualquer versão do pacote pode ser ingerida em todos os repositórios a partir de uma fonte pública com uma conexão externa.
BLOCK: as versões do pacote não podem ser ingeridas em nenhum repositório de uma fonte pública com uma conexão externa.
ALLOW_ SPECIFIC _ REPOSITORIES: As versões do Package só podem ser ingeridas de uma fonte pública em repositórios especificados na lista de repositórios permitidos para upstreams externos.
INHERIT: a
EXTERNAL_UPSTREAM
configuração é herdada do primeiro grupo de pacotes pai com uma configuração que nãoINHERIT
é.
INTERNAL_UPSTREAM
A INTERNAL_UPSTREAM
configuração configura se as versões do pacote podem ser retidas dos repositórios upstream internos no mesmo CodeArtifact domínio quando solicitadas por um gerenciador de pacotes.
ALLOW: qualquer versão do pacote pode ser retida de outros CodeArtifact repositórios configurados como repositórios upstream.
BLOCK: as versões do pacote não podem ser retidas de outros CodeArtifact repositórios configurados como repositórios upstream.
ALLOW_ SPECIFIC _ REPOSITORIES: As versões do Package só podem ser retidas de outros CodeArtifact repositórios configurados como repositórios upstream em repositórios especificados na lista de repositórios permitidos para upstreams internos.
INHERIT: a
INTERNAL_UPSTREAM
configuração é herdada do primeiro grupo de pacotes pai com uma configuração que nãoINHERIT
é.
Listas de repositórios permitidos
Quando uma configuração de restrição é configurada comoALLOW_SPECIFIC_REPOSITORIES
, o grupo de pacotes contém uma lista de repositórios permitidos que contém uma lista de repositórios permitidos para essa configuração de restrição. Portanto, um grupo de pacotes contém de 0 a 3 listas de repositórios permitidos, uma para cada configuração configurada comoALLOW_SPECIFIC_REPOSITORIES
.
Ao adicionar um repositório à lista de repositórios permitidos de um grupo de pacotes, você deve especificar em qual lista de repositórios permitidos adicioná-lo.
As possíveis listas de repositórios permitidos são as seguintes:
EXTERNAL_UPSTREAM
: permitir ou bloquear a ingestão de versões de pacotes de repositórios externos no repositório adicionado.INTERNAL_UPSTREAM
: permita ou bloqueie a extração de versões de pacotes de outro CodeArtifact repositório no repositório adicionado.PUBLISH
: permita ou bloqueie a publicação direta de versões de pacotes dos gerenciadores de pacotes no repositório adicionado.
Editando configurações de controle de origem do grupo de pacotes
Para adicionar ou editar controles de origem para um grupo de pacotes, execute as etapas no procedimento a seguir. Para obter informações sobre as configurações de controle de origem do grupo de pacotes, consulte Configurações de restrição Listas de repositórios permitidos e.
Para adicionar ou editar controles de origem do grupo de pacotes (CLI)
Caso não tenha feito isso, configure o AWS CLI seguindo as etapas emConfigurando com AWS CodeArtifact.
Use o comando
update-package-group-origin-configuration
para adicionar ou editar controles de origem do pacote.Para
--domain
, insira o CodeArtifact domínio que contém o grupo de pacotes que você deseja atualizar.Para
--domain-owner
, insira o número da conta do proprietário do domínio.Para
--package-group
, insira o grupo de pacotes que você deseja atualizar.Para
--restrictions
, insira pares de valores-chave que representem as restrições de controle de origem.Para
--add-allowed-repositories
, insira um JSON objeto contendo o tipo de restrição e o nome do repositório para adicionar à lista correspondente de repositórios permitidos para a restrição.Para
--remove-allowed-repositories
, insira um JSON objeto contendo o tipo de restrição e o nome do repositório a serem removidos da lista de repositórios permitidos correspondente à restrição.
aws codeartifact update-package-group-origin-configuration \ --domain
my_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_repo2
O exemplo a seguir adiciona várias restrições e vários repositórios em um comando.
aws codeartifact update-package-group-origin-configuration \ --domain
my_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_repo
originRestrictionType=INTERNAL_UPSTREAM
,repositoryName=my_repo2
\ --remove-allowed-repositories originRestrictionType=INTERNAL_UPSTREAM
,repositoryName=my_repo2
Exemplos de configuração do controle de origem do grupo de pacotes
Os exemplos a seguir mostram configurações de controle de origem de pacotes para cenários comuns de gerenciamento de pacotes.
Permitindo que pacotes com nomes privados sejam publicados, mas não ingeridos
Esse cenário é provavelmente um cenário comum no gerenciamento de pacotes:
Permita que pacotes com nomes privados sejam publicados em repositórios em seu domínio a partir de gerenciadores de pacotes e impeça que sejam ingeridos em repositórios em seu domínio a partir de repositórios públicos externos.
Permita que todos os outros pacotes sejam ingeridos em repositórios em seu domínio a partir de repositórios públicos externos e impeça que sejam publicados em repositórios em seu domínio a partir de gerenciadores de pacotes.
Para fazer isso, você deve configurar um grupo de pacotes com um padrão que inclua o (s) nome (s) privado (s) e as configurações de origem de PUBLISHUPSTREAM: ALLOW BLOCK, EXTERNAL _: e INTERNAL_UPSTREAM: ALLOW. Isso garantirá que pacotes com nomes privados possam ser publicados diretamente, mas não possam ser ingeridos de repositórios externos.
Os AWS CLI comandos a seguir criam e configuram um grupo de pacotes com configurações de restrição de origem que correspondem ao comportamento desejado:
Para criar o grupo de pacotes:
aws codeartifact create-package-group \ --domain
my_domain
\ --package-group/npm/space/anycompany~
\ --domain-owner111122223333
\ --contact-infocontact@email.com | URL
\ --description"my package group"
Para atualizar a configuração de origem do grupo de pacotes:
aws codeartifact update-package-group-origin-configuration \ --domain
my_domain
\ --domain-owner111122223333
\ --package-group'/npm/space/anycompany~'
\ --restrictionsPUBLISH
=ALLOW
,EXTERNAL_UPSTREAM
=BLOCK
,INTERNAL_UPSTREAM
=ALLOW
Permitindo a ingestão de repositórios externos por meio de um repositório
Nesse cenário, seu domínio tem vários repositórios. Desses repositórios, repoA
tem uma conexão upstream comrepoB
, que tem uma conexão externa com o repositório públiconpmjs.com
, conforme mostrado:
repoA --> repoB --> npmjs.com
Você deseja permitir a ingestão de pacotes de um grupo de pacotes específico, /npm/space/anycompany~
de npmjs.com
dentrorepoA
, mas somente por meio repoB
de. Você também deseja bloquear a ingestão de pacotes associados ao grupo de pacotes em qualquer outro repositório em seu domínio e bloquear a publicação direta de pacotes com gerenciadores de pacotes. Para fazer isso, você cria e configura o grupo de pacotes da seguinte forma:
Configurações de restrição de origem de PUBLISH: BLOCK, e EXTERNAL_UPSTREAM: ALLOW _ SPECIFIC _ REPOSITORIES e INTERNAL_UPSTREAM: ALLOW _ SPECIFIC _ REPOSITORIES.
repoA
e repoB
adicionado à lista apropriada de repositórios permitidos:
repoA
deve ser adicionado àINTERNAL_UPSTREAM
lista, pois obterá pacotes de seu upstream interno,repoB
.repoB
deve ser adicionado àEXTERNAL_UPSTREAM
lista, pois obterá pacotes do repositório externo,npmjs.com
.
Os AWS CLI comandos a seguir criam e configuram um grupo de pacotes com configurações de restrição de origem que correspondem ao comportamento desejado:
Para criar o grupo de pacotes:
aws codeartifact create-package-group \ --domain
my_domain
\ --package-group/npm/space/anycompany~
\ --domain-owner111122223333
\ --contact-infocontact@email.com | URL
\ --description"my package group"
Para atualizar a configuração de origem do grupo de pacotes:
aws codeartifact update-package-group-origin-configuration \ --domain
my_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=repoA
originRestrictionType=EXTERNAL_UPSTREAM
,repositoryName=repoB
Como as configurações de controle de origem do grupo de pacotes interagem com as configurações de controle de origem do pacote
Como os pacotes têm configurações de controle de origem e seus grupos de pacotes associados têm configurações de controle de origem, é importante entender como essas duas configurações diferentes interagem umas com as outras. Para obter informações sobre a interação entre as configurações, consulteComo os controles de origem do pacote interagem com os controles de origem do grupo de pacotes.