Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Kontrol asal grup Package
Package origin control digunakan untuk mengonfigurasi bagaimana versi paket dapat memasukkan domain. Anda dapat mengatur kontrol asal pada grup paket untuk mengonfigurasi bagaimana versi setiap paket yang terkait dengan grup paket dapat memasukkan repositori tertentu di domain.
Pengaturan kontrol asal Package group terdiri dari yang berikut:
Pengaturan pembatasan: Pengaturan ini menentukan apakah paket dapat memasukkan repositori CodeArtifact dari penerbitan, internal upstream, atau eksternal, repositori publik.
Daftar repositori yang diizinkan: Setiap pengaturan pembatasan dapat diatur untuk memungkinkan repositori tertentu. Jika pengaturan pembatasan diatur untuk mengizinkan repositori tertentu, pembatasan itu akan memiliki daftar repositori yang diizinkan yang sesuai.
catatan
Pengaturan kontrol asal untuk grup paket sedikit berbeda dari pengaturan kontrol asal untuk paket individual. Untuk informasi selengkapnya tentang pengaturan kontrol asal untuk paket, lihatPengaturan kontrol asal paket.
Pengaturan pembatasan
Pengaturan pembatasan pengaturan kontrol asal grup paket menentukan bagaimana paket yang terkait dengan grup tersebut dapat memasukkan repositori di domain.
PUBLISH
PUBLISH
Pengaturan mengonfigurasi apakah versi paket dapat dipublikasikan langsung ke repositori apa pun di domain menggunakan pengelola paket atau alat serupa.
ALLOW: Versi Package dapat dipublikasikan langsung ke semua repositori.
BLOCK: Versi Package tidak dapat dipublikasikan langsung ke repositori manapun.
ALLOW_ SPECIFIC _ REPOSITORIES: Versi Package hanya dapat dipublikasikan langsung ke repositori yang ditentukan dalam daftar repositori yang diizinkan untuk diterbitkan.
INHERIT:
PUBLISH
Pengaturan diwarisi dari grup paket induk pertama dengan pengaturan yang tidakINHERIT
.
EXTERNAL_UPSTREAM
EXTERNAL_UPSTREAM
Pengaturan mengonfigurasi apakah versi paket dapat dicerna dari repositori publik eksternal saat diminta oleh manajer paket. Untuk daftar repositori eksternal yang didukung, lihat. Repositori koneksi eksternal yang didukung
ALLOW: Versi paket apa pun dapat dicerna ke semua repositori dari sumber publik dengan koneksi eksternal.
BLOCK: Versi Package tidak dapat dicerna ke dalam repositori apa pun dari sumber publik dengan koneksi eksternal.
ALLOW_ SPECIFIC _ REPOSITORIES: Versi Package hanya dapat dicerna dari sumber publik ke dalam repositori yang ditentukan dalam daftar repositori yang diizinkan untuk upstream eksternal.
INHERIT:
EXTERNAL_UPSTREAM
Pengaturan diwarisi dari grup paket induk pertama dengan pengaturan yang tidakINHERIT
.
INTERNAL_UPSTREAM
INTERNAL_UPSTREAM
Pengaturan mengonfigurasi apakah versi paket dapat dipertahankan dari repositori upstream internal di CodeArtifact domain yang sama ketika diminta oleh manajer paket.
ALLOW: Versi paket apa pun dapat dipertahankan dari repositori lain yang dikonfigurasi sebagai CodeArtifact repositori upstream.
BLOCK: Versi Package tidak dapat dipertahankan dari repositori lain yang dikonfigurasi sebagai CodeArtifact repositori upstream.
ALLOW_ SPECIFIC _ REPOSITORIES: Versi Package hanya dapat dipertahankan dari CodeArtifact respositori lain yang dikonfigurasi sebagai repositori upstream ke dalam repositori yang ditentukan dalam daftar repositori yang diizinkan untuk upstream internal.
INHERIT:
INTERNAL_UPSTREAM
Pengaturan diwarisi dari grup paket induk pertama dengan pengaturan yang tidakINHERIT
.
Daftar repositori yang diizinkan
Ketika pengaturan pembatasan dikonfigurasi sebagaiALLOW_SPECIFIC_REPOSITORIES
, grup paket berisi daftar repositori diizinkan yang menyertainya yang berisi daftar repositori yang diizinkan untuk pengaturan pembatasan itu. Oleh karena itu, grup paket berisi dari 0 hingga 3 daftar repositori yang diizinkan, satu untuk setiap pengaturan yang dikonfigurasi sebagai. ALLOW_SPECIFIC_REPOSITORIES
Saat Anda menambahkan repositori ke daftar repositori yang diizinkan grup paket, Anda harus menentukan daftar repositori mana yang diizinkan untuk menambahkannya.
Daftar repositori yang mungkin diizinkan adalah sebagai berikut:
EXTERNAL_UPSTREAM
: Izinkan atau blokir konsumsi versi paket dari repositori eksternal di repositori yang ditambahkan.INTERNAL_UPSTREAM
: Izinkan atau blokir penarikan versi paket dari repositori lain di CodeArtifact repositori yang ditambahkan.PUBLISH
: Izinkan atau blokir penerbitan langsung versi paket dari manajer paket ke repositori yang ditambahkan.
Mengedit pengaturan kontrol asal grup paket
Untuk menambah atau mengedit kontrol asal untuk grup paket, lakukan langkah-langkah dalam prosedur berikut. Untuk informasi tentang pengaturan kontrol asal grup paket, lihat Pengaturan pembatasan danDaftar repositori yang diizinkan.
Untuk menambah atau mengedit kontrol asal grup paket (CLI)
Jika belum, konfigurasikan AWS CLI dengan mengikuti langkah-langkah diMenyiapkan dengan AWS CodeArtifact.
Gunakan
update-package-group-origin-configuration
perintah untuk menambah atau mengedit kontrol asal paket.Untuk
--domain
, masukkan CodeArtifact domain yang berisi grup paket yang ingin Anda perbarui.Untuk
--domain-owner
, masukkan nomor akun pemilik domain.Untuk
--package-group
, masukkan grup paket yang ingin Anda perbarui.Untuk
--restrictions
, masukkan pasangan nilai kunci yang mewakili batasan kontrol asal.Untuk
--add-allowed-repositories
, masukkan JSON objek yang berisi tipe pembatasan dan nama repositori untuk ditambahkan ke daftar repositori yang diizinkan sesuai untuk pembatasan tersebut.Untuk
--remove-allowed-repositories
, masukkan JSON objek yang berisi jenis pembatasan dan nama repositori untuk dihapus dari daftar repositori yang diizinkan sesuai untuk pembatasan tersebut.
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
Contoh berikut menambahkan beberapa pembatasan, dan beberapa repositori dalam satu perintah.
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
Contoh konfigurasi kontrol asal grup Package
Contoh berikut menunjukkan konfigurasi kontrol asal paket untuk skenario manajemen paket umum.
Mengizinkan paket dengan nama pribadi dipublikasikan, tetapi tidak dicerna
Skenario ini kemungkinan merupakan skenario umum dalam manajemen paket:
Izinkan paket dengan nama pribadi dipublikasikan ke repositori di domain Anda dari pengelola paket, dan blokir agar tidak tertelan ke repositori di domain Anda dari repositori publik eksternal.
Izinkan semua paket lain dicerna ke repositori di domain Anda dari eksternal, repositori publik, dan blokir agar tidak dipublikasikan ke repositori di domain Anda dari pengelola paket.
Untuk mencapai ini, Anda harus mengonfigurasi grup paket dengan pola yang menyertakan nama pribadi, dan pengaturan asal PUBLISH: ALLOW, EXTERNAL_UPSTREAM: BLOCK, dan INTERNAL_UPSTREAM: ALLOW. Ini akan memastikan paket dengan nama pribadi dapat dipublikasikan secara langsung, tetapi tidak dapat dicerna dari repositori eksternal.
AWS CLI Perintah berikut membuat dan mengkonfigurasi grup paket dengan pengaturan pembatasan asal yang cocok dengan perilaku yang diinginkan:
Untuk membuat grup paket:
aws codeartifact create-package-group \ --domain
my_domain
\ --package-group/npm/space/anycompany~
\ --domain-owner111122223333
\ --contact-infocontact@email.com | URL
\ --description"my package group"
Untuk memperbarui konfigurasi asal grup paket:
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
Mengizinkan konsumsi dari repositori eksternal melalui satu repositori
Dalam skenario ini, domain Anda memiliki beberapa repositori. Dari repositori tersebut, repoA
memiliki koneksi hulu kerepoB
, yang memiliki koneksi eksternal ke repositori publik,, seperti yang ditunjukkan: npmjs.com
repoA --> repoB --> npmjs.com
Anda ingin mengizinkan konsumsi paket dari grup paket tertentu, /npm/space/anycompany~
dari npmjs.com
kerepoA
, tetapi hanya melalui. repoB
Anda juga ingin memblokir konsumsi paket yang terkait dengan grup paket ke dalam repositori lain di domain Anda, dan memblokir penerbitan langsung paket dengan manajer paket. Untuk mencapai ini, Anda membuat dan mengkonfigurasi grup paket sebagai berikut:
Pengaturan pembatasan asal PUBLISH: BLOCK, dan EXTERNAL_UPSTREAM: _ ALLOW SPECIFIC _ REPOSITORIES, dan INTERNAL_UPSTREAM: _ ALLOW SPECIFIC _ REPOSITORIES.
repoA
dan repoB
ditambahkan ke daftar repositori yang diizinkan yang sesuai:
repoA
harus ditambahkan keINTERNAL_UPSTREAM
daftar, karena akan mendapatkan paket dari hulu internalnya,repoB
.repoB
harus ditambahkan keEXTERNAL_UPSTREAM
daftar, karena akan mendapatkan paket dari repositori eksternal,.npmjs.com
AWS CLI Perintah berikut membuat dan mengkonfigurasi grup paket dengan pengaturan pembatasan asal yang cocok dengan perilaku yang diinginkan:
Untuk membuat grup paket:
aws codeartifact create-package-group \ --domain
my_domain
\ --package-group/npm/space/anycompany~
\ --domain-owner111122223333
\ --contact-infocontact@email.com | URL
\ --description"my package group"
Untuk memperbarui konfigurasi asal grup paket:
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
Bagaimana pengaturan kontrol asal grup paket berinteraksi dengan pengaturan kontrol asal paket
Karena paket memiliki pengaturan kontrol asal, dan grup paket terkait memiliki pengaturan kontrol asal, penting untuk memahami bagaimana kedua pengaturan yang berbeda berinteraksi satu sama lain. Untuk informasi tentang interaksi antara pengaturan, lihatBagaimana kontrol asal paket berinteraksi dengan kontrol asal grup paket.