Setelah Anda mengintegrasikan Assured OSS dengan Security Command Center, Paket Software Open Source Terjamin adalah di-host di repositori Artifact Registry yang dibuat di dalam project yang kontrol.
Halaman ini menjelaskan cara terhubung ke repositori Artifact Registry untuk Assured OSS untuk langsung mengakses dan mendownload paket Python.
Dokumen ini hanya berlaku untuk tingkat premium Assured OSS. Sebagai paket gratis, lihat Mendownload paket Python menggunakan akses repositori langsung untuk paket gratis.
Sebelum memulai
Memvalidasi konektivitas kepada Assured OSS untuk akun layanan yang diminta.
Instal Google Cloud CLI versi terbaru.
Jika Anda sudah pernah menginstal Google Cloud CLI, pastikan Anda memiliki versi terbaru dengan menjalankan perintah:
gcloud components update
Menyiapkan autentikasi
Anda dapat melakukan autentikasi ke paket Python Assured OSS repositori menggunakan salah satu metode berikut:
- Mengautentikasi dengan keyring
- Mengautentikasi dengan kunci akun layanan
Bagian berikut menjelaskan cara menyiapkan metode autentikasi ini.
Autentikasi dengan keyring
Untuk menggunakan keyring Python guna melakukan otentikasi ke Artifact Registry, lihat mengautentikasi dengan keyring dan informasi tentang penelusuran kredensial pesanan. Saran dari kami bahwa Anda menggunakan {i> keyring <i}python untuk otentikasi.
Guna menyiapkan keyring untuk autentikasi, lakukan langkah berikut:
Instal library
keyring
:pip install keyring
Instal backend Artifact Registry:
pip install keyrings.google-artifactregistry-auth
Tampilkan daftar backend untuk mengonfirmasi penginstalan:
keyring --list-backends
Daftar harus mencakup hal berikut:
ChainerBackend(priority:10)
GooglePythonAuth(priority:9)
Untuk mengetahui informasi tentang cara menyiapkan Kredensial Default Aplikasi, lihat Menyiapkan autentikasi.
Langkah ini memastikan bahwa helper kredensial Assured OSS mendapatkan kunci Anda saat terhubung dengan repositori.
Mengautentikasi dengan kunci akun layanan
Mengautentikasi dengan kunci akun layanan ketika aplikasi memerlukan otentikasi dengan nama pengguna dan {i>password<i}.
Mengganti URL repositori paket
https://us-python.pkg.dev/PROJECT_ID/assuredoss-python/simple
dengan
URL
https://_json_key_base64:BASE64_KEY@us-python.pkg.dev/PROJECT_ID/assuredoss-python/simple
Ganti kode berikut:
- Ganti
PROJECT_ID
dengan ID project yang Anda pilih saat menyiapkan Assured Open Source Software. Ganti
BASE64_KEY
dengan encoding base64 dari seluruh file kunci JSON akun layanan. Untuk mengonversi seluruh file kunci JSON akun layanan ke encoding base64, gunakan perintah berikut:BASE64_KEY=$(cat KEY_FILE_LOCATION | base64)
Ganti
KEY_FILE_LOCATION
dengan file kunci JSON lokasi akun layanan.
Instal paket
Petunjuk berikut mengasumsikan bahwa Anda menggunakan PyPI sebagai repositori untuk mendownload dependensi Anda. Jika Anda menggunakan repositori, Anda harus menggunakan langkah yang berbeda untuk mengunduh dependensi.
Instal paket yang ada di Assured OSS
Untuk menentukan paket Python Assured OSS yang ingin didownload, buat dua file requirements.txt
. File contoh tersebut adalah sebagai berikut:
requirements-google.txt
# Packages present in Google's Artifact Registry urllib3==1.26.11 --hash=sha256:1cffe1aa066363a75c856f261c8fce62d87f7c40ce0f46453ea12bf652b12a13 jsonschema==4.13.0 --hash=sha256:29895bfe55b93b75552fbdd1e09aa0c82b7c1c9395d4f267e10c7d43cd31a74e
requirements-pypi.txt
# Packages present in Google's Artifact Registry are mentioned here so that pip # downloads their dependencies from PyPI. urllib3==1.26.11 jsonschema==4.13.0 # Below this comment, add any package version which you need but is NOT # present in Google's Artifact Registry and therefore needs to be downloaded from # PyPI.
Untuk mendownload paket, jalankan perintah berikut:
Untuk mengunduh paket yang diperlukan yang ada di Artifact Registry untuk Assured OSS, jalankan perintah berikut:
pip install --require-hashes --requirement=requirements-google.txt --index-url https://_json_key_base64:BASE64_KEY@us-python.pkg.dev/PROJECT_ID/assuredoss-python repo/simple -v --no-deps
Pertimbangkan hal berikut:
--require-hashes
bersifat opsional. Jika disertakan, {i>hash<i} ditentukan untuk semua paket, dan untuk semua versi paket dalam filerequirements.txt
.-v
bersifat opsional. Jika ditentukan, perintah akan memberikan lebih banyak output.
Untuk mengunduh paket yang diperlukan yang tidak ada dalam Artifact Registry untuk Assured OSS, jalankan perintah berikut:
pip install --requirement=requirements-pypi.txt --index-url https://pypi.org/simple -v
Perintah ini juga mengunduh dependensi yang hilang dari paket yang telah Anda unduh menggunakan perintah sebelumnya.
Mencantumkan semua paket Python yang tersedia di Assured OSS
Untuk menggunakan API untuk mendapatkan daftar semua paket Python di repositori Artifact Registry, lihat Mencantumkan semua paket Python yang tersedia di Assured OSS.
Membuat file requirements-google.txt
Bagian ini memberikan informasi tambahan tentang cara membuat
File requirements-google.txt
yang Anda perlukan untuk mendownload Python
paket. Untuk mendownload hash dan membuat file requirements-google.txt
untuk lingkungan Anda, Anda dapat menggunakan salah satu dari dua opsi berikut:
Menggunakan skrip untuk membuat satu file persyaratan untuk semua artefak.
Download file persyaratan terpisah untuk setiap artefak.
Bagian berikut memberikan informasi selengkapnya tentang opsi ini.
Opsi 1: Gunakan skrip untuk membuat satu file persyaratan untuk semua artefak
Gunakan skrip generator.sh
untuk membuat satu
File requirements-google.txt
untuk semua paket Python
(beserta hash mereka) yang tersedia dengan Assured OSS untuk sistem operasi linux. Tujuan
paket harus memenuhi batasan seperti versi Python, arsitektur mesin,
dan sistem operasi. Anda kemudian dapat menghapus
versi paket yang tidak Anda
memerlukan dan menggunakan
file yang dihasilkan.
Skrip generator.sh
membantu dalam dua cara berikut:
- Perintah ini menghasilkan daftar versi paket Python terbaru yang tersedia dengan Assured OSS yang dapat berhasil diinstal di sistem Anda.
- Tindakan ini akan menghasilkan file
requirements-google.txt
beserta semua hash.
Skrip yang diperlukan dan file README.md
-nya tersedia di bucket Cloud Storage
(gs://cloud-aoss/utils/python-requirements-txt/v1.0
) yang dapat didownload
menggunakan Google Cloud CLI.
Untuk mendownload skrip dan file README.md
, ikuti langkah berikut:
Lakukan autentikasi dengan akun layanan untuk mengakses bucket Cloud Storage menggunakan perintah berikut:
gcloud auth activate-service-account --key-file KEY_FILE
Ganti
KEY_FILE
dengan jalur ke file yang berisi kredensial akun layanan yang diberikan selama pengaturan.Download
generator.sh
ke komputer Anda menggunakan perintah berikut:gcloud storage cp gs://cloud-aoss/utils/python-requirements-txt/v1.0/generator.sh PATH_TO_LOCAL_STORE --recursive
Ganti
PATH_TO_LOCAL_STORE
dengan jalur lokal tempat Anda ingin menyimpan file yang diunduh.Download file
README.md
menggunakan perintah berikut:gcloud storage cp gs://cloud-aoss/utils/python-requirements-txt/v1.0/README.md PATH_TO_LOCAL_STORE --recursive
Ganti
PATH_TO_LOCAL_STORE
dengan jalur lokal tempat Anda ingin menyimpan file yang diunduh. FileREADME.md
berisi petunjuk tentang cara menggunakan skrip.
Untuk menjalankan skrip, gunakan perintah berikut:
Untuk membuat file
requirements-google.txt
, jalankan perintah berikut:chmod +x generator.sh ./generator.sh
Untuk mendapatkan informasi paket dalam file CSV, jalankan perintah berikut:
chmod +x generator.sh ./generator.sh -i
Opsi 2: Download requirements.txt
untuk setiap artefak yang diperlukan
Anda juga dapat mendownload file requirements.txt
terpisah (berisi hash)
untuk setiap artefak Python, lalu menggabungkannya menjadi satu requirements.txt
.
Hash artefak tersedia di bucket Cloud Storage yang dapat didownload
menggunakan gcloud CLI. {i>Hash<i} untuk setiap
dan versinya terletak di gs://cloud-aoss/python/PACKAGE_NAME/VERSION
Lokasi bucket Cloud Storage.
Untuk mendownload file requirements.txt
, ikuti langkah-langkah berikut:
Lakukan autentikasi dengan akun layanan untuk mengakses bucket Cloud Storage menggunakan perintah berikut:
gcloud auth activate-service-account --key-file KEY_FILE
Ganti
KEY_FILE
dengan jalur ke file yang berisi kredensial akun layanan.Download
requirements.txt
dari paket dan versi tertentu ke komputer lokal Anda menggunakan perintah berikut:gcloud storage cp gs://cloud-aoss/python/PACKAGE_NAME/VERSION PATH_TO_LOCAL_STORE --recursive
Ganti kode berikut:
PACKAGE_NAME
: nama paketVERSION
: versi paketPATH_TO_LOCAL_STORE
: jalur lokal tempat Anda ingin untuk mendownload file
Contoh perintah:
gcloud storage cp gs://cloud-aoss/python/bleach/5.0.0 /tmp/bleach
--rekursifContoh file
requirements.txt
:bleach==5.0.0 \ --hash=sha256:6d286e765bfd3e309209cfa1d063e4d46afa966dea8cb97431c02b1e3067d812
Konten dari setiap file
requirements.txt
tersebut dapat digabungkan menjadi satu filerequirements-google.txt
tunggal.
Langkah selanjutnya
- Mendownload paket Java menggunakan akses repositori langsung di paket premium
- Mengakses metadata keamanan dan memverifikasi paket di paket premium