Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Controlli dell'origine dei gruppi di pacchetti
I controlli di origine dei pacchetti vengono utilizzati per configurare il modo in cui le versioni dei pacchetti possono entrare in un dominio. È possibile impostare i controlli di origine su un gruppo di pacchetti per configurare il modo in cui le versioni di ogni pacchetto associato al gruppo di pacchetti possono accedere a repository specifici nel dominio.
Le impostazioni di controllo dell'origine dei gruppi di pacchetti sono le seguenti:
Impostazioni di restrizione: Queste impostazioni definiscono se i pacchetti possono accedere a un repository CodeArtifact da archivi di pubblicazione, interni o pubblici esterni.
Elenchi di repository consentiti: Ogni impostazione di restrizione può essere impostata per consentire l'utilizzo di archivi specifici. Se un'impostazione di restrizione è impostata per consentire repository specifici, a tale restrizione verrà associato un elenco di repository consentiti corrispondente.
Nota
Le impostazioni di controllo dell'origine per i gruppi di pacchetti sono leggermente diverse dalle impostazioni di controllo dell'origine per i singoli pacchetti. Per ulteriori informazioni sulle impostazioni di controllo dell'origine per i pacchetti, vedereImpostazioni di controllo dell'origine del pacchetto.
Impostazioni di restrizione
Le impostazioni di restrizione delle impostazioni di controllo dell'origine di un gruppo di pacchetti determinano in che modo i pacchetti associati a quel gruppo possono entrare nei repository del dominio.
PUBLISH
L'PUBLISH
impostazione configura se le versioni dei pacchetti possono essere pubblicate direttamente in qualsiasi repository del dominio utilizzando gestori di pacchetti o strumenti simili.
ALLOW: le versioni dei pacchetti possono essere pubblicate direttamente in tutti gli archivi.
BLOCK: Le versioni dei pacchetti non possono essere pubblicate direttamente in nessun repository.
ALLOW_SPECIFIC_REPOSITORIES: le versioni dei pacchetti possono essere pubblicate direttamente solo nei repository specificati nell'elenco dei repository consentiti per la pubblicazione.
INHERIT: l'
PUBLISH
impostazione viene ereditata dal primo gruppo di pacchetti principale con un'impostazione che non lo è.INHERIT
EXTERNAL_UPSTREAM
L'EXTERNAL_UPSTREAM
impostazione configura se le versioni dei pacchetti possono essere importate da archivi pubblici esterni quando richiesto da un gestore di pacchetti. Per un elenco dei repository esterni supportati, vedere. Archivi di connessioni esterne supportati
CONSENTI: Qualsiasi versione del pacchetto può essere inserita in tutti gli archivi da una fonte pubblica con una connessione esterna.
BLOCK: Le versioni dei pacchetti non possono essere inserite in alcun repository da una fonte pubblica con una connessione esterna.
ALLOW_SPECIFIC_REPOSITORIES: le versioni dei pacchetti possono essere importate solo da una fonte pubblica nei repository specificati nell'elenco dei repository consentiti per gli upstream esterni.
INHERIT: l'impostazione viene ereditata dal primo gruppo di pacchetti principale con
EXTERNAL_UPSTREAM
un'impostazione che non lo è.INHERIT
INTERNAL_UPSTREAM
L'INTERNAL_UPSTREAM
impostazione configura se le versioni dei pacchetti possono essere conservate dagli archivi upstream interni nello stesso CodeArtifact dominio quando richiesto da un gestore di pacchetti.
CONSENTI: Qualsiasi versione del pacchetto può essere conservata da altri CodeArtifact repository configurati come archivi upstream.
BLOCK: Le versioni dei pacchetti non possono essere conservate da altri CodeArtifact repository configurati come repository upstream.
ALLOW_SPECIFIC_REPOSITORIES: le versioni dei pacchetti possono essere conservate solo da CodeArtifact altri repository configurati come repository upstream nei repository specificati nell'elenco dei repository consentiti per gli upstream interni.
INHERIT: l'impostazione viene ereditata dal primo gruppo di pacchetti principale con un'impostazione che non lo è
INTERNAL_UPSTREAM
.INHERIT
Elenchi di repository consentiti
Quando un'impostazione di restrizione è configurata comeALLOW_SPECIFIC_REPOSITORIES
, il gruppo di pacchetti contiene un elenco di repository consentiti che contiene un elenco di repository consentiti per tale impostazione di restrizione. Pertanto, un gruppo di pacchetti contiene da 0 a 3 elenchi di repository consentiti, uno per ogni impostazione configurata come. ALLOW_SPECIFIC_REPOSITORIES
Quando si aggiunge un repository all'elenco di repository consentiti di un gruppo di pacchetti, è necessario specificare a quale elenco di repository consentiti aggiungerlo.
I possibili elenchi di repository consentiti sono i seguenti:
EXTERNAL_UPSTREAM
: consente o blocca l'inserimento delle versioni dei pacchetti da repository esterni nel repository aggiunto.INTERNAL_UPSTREAM
: consente o blocca l'estrazione delle versioni dei pacchetti da un altro CodeArtifact repository nel repository aggiunto.PUBLISH
: consente o blocca la pubblicazione diretta delle versioni dei pacchetti dai gestori di pacchetti nell'archivio aggiunto.
Modifica delle impostazioni di controllo dell'origine dei gruppi di pacchetti
Per aggiungere o modificare i controlli di origine per un gruppo di pacchetti, effettuate i passaggi indicati nella procedura seguente. Per informazioni sulle impostazioni del controllo dell'origine del gruppo di pacchetti, vedere Impostazioni di restrizione eElenchi di repository consentiti.
Per aggiungere o modificare i controlli di origine dei gruppi di pacchetti (CLI)
In caso contrario, configurali AWS CLI seguendo la procedura riportata di seguito. Configurazione con AWS CodeArtifact
Usa il
update-package-group-origin-configuration
comando per aggiungere o modificare i controlli di origine del pacchetto.Per
--domain
, inserisci il CodeArtifact dominio che contiene il gruppo di pacchetti che desideri aggiornare.Per
--domain-owner
, inserisci il numero di account del proprietario del dominio.Per
--package-group
, inserisci il gruppo di pacchetti che desideri aggiornare.Per
--restrictions
, inserisci coppie chiave-valore che rappresentano le restrizioni di controllo dell'origine.Per
--add-allowed-repositories
, inserisci un oggetto JSON contenente il tipo di restrizione e il nome del repository da aggiungere all'elenco dei repository consentiti corrispondenti per la restrizione.Ad esempio
--remove-allowed-repositories
, inserisci un oggetto JSON contenente il tipo di restrizione e il nome del repository da rimuovere dall'elenco dei repository consentiti corrispondente per la restrizione.
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
L'esempio seguente aggiunge più restrizioni e più repository in un unico 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
Esempi di configurazione del controllo dell'origine dei gruppi di pacchetti
Gli esempi seguenti mostrano le configurazioni del controllo dell'origine dei pacchetti per scenari comuni di gestione dei pacchetti.
Consentire la pubblicazione ma non l'importazione di pacchetti con nomi privati
Questo scenario è probabilmente uno scenario comune nella gestione dei pacchetti:
Consenti la pubblicazione di pacchetti con nomi privati nei repository del tuo dominio dai gestori di pacchetti e impedisci che vengano importati nei repository del tuo dominio da repository pubblici esterni.
Consenti l'importazione di tutti gli altri pacchetti nei repository del tuo dominio da archivi pubblici esterni e impedisci che vengano pubblicati nei repository del tuo dominio dai gestori di pacchetti.
A tal fine, è necessario configurare un gruppo di pacchetti con uno schema che includa i nomi privati e le impostazioni di origine di PUBLISH: ALLOW, EXTERNAL_UPSTREAM: BLOCK e INTERNAL_UPSTREAM: ALLOW. Ciò garantirà che i pacchetti con nomi privati possano essere pubblicati direttamente, ma non possano essere importati da repository esterni.
I seguenti AWS CLI comandi creano e configurano un gruppo di pacchetti con impostazioni di restrizione dell'origine che corrispondono al comportamento desiderato:
Per creare il gruppo di pacchetti:
aws codeartifact create-package-group \ --domain
my_domain
\ --package-group/npm/space/anycompany~
\ --domain-owner111122223333
\ --contact-infocontact@email.com | URL
\ --description"my package group"
Per aggiornare la configurazione di origine del gruppo di pacchetti:
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
Consentire l'importazione da repository esterni tramite un repository
In questo scenario, il dominio dispone di più repository. Di questi repository, repoA
dispone di una connessione upstream arepoB
, che dispone di una connessione esterna all'archivio pubblico, npmjs.com
come illustrato di seguito:
repoA --> repoB --> npmjs.com
Si desidera consentire l'inserimento di pacchetti da un gruppo di pacchetti specifico, /npm/space/anycompany~
da npmjs.com
inrepoA
, ma solo tramite. repoB
Volete anche bloccare l'inserimento dei pacchetti associati al gruppo di pacchetti in qualsiasi altro repository del vostro dominio e bloccare la pubblicazione diretta dei pacchetti con i gestori di pacchetti. A tal fine, create e configurate il gruppo di pacchetti come segue:
Impostazioni di restrizione dell'origine di PUBLISH: BLOCK e EXTERNAL_UPSTREAM: ALLOW_SPECIFIC_REPOSITORIES e INTERNAL_UPSTREAM: ALLOW_SPECIFIC_REPOSITORIES.
repoA
e aggiunto all'elenco di repository consentiti appropriato: repoB
repoA
deve essere aggiunto all'INTERNAL_UPSTREAM
elenco, in quanto riceverà i pacchetti dal suo upstream interno,.repoB
repoB
dovrebbe essere aggiunto allaEXTERNAL_UPSTREAM
lista, in quanto otterrà i pacchetti dal repository esterno,.npmjs.com
I seguenti AWS CLI comandi creano e configurano un gruppo di pacchetti con impostazioni di restrizione dell'origine che corrispondono al comportamento desiderato:
Per creare il gruppo di pacchetti:
aws codeartifact create-package-group \ --domain
my_domain
\ --package-group/npm/space/anycompany~
\ --domain-owner111122223333
\ --contact-infocontact@email.com | URL
\ --description"my package group"
Per aggiornare la configurazione di origine del gruppo di pacchetti:
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
In che modo le impostazioni di controllo dell'origine del gruppo di pacchetti interagiscono con le impostazioni di controllo dell'origine dei pacchetti
Poiché i pacchetti hanno impostazioni di controllo dell'origine e i gruppi di pacchetti associati hanno impostazioni di controllo dell'origine, è importante capire come queste due diverse impostazioni interagiscono tra loro. Per informazioni sull'interazione tra le impostazioni, vedereIn che modo i controlli di origine dei pacchetti interagiscono con i controlli di origine dei gruppi di pacchetti.