Setelah Anda mengintegrasikan Assured OSS dengan Security Command Center, paket Assured Open Source Software dihosting di repositori Artifact Registry yang dibuat di project yang Anda kontrol.
Halaman ini menjelaskan cara terhubung ke repositori Artifact Registry untuk Assured OSS guna mengakses dan mendownload paket Python secara langsung.
Dokumen ini hanya berlaku untuk tingkat premium Assured OSS. Untuk paket gratis, lihat Mendownload paket Python menggunakan akses repositori langsung untuk paket gratis.
Sebelum memulai
Minta administrator untuk memberi Anda peran IAM Admin Kunci Akun Layanan (
roles/iam.serviceAccountKeyAdmin) di organisasi Anda. Anda memerlukan izin ini untuk mendapatkan string berenkode base64 dari kunci akun layanan. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.Mengintegrasikan Assured OSS dengan Security Command Center.
Validasi konektivitas ke Assured OSS untuk akun layanan yang diminta.
Instal Google Cloud CLI versi terbaru. Jika Anda telah menginstal Google Cloud CLI sebelumnya, pastikan Anda memiliki versi terbaru dengan menjalankan perintah ini:
gcloud components update
Menyiapkan autentikasi
Anda dapat melakukan autentikasi ke repositori paket Python Assured OSS menggunakan salah satu metode berikut:
- Mengautentikasi dengan keyring
- Melakukan autentikasi dengan kunci akun layanan
Bagian berikut menjelaskan cara menyiapkan metode autentikasi ini.
Melakukan autentikasi dengan keyring
Untuk menggunakan keyring Python guna mengautentikasi ke Artifact Registry, lihat mengautentikasi dengan keyring dan urutan penelusuran kredensial. Sebaiknya gunakan keyring Python untuk autentikasi.
Untuk menyiapkan keyring untuk autentikasi, lakukan hal berikut:
Instal library
keyring:pip install keyringInstal backend Artifact Registry:
pip install keyrings.google-artifactregistry-authMencantumkan backend untuk mengonfirmasi penginstalan:
keyring --list-backendsDaftar 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.
Melakukan autentikasi dengan kunci akun layanan
Lakukan autentikasi dengan kunci akun layanan saat aplikasi memerlukan autentikasi dengan nama pengguna dan sandi.
Ganti 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 PROJECT_ID dengan ID project yang Anda
pilih saat menyiapkan Assured Open Source Software.
Menginstal paket
Petunjuk berikut mengasumsikan bahwa Anda menggunakan PyPI sebagai repositori untuk mendownload dependensi. Jika Anda menggunakan repositori lain, Anda harus menggunakan langkah-langkah yang berbeda untuk mendownload dependensi.
Menginstal paket di Assured OSS
Untuk menentukan paket Python Assured OSS yang ingin Anda download, buat dua file requirements.txt. Contoh file 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:29895bfe55b93b75552fbdd1e09aa0c82b7c1c9395d4f267e10c7d43cd31a74erequirements-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 mendownload 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-depsPertimbangkan hal berikut:
--require-hashesbersifat opsional. Jika disertakan, hash ditentukan untuk semua paket dan untuk semua versi paket dalam filerequirements.txt.-vbersifat opsional. Jika ditentukan, perintah akan memberikan lebih banyak output.
Untuk mendownload paket yang diperlukan yang tidak ada di Artifact Registry untuk Assured OSS, jalankan perintah berikut:
pip install --requirement=requirements-pypi.txt --index-url https://pypi.org/simple -vPerintah ini juga mendownload dependensi yang hilang dari paket yang telah Anda download menggunakan perintah sebelumnya.
Mencantumkan semua paket Python yang tersedia di Assured OSS
Untuk menggunakan API guna 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 pembuatan file
requirements-google.txt yang Anda perlukan untuk mendownload paket
Python. Untuk mendownload hash dan membuat file requirements-google.txt
untuk lingkungan Anda, Anda dapat menggunakan salah satu dari dua opsi berikut:
Gunakan 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 hashnya) yang tersedia dengan Assured OSS untuk sistem operasi Linux. Paket harus memenuhi batasan seperti versi Python, arsitektur mesin, dan sistem operasi. Kemudian, Anda dapat menghapus versi paket yang tidak
diperlukan dan menggunakan file yang dihasilkan.
Skrip generator.sh membantu dalam dua cara berikut:
- Membuat daftar versi paket Python terbaru yang tersedia dengan Assured OSS yang dapat diinstal dengan berhasil di sistem Anda.
- Membuat file
requirements-google.txtbeserta 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-langkah berikut:
Lakukan autentikasi dengan akun layanan untuk mengakses bucket Cloud Storage menggunakan perintah berikut:
gcloud auth activate-service-account --key-file KEY_FILEGanti
KEY_FILEdengan jalur ke file yang berisi kredensial akun layanan yang diberikan selama penyiapan.Download
generator.shke mesin Anda menggunakan perintah berikut:gcloud storage cp gs://cloud-aoss/utils/python-requirements-txt/v1.0/generator.sh PATH_TO_LOCAL_STORE --recursiveGanti
PATH_TO_LOCAL_STOREdengan jalur lokal tempat Anda ingin menyimpan file yang didownload.Download file
README.mdmenggunakan perintah berikut:gcloud storage cp gs://cloud-aoss/utils/python-requirements-txt/v1.0/README.md PATH_TO_LOCAL_STORE --recursiveGanti
PATH_TO_LOCAL_STOREdengan jalur lokal tempat Anda ingin menyimpan file yang didownload. FileREADME.mdberisi 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.shUntuk 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 (yang berisi hash)
untuk setiap artefak Python, lalu menggabungkannya ke dalam satu file requirements.txt.
Hash artefak tersedia di bucket Cloud Storage yang dapat didownload menggunakan gcloud CLI. Hash untuk setiap paket dan versi berada di lokasi bucket Cloud Storage gs://cloud-aoss/python/PACKAGE_NAME/VERSION.
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_FILEGanti
KEY_FILEdengan jalur ke file yang berisi kredensial akun layanan.Download
requirements.txtpaket dan versi tertentu ke mesin lokal Anda menggunakan perintah berikut:gcloud storage cp gs://cloud-aoss/python/PACKAGE_NAME/VERSION PATH_TO_LOCAL_STORE --recursiveGanti kode berikut:
PACKAGE_NAME: nama paketVERSION: versi paketPATH_TO_LOCAL_STORE: jalur lokal tempat Anda ingin mendownload file
Contoh perintah:
gcloud storage cp gs://cloud-aoss/python/bleach/5.0.0 /tmp/bleach--recursiveContoh file
requirements.txt:bleach==5.0.0 \ --hash=sha256:6d286e765bfd3e309209cfa1d063e4d46afa966dea8cb97431c02b1e3067d812Konten setiap file
requirements.txttersebut dapat digabungkan menjadi satu filerequirements-google.txt.
Langkah berikutnya
- Mendownload paket Java menggunakan akses repositori langsung di tingkat premium
- Mengakses metadata keamanan dan memverifikasi paket di tingkat premium