Une fois que vous avez intégré Assured OSS à Security Command Center, les packages Assured Open Source Software sont hébergés dans un dépôt Artifact Registry créé dans un projet que vous contrôlez.
Cette page explique comment vous connecter au dépôt Artifact Registry pour Assured OSS afin d'accéder directement aux packages Python et de les télécharger.
Ce document ne s'applique qu'au niveau premium Assured OSS. Pour le niveau gratuit, consultez Télécharger des packages Python à l'aide d'un accès direct au dépôt pour le niveau gratuit.
Avant de commencer
Validez la connectivité à Assured OSS pour les comptes de service demandés.
Installez la dernière version de la Google Cloud CLI.
Si vous avez déjà installé Google Cloud CLI, assurez-vous de disposer de la dernière version en exécutant la commande suivante:
gcloud components update
Configurer l'authentification
Vous pouvez vous authentifier auprès du dépôt de paquets Python Assured OSS à l'aide de l'une des méthodes suivantes:
- S'authentifier avec un trousseau
- S'authentifier avec une clé de compte de service
Les sections suivantes expliquent comment configurer ces méthodes d'authentification.
S'authentifier avec le trousseau
Pour utiliser le keyring Python pour vous authentifier auprès d'Artifact Registry, consultez la section Authentification avec le keyring et les informations sur l'ordre de recherche des identifiants. Nous vous recommandons d'utiliser le trousseau de clés Python pour l'authentification.
Pour configurer le trousseau pour l'authentification, procédez comme suit:
Installez la bibliothèque
keyring
:pip install keyring
Installez le backend Artifact Registry:
pip install keyrings.google-artifactregistry-auth
Listez les backends pour confirmer l'installation:
keyring --list-backends
La liste doit inclure les éléments suivants:
ChainerBackend(priority:10)
GooglePythonAuth(priority:9)
Pour en savoir plus sur la configuration des identifiants par défaut de l'application, consultez Configurer l'authentification.
Cette étape garantit que l'assistant d'identification Assured OSS obtient votre clé lors de la connexion aux dépôts.
S'authentifier avec une clé de compte de service
S'authentifier avec une clé de compte de service lorsque l'application nécessite une authentification avec un nom d'utilisateur et un mot de passe
Remplacez l'URL du dépôt de paquets https://us-python.pkg.dev/PROJECT_ID/assuredoss-python/simple
par l'URL https://_json_key_base64:$BASE64_KEY@us-python.pkg.dev/PROJECT_ID/assuredoss-python/simple
.
Remplacez PROJECT_ID
par l'ID du projet que vous avez sélectionné lorsque vous avez configuré le logiciel Open Source assuré.
Installer des packages
Les instructions suivantes supposent que vous utilisez PyPI comme dépôt pour télécharger vos dépendances. Si vous utilisez un autre dépôt, vous devez suivre des étapes différentes pour télécharger les dépendances.
Installer des packages existants dans Assured OSS
Pour spécifier les packages Python Assured OSS que vous souhaitez télécharger, créez deux fichiers requirements.txt
. Voici les exemples de fichiers:
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.
Pour télécharger les packages, exécutez les commandes suivantes:
Pour télécharger les packages requis qui se trouvent dans Artifact Registry pour Assured OSS, exécutez la commande suivante:
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
Réfléchissez aux éléments suivants :
--require-hashes
est facultatif. Si elles sont incluses, les hachages sont spécifiés pour tous les packages et pour toutes les versions de package dans le fichierrequirements.txt
.-v
est facultatif. Si elle est spécifiée, la commande fournit plus de résultats.
Pour télécharger les packages requis qui ne figurent pas dans Artifact Registry pour Assured OSS, exécutez la commande suivante:
pip install --requirement=requirements-pypi.txt --index-url https://pypi.org/simple -v
Cette commande télécharge également les dépendances manquantes des packages que vous avez téléchargés à l'aide de la commande précédente.
Lister tous les packages Python disponibles dans Assured OSS
Pour utiliser une API afin d'obtenir la liste de tous les packages Python du dépôt Artifact Registry, consultez la section Lister tous les packages Python disponibles dans Assured OSS.
Générer le fichier requirements-google.txt
Cette section fournit des informations supplémentaires sur la génération du fichier requirements-google.txt
dont vous avez besoin pour télécharger les paquets Python. Pour télécharger le hachage et générer le fichier requirements-google.txt
pour votre environnement, vous pouvez utiliser l'une des deux options suivantes:
Utilisez un script pour générer un seul fichier d'exigences pour tous les artefacts.
Téléchargez un fichier d'exigences distinct pour chaque artefact.
Les sections suivantes fournissent plus d'informations sur ces options.
Option 1: Utiliser un script pour générer un seul fichier de spécifications pour tous les artefacts
Utilisez le script generator.sh
pour générer un seul fichier requirements-google.txt
pour tous les packages Python (avec leurs hachages) disponibles avec Assured OSS pour le système d'exploitation Linux. Les packages doivent respecter des contraintes telles que la version de Python, l'architecture de la machine et le système d'exploitation. Vous pouvez ensuite supprimer les versions de paquets dont vous n'avez pas besoin et utiliser le fichier obtenu.
Le script generator.sh
vous aide de deux manières:
- Il génère la liste la plus récente des versions de paquets Python disponibles avec Assured OSS qui peuvent être installées sur votre système.
- Il génère le fichier
requirements-google.txt
ainsi que tous les hachages.
Le script requis et son fichier README.md
sont disponibles dans un bucket Cloud Storage (gs://cloud-aoss/utils/python-requirements-txt/v1.0
) que vous pouvez télécharger à l'aide de la Google Cloud CLI.
Pour télécharger le script et le fichier README.md
, procédez comme suit:
Authentifiez-vous avec le compte de service pour accéder au bucket Cloud Storage à l'aide de la commande suivante:
gcloud auth activate-service-account --key-file KEY_FILE
Remplacez
KEY_FILE
par le chemin d'accès au fichier contenant les identifiants du compte de service fournis lors de la configuration.Téléchargez
generator.sh
sur votre ordinateur à l'aide de la commande suivante:gcloud storage cp gs://cloud-aoss/utils/python-requirements-txt/v1.0/generator.sh PATH_TO_LOCAL_STORE --recursive
Remplacez
PATH_TO_LOCAL_STORE
par le chemin d'accès local dans lequel vous souhaitez enregistrer le fichier téléchargé.Téléchargez le fichier
README.md
à l'aide de la commande suivante:gcloud storage cp gs://cloud-aoss/utils/python-requirements-txt/v1.0/README.md PATH_TO_LOCAL_STORE --recursive
Remplacez
PATH_TO_LOCAL_STORE
par le chemin d'accès local dans lequel vous souhaitez enregistrer le fichier téléchargé. Le fichierREADME.md
contient des instructions sur l'utilisation du script.
Pour exécuter le script, utilisez les commandes suivantes:
Pour générer le fichier
requirements-google.txt
, exécutez la commande suivante:chmod +x generator.sh ./generator.sh
Pour obtenir les informations du package dans un fichier CSV, exécutez la commande suivante:
chmod +x generator.sh ./generator.sh -i
Option 2: Télécharger requirements.txt
pour chaque artefact requis
Vous pouvez également télécharger un fichier requirements.txt
(contenant le hachage) distinct pour chaque artefact Python, puis les combiner dans un seul fichier requirements.txt
.
Les hachages d'artefacts sont disponibles dans un bucket Cloud Storage, que vous pouvez télécharger à l'aide de la gcloud CLI. Les hachages de chaque package et d'une version se trouvent à l'emplacement du bucket Cloud Storage gs://cloud-aoss/python/PACKAGE_NAME/VERSION
.
Pour télécharger le fichier requirements.txt
, procédez comme suit:
Authentifiez-vous avec le compte de service pour accéder au bucket Cloud Storage à l'aide de la commande suivante:
gcloud auth activate-service-account --key-file KEY_FILE
Remplacez
KEY_FILE
par le chemin d'accès au fichier contenant les identifiants du compte de service.Téléchargez le
requirements.txt
d'un package et d'une version spécifiques sur votre ordinateur local à l'aide de la commande suivante:gcloud storage cp gs://cloud-aoss/python/PACKAGE_NAME/VERSION PATH_TO_LOCAL_STORE --recursive
Remplacez les éléments suivants :
PACKAGE_NAME
: nom du packageVERSION
: version du packagePATH_TO_LOCAL_STORE
: chemin d'accès local où vous souhaitez télécharger le fichier
Exemple de commande:
gcloud storage cp gs://cloud-aoss/python/bleach/5.0.0 /tmp/bleach
--recursiveExemple de fichier
requirements.txt
:bleach==5.0.0 \ --hash=sha256:6d286e765bfd3e309209cfa1d063e4d46afa966dea8cb97431c02b1e3067d812
Le contenu de chaque fichier
requirements.txt
peut être combiné en un seul fichierrequirements-google.txt
.
Étape suivante
- Télécharger des packages Java à l'aide d'un accès direct au dépôt dans le niveau Premium
- Accéder aux métadonnées de sécurité et vérifier les packages dans l'abonnement premium