Di paket premium, paket Assured OSS dihosting di repositori Artifact Registry yang dibuat dalam project yang Anda kontrol. Untuk mengakses dan mendownload paket Python secara langsung, Anda dapat terhubung ke repositori Artifact Registry untuk Assured OSS.
Dokumen ini hanya berlaku untuk paket 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 Service Account Key Admin (
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:
- Melakukan autentikasi dengan keyring Python
- Melakukan autentikasi dengan kunci akun layanan
Bagian berikut menjelaskan cara menyiapkan metode autentikasi ini.
Melakukan autentikasi dengan keyring Python
Untuk menggunakan keyring Python untuk melakukan autentikasi ke Artifact Registry, lihat melakukan autentikasi dengan keyring dan urutan penelusuran kredensial. Sebaiknya gunakan keyring Python untuk autentikasi.
Untuk menyiapkan keyring Python untuk autentikasi, lakukan hal berikut:
Instal library
keyring:pip install keyringInstal backend Artifact Registry:
pip install keyrings.google-artifactregistry-authCantumkan backend untuk mengonfirmasi penginstalan:
keyring --list-backendsDaftar tersebut 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
Melakukan autentikasi dengan kunci akun layanan saat aplikasi memerlukan autentikasi dengan nama pengguna dan sandi.
Ganti URL repositori paket
https://LOCATION-python.pkg.dev/PROJECT_ID/assuredoss-python/simple dengan
URL
https://_json_key_base64:$BASE64_KEY@LOCATION-python.pkg.dev/PROJECT_ID/assuredoss-python/simple
Ganti kode berikut:
PROJECT_ID: ID project yang Anda pilih saat menyiapkan Assured OSS.LOCATION: wilayah yang didukung.
Menginstal paket
Petunjuk berikut mengasumsikan bahwa Anda menggunakan PyPI dan requirements.txt untuk mendownload dan mengelola dependensi. Jika menggunakan proses pengelolaan dependensi lain, Anda harus menggunakan langkah-langkah yang berbeda.
Menginstal paket di Assured OSS
Untuk menentukan paket Python Assured OSS yang ingin Anda download, buat dua file requirements.txt. File contohnya 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@LOCATION-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. Sebaiknya sematkan dependensi dengan hash SHA-256 dalam filerequirements.txtAnda untuk memastikan keamanan dan reproduksibilitas.-vbersifat opsional. Jika ditentukan, perintah akan memberikan lebih banyak output.- Ganti
LOCATIONdengan region yang didukung.
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 cara membuat 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: Menggunakan 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-nya) 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 terbaru versi paket Python yang tersedia dengan Assured OSS yang dapat berhasil diinstal 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 komputer 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 (berisi hash)
untuk setiap artefak Python, lalu menggabungkannya menjadi 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 komputer 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.