Nel Livello senza costi, i pacchetti Assured Open Source Software (Assured OSS) sono ospitati in un repository Artifact Registry gestito da Google. Per accedere direttamente ai pacchetti Python e scaricarli, puoi connetterti al repository Artifact Registry per Assured OSS.
Questo documento si applica solo al Livello senza costi. Per il livello Premium, consulta Scarica i pacchetti Python utilizzando l'accesso diretto al repository.
Prima di iniziare
Chiedi all'amministratore di concederti il ruolo IAM Amministratore chiavi account di servizio (
roles/iam.serviceAccountKeyAdmin) per la tua organizzazione. Questa autorizzazione è necessaria per ottenere la stringa con codifica Base64 della chiave del account di servizio. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.Configura Assured OSS. Per il livello senza costi, invia il modulo di attivazione per i clienti per abilitare l'accesso ad Assured OSS.
Convalida la connettività ad Assured OSS per i service account richiesti.
Abilita l'API Artifact Registry per il progetto Google Cloudpadre dei service account utilizzati per accedere ad Assured OSS.
Installa l'ultima versione di Google Cloud CLI. Se hai già installato Google Cloud CLI, assicurati di avere l'ultima versione eseguendo questo comando:
gcloud components update
Configura l'autenticazione
Puoi autenticarti nel repository dei pacchetti Python di Assured OSS utilizzando uno dei seguenti metodi:
- Esegui l'autenticazione con il keyring Python
- Autenticati con una chiave del account di servizio
Le sezioni seguenti descrivono come configurare questi metodi di autenticazione.
Esegui l'autenticazione con il keyring Python
Per l'autenticazione in Artifact Registry utilizzando Python, ti consigliamo di utilizzare il keyring Python. Per saperne di più, consulta Autenticazione con keyring e Ordine di ricerca delle credenziali.
Per configurare il keyring Python per l'autenticazione:
Installa la libreria
keyring:pip install keyringInstalla il backend Artifact Registry:
pip install keyrings.google-artifactregistry-authElenca i backend per confermare l'installazione:
keyring --list-backendsL'elenco deve includere quanto segue:
ChainerBackend(priority:10)GooglePythonAuth(priority:9)
Per informazioni su come configurare le Credenziali predefinite dell'applicazione, consulta Configura l'autenticazione.
Questo passaggio garantisce che l'helper per le credenziali di Assured OSS ottenga la tua chiave durante la connessione ai repository.
Autenticati con una chiave del account di servizio
Esegui l'autenticazione con una chiave del account di servizio quando l'applicazione richiede l'autenticazione con un nome utente e una password.
Sostituisci l'URL del Package Repository https://us-python.pkg.dev/cloud-aoss/cloud-aoss-python/simple con l'URL https://_json_key_base64:$BASE64_KEY@us-python.pkg.dev/cloud-aoss/cloud-aoss-python/simple
Installa pacchetti
Le seguenti istruzioni presuppongono che tu stia utilizzando PyPI e requirements.txt per scaricare e gestire le tue dipendenze. Se utilizzi un altro processo di gestione delle dipendenze, devi seguire passaggi diversi.
Installa i pacchetti in Assured OSS
Per specificare i pacchetti Python di Assured OSS che vuoi scaricare, crea due file requirements.txt. I file di esempio sono i seguenti:
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.
Per scaricare i pacchetti, esegui questi comandi:
Per scaricare i pacchetti richiesti che si trovano in Artifact Registry per Assured OSS, esegui quanto segue:
pip install --require-hashes --requirement=requirements-google.txt \ --index-url https://_json_key_base64:$BASE64_KEY@us-python.pkg.dev/cloud-aoss/cloud-aoss-python/simple -v \ --no-depsConsidera quanto segue:
--require-hashesè facoltativo. Se inclusi, gli hash vengono specificati per tutti i pacchetti e per tutte le versioni dei pacchetti nel filerequirements.txt.-vè facoltativo. Se specificato, il comando fornisce più output. Ti consigliamo di bloccare le dipendenze con hash SHA-256 nel filerequirements.txtper garantire sicurezza e riproducibilità.
Per scaricare i pacchetti richiesti che non si trovano in Artifact Registry per Assured OSS, esegui questo comando:
pip install --requirement=requirements-pypi.txt --index-url https://pypi.org/simple -vQuesto comando scarica anche le dipendenze mancanti dei pacchetti che hai scaricato utilizzando il comando precedente.
Accedi ai pacchetti non disponibili nel repository Artifact Registry per Assured OSS
Assured OSS è preconfigurato con Assured OSS come repository preferito e repository pubblici canonici, come Maven Central o PyPI, come repository secondari.
Per utilizzare questa funzionalità (anteprima), puoi scegliere un singolo URL:
https://us-python.pkg.dev/cloud-aoss/python/simple
Elenca tutti i pacchetti Python disponibili in Assured OSS
Per utilizzare un'API per ottenere un elenco di tutti i pacchetti Python nel repository Artifact Registry, consulta Elenca tutti i pacchetti Python disponibili in Assured OSS.
Generazione del file requirements-google.txt
Questa sezione fornisce ulteriori informazioni sulla generazione del file requirements-google.txt necessario per scaricare i pacchetti Python. Per scaricare l'hash e generare il file requirements-google.txt per il tuo ambiente, puoi utilizzare una delle seguenti opzioni:
Utilizza uno script per generare un singolo file dei requisiti per tutti gli artefatti.
Scarica un file dei requisiti separato per ogni artefatto.
Le sezioni seguenti forniscono ulteriori informazioni su queste opzioni.
Opzione 1: utilizza uno script per generare un singolo file dei requisiti per tutti gli artefatti
Utilizza lo script generator.sh per generare un singolo file requirements-google.txt per tutti i pacchetti Python (insieme ai relativi hash) disponibili con Assured OSS per il sistema operativo Linux. I pacchetti devono soddisfare vincoli come la versione di Python, l'architettura della macchina e il sistema operativo. Puoi quindi eliminare le versioni del pacchetto che non ti servono e utilizzare il file risultante.
Lo script generator.sh è utile nei seguenti modi:
- Genera l'elenco più recente delle versioni dei pacchetti Python disponibili con Assured OSS che possono essere installate correttamente sul tuo sistema.
- Genera il file
requirements-google.txtinsieme a tutti gli hash.
Lo script richiesto e il relativo file README.md sono disponibili in un bucket Cloud Storage (gs://cloud-aoss/utils/python-requirements-txt/v1.0), che può essere scaricato utilizzando Google Cloud CLI.
Per scaricare lo script e il file README.md, segui questi passaggi:
Esegui l'autenticazione con il account di servizio per accedere al bucket Cloud Storage utilizzando il seguente comando:
gcloud auth activate-service-account --key-file KEY_FILESostituisci KEY_FILE con il percorso del file contenente le credenziali del account di servizio.
Scarica
generator.shsulla tua macchina utilizzando il seguente comando:gcloud storage cp gs://cloud-aoss/utils/python-requirements-txt/v1.0/generator.sh PATH_TO_LOCAL_STORE --recursiveSostituisci PATH_TO_LOCAL_STORE con il percorso locale in cui vuoi salvare il file scaricato.
Scarica il file
README.mdutilizzando il seguente comando:gcloud storage cp gs://cloud-aoss/utils/python-requirements-txt/v1.0/README.md PATH_TO_LOCAL_STORE --recursiveSostituisci PATH_TO_LOCAL_STORE con il percorso locale in cui vuoi salvare il file scaricato. Il file
README.mdcontiene le istruzioni su come utilizzare lo script.
Per eseguire lo script, utilizza i seguenti comandi:
Per generare il file
requirements-google.txt, esegui questo comando:chmod +x generator.sh ./generator.shPer ottenere le informazioni del pacchetto in un file CSV, esegui questo comando:
chmod +x generator.sh ./generator.sh -i
Opzione 2: scarica requirements.txt per ogni artefatto richiesto
Puoi anche scaricare un file requirements.txt separato (contenente l'hash) per ogni artefatto Python e poi combinarli in un unico file requirements.txt.
Gli hash degli artefatti sono disponibili in un bucket Cloud Storage, che può essere scaricato utilizzando gcloud CLI. Gli hash per ogni pacchetto e una versione si trovano nella posizione del bucket Cloud Storage gs://cloud-aoss/python/PACKAGE_NAME/VERSION.
Per scaricare il file requirements.txt, segui questi passaggi:
Esegui l'autenticazione con il account di servizio per accedere al bucket Cloud Storage utilizzando il seguente comando:
gcloud auth activate-service-account --key-file KEY_FILESostituisci KEY_FILE con il percorso del file contenente le credenziali del account di servizio.
Scarica il file
requirements.txtdi un pacchetto e di una versione specifici sulla tua macchina locale utilizzando il seguente comando:gcloud storage cp gs://cloud-aoss/python/PACKAGE_NAME/VERSION PATH_TO_LOCAL_STORE --recursiveSostituisci quanto segue:
- PACKAGE_NAME: il nome del pacchetto
- VERSION: la versione del pacchetto
- PATH_TO_LOCAL_STORE: il percorso locale in cui vuoi scaricare il file
Comando di esempio:
gcloud storage cp gs://cloud-aoss/python/bleach/5.0.0 /tmp/bleach--recursiveFile
requirements.txtcampione:bleach==5.0.0 \ --hash=sha256:6d286e765bfd3e309209cfa1d063e4d46afa966dea8cb97431c02b1e3067d812I contenuti di ogni file
requirements.txtpossono essere combinati in un unico filerequirements-google.txt.