Ce document vous aide à vérifier que vos comptes de service et vos comptes AWS sont correctement activés pour accéder au service Assured Open Source Software.
Pour vérifier si vos Google Cloud comptes de service ou (pour le niveau sans frais uniquement) votre ID de compte AWS sont activés pour accéder au dépôt Assured OSS et au portefeuille de packages sélectionnés, listez les packages Java, Python, Go ou JavaScript (NPM) disponibles à l'aide d'une API. Pour ce faire, vous pouvez appeler directement les API, ou utiliser Cloud Shell pour exécuter un appel de ligne de commande curl à l'API.
Si vous utilisez le niveau sans frais, dans de rares cas, vous pouvez être confronté à des erreurs d'autorisation refusée pendant une heure ou plus après avoir envoyé le formulaire d'activation client.
Ce document s'applique aux niveaux premium et sans frais.
Avant de commencer
Installez la dernière version de la Google Cloud CLI. Si vous avez déjà installé la Google Cloud CLI, assurez-vous de disposer de la dernière version en exécutant la commande suivante :
gcloud components updatePour accéder à Assured OSS à l'aide de Google Cloud, activez l'API Artifact Registry pour le parent Google Cloud projet des comptes de service que vous avez activés pour Assured OSS. Si vous utilisez le niveau premium, l'API est activée lors de la configuration.
Ajoutez les URL suivantes à la liste d'autorisation de votre réseau :
*.pkg.devartifactregistry.googleapis.com
Configurer l'authentification
Pour Google Cloud
Générez et téléchargez la clé de compte de service. Nous vous recommandons de suivre les bonnes pratiques pour gérer les clés de compte de service.
Si vous êtes déjà connecté à la Google Cloud CLI, révoquez toute authentification existante :
gcloud auth revokeAuthentifiez-vous auprès de Google Cloud:
gcloud auth login --cred-file=FILEPATH.jsonOù FILEPATH correspond au chemin d'accès à la clé de compte de service.
Mettez à jour les identifiants par défaut de l'application :
export GOOGLE_APPLICATION_CREDENTIALS=FILEPATH.jsonOù FILEPATH correspond au chemin d'accès à la clé de compte de service.
Pour AWS
Ces étapes ne s'appliquent qu'au niveau sans frais d'Assured OSS.
Configurez votre instance EC2 pour autoriser la demande d'identifiants temporaires.
- Connectez-vous à l'AWS Management Console.
- Dans la console AWS Management Console, accédez au tableau de bord EC2 et sélectionnez votre instance EC2 cible.
- Sélectionnez Actions > Security > Modify IAM Role (Actions > Sécurité > Modifier le rôle IAM).
- Sélectionnez Create New IAM Role > Create role (Créer un rôle IAM > Créer un rôle).
- Pour le type d'entité de confiance, sélectionnez AWS Service (Service AWS).
- Pour le cas d'utilisation, sélectionnez EC2.
- Ajoutez l'autorisation AmazonEC2ReadOnlyAccess , puis cliquez sur Next (Suivant).
- Attribuez un nom explicite au rôle IAM, puis cliquez sur Next (Suivant).
- Revenez à Modify IAM Role (Modifier le rôle IAM). Sélectionnez le rôle que vous venez de créer, puis cliquez sur Update IAM Role (Mettre à jour le rôle IAM).
Générez le fichier de configuration des identifiants :
gcloud iam workload-identity-pools create-cred-config \ projects/ASSIGNED_PROJECT_NUMBER/locations/global/workloadIdentityPools/aoss-wif-pool/providers/aws-AWS_ACCOUNT_ID-provider \ --service-account=aoss-wif-aws-AWS_ACCOUNT_ID-sa@ASSIGNED_PROJECT_ID. \ --aws \ --output-file=FILEPATH.jsonRemplacez les éléments suivants :
- AWS_ACCOUNT_ID : numéro à 12 chiffres de votre
compte AWS (par exemple,
123456789012). - FILEPATH : fichier dans lequel enregistrer la configuration. + ASSIGNED_PROJECT_ID : ID du Google Cloud projet qui vous a été attribué, comme indiqué dans l'e-mail d'activation. + ASSIGNED_PROJECT_NUMBER: Google Cloud numéro de projet Google Cloud qui vous a été attribué, comme indiqué dans l'e-mail d'activation.
Si vous utilisez AWS IMDSv2, ajoutez l'option
--enable-imdsv2à la commande précédente. Pour en savoir plus, consultez la section Créer une configuration d'identifiants.- AWS_ACCOUNT_ID : numéro à 12 chiffres de votre
compte AWS (par exemple,
Si vous êtes déjà connecté à la Google Cloud CLI, révoquez toute authentification existante :
gcloud auth revokeAuthentifiez-vous auprès de Google Cloud:
gcloud auth login --cred-file=FILEPATH.jsonOù FILEPATH correspond au chemin d'accès au fichier de configuration des identifiants.
Mettez à jour les identifiants par défaut de l'application :
export GOOGLE_APPLICATION_CREDENTIALS=FILEPATH.jsonOù FILEPATH correspond au chemin d'accès à la clé de compte de service ou au fichier de configuration des identifiants.
Pour résoudre les problèmes liés à l'authentification, consultez la section Résoudre les erreursd'authentification.
Lister tous les packages Java disponibles dans Assured OSS
Vous pouvez utiliser une API REST pour lister tous les packages Java et leurs versions.
Pour le niveau sans frais d'Assured OSS, saisissez la requête HTTP suivante :
curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-java/mavenArtifacts"
Pour le niveau premium d'Assured OSS, saisissez la requête HTTP suivante :
curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/us/repositories/assuredoss-java/packages
Remplacez PROJECT_ID par l'ID du projet que vous avez sélectionné lors de la configuration d'Assured OSS.
Voici un exemple de commande curl pour se connecter au dépôt Java du niveau sans frais :
curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-java/mavenArtifacts"
La requête renvoie une réponse semblable à l'exemple suivant :
{
"mavenArtifacts": [
{
"name":
"projects/cloud-aoss/locations/us/repositories/cloud-aoss-java/mavenArtifacts/com.alibaba:fastjson:1.2.83",
"pomUri":
"us-maven.pkg.dev/cloud-aoss/cloud-aoss-java/com/alibaba/fastjson/1.2.83/fastjson-1.2.83.pom",
"groupId": "com.alibaba",
"artifactId": "fastjson",
"version": "1.2.83",
"createTime": "2022-06-24T09:10:05.166879Z",
"updateTime": "2022-06-24T09:10:05.166879Z"
},
{
"name":
"projects/cloud-aoss/locations/us/repositories/cloud-aoss-java/mavenArtifacts/org.apache.logging.log4j:log4j-api:2.17.1",
"pomUri":
"us-maven.pkg.dev/cloud-aoss/cloud-aoss-java/org/apache/logging/log4j/log4j-api/2.17.1/log4j-api-2.17.1.pom",
"groupId": "org.apache.logging.log4j",
"artifactId": "log4j-api",
"version": "2.17.1",
"createTime": "2022-03-16T12:22:50.113695Z",
"updateTime": "2022-03-16T12:22:50.113695Z"
},
{
"name":
"projects/cloud-aoss/locations/us/repositories/cloud-aoss-java/mavenArtifacts/org.apache.logging.log4j:log4j-core:2.17.1",
"pomUri":
"us-maven.pkg.dev/cloud-aoss/cloud-aoss-java/org/apache/logging/log4j/log4j-core/2.17.1/log4j-core-2.17.1.pom",
"groupId": "org.apache.logging.log4j",
"artifactId": "log4j-core",
"version": "2.17.1",
"createTime": "2022-03-16T12:26:40.317215Z",
"updateTime": "2022-03-16T12:26:40.317215Z"
}
]
}
Si de nombreux packages sont disponibles, la réponse de l'API peut être paginée. Lorsque la
liste est incomplète, le jeton de continuité nextPageToken est renvoyé dans la
réponse. Le nextPageToken représente le dernier résultat qui est
renvoyé. Lorsque vous transmettez la valeur de nextPageToken au paramètre pageToken
d'une requête ultérieure, vous renvoyez la page de résultats suivante,
en commençant après le dernier résultat.
Pour afficher la page de résultats suivante ou augmenter le nombre d'objets renvoyés par page, utilisez l'URL suivante :
"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-java/mavenArtifacts?pageSize=NUMBER&pageToken=NEXT_PAGE_TOKEN"
Remplacez les éléments suivants :
- NUMBER : nombre d'éléments à renvoyer par page. La valeur maximale acceptée est 1 000.
- NEXT_PAGE_TOKEN : valeur du jeton
nextPageTokenrenvoyée dans la réponse JSON.
Vous pouvez également utiliser le script suivant pour collecter les résultats paginés de la requête API susmentionnée dans un fichier :
tempFile=$(mktemp)
nextPageToken=""
while
curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-java/mavenArtifacts?pageSize=1000&pageToken=$nextPageToken" > $tempFile
nextPageToken=$(grep nextPageToken $tempFile | sed 's/ "nextPageToken": "//' | sed 's/.$//')
grep -v nextPageToken $tempFile >> FILENAME1
[ -n "$nextPageToken" ]
do
:
done
Facultatif : Écrire une liste triée des noms de packages Java principaux dans FILENAME2
Les actions de ligne de commande supplémentaires suivantes filtrent la liste brute renvoyée des packages Java pour vous fournir une liste contenant uniquement les noms de packages principaux.
curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-java/mavenArtifacts?pageSize=1000" \
| grep artifactId | sort -f | uniq > FILENAME2
Facultatif : Écrire une liste triée des versions de packages Java dans FILENAME3
Les actions de ligne de commande supplémentaires suivantes filtrent la liste brute renvoyée des packages Java pour vous fournir une liste contenant uniquement les versions de packages.
curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-java/mavenArtifacts?pageSize=1000" \
| grep name | sort -f | uniq > FILENAME3
Lister tous les packages Python disponibles dans Assured OSS
Vous pouvez utiliser une API REST pour lister tous les packages Python et leurs versions. Ces packages sont disponibles pour Python 3.8.
Pour le niveau sans frais d'Assured OSS, saisissez la requête HTTP suivante :
GET https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-python/pythonPackages
Pour le niveau premium d'Assured OSS, saisissez la requête HTTP suivante :
curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
"https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/us/repositories/assuredoss-python/packages"
Remplacez PROJECT_ID par l'ID du projet que vous avez sélectionné lors de la configuration d'Assured OSS.
Pour lister tous les packages spécifiques à votre environnement,
utilisez le script generator.sh.
La commande suivante est un exemple de commande curl pour se connecter au dépôt Python Assured OSS du niveau sans frais :
curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-python/pythonPackages"
La requête renvoie une réponse semblable à l'exemple suivant :
{
"pythonPackages": [
{
"name":
"projects/cloud-aoss/locations/us/repositories/cloud-aoss-python/pythonPackages/Flask:2.1.2",
"uri":
"us-python.pkg.dev/cloud-aoss/cloud-aoss-python/flask/Flask-2.1.2-py3-none-any.whl",
"packageName": "Flask",
"version": "2.1.2",
"createTime": "2022-07-13T11:06:54.163313Z",
"updateTime": "2022-07-13T11:06:54.163313Z"
},
{
"name":
"projects/cloud-aoss/locations/us/repositories/cloud-aoss-python/pythonPackages/ujson:5.3.0",
"uri":
"us-python.pkg.dev/cloud-aoss/cloud-aoss-python/ujson/ujson-5.3.0-cp38-cp38-linux_x86_64.whl",
"packageName": "ujson",
"version": "5.3.0",
"createTime": "2022-07-13T11:06:17.263638Z",
"updateTime": "2022-07-13T11:06:17.263638Z"
},
{
"name":
"projects/cloud-aoss/locations/us/repositories/cloud-aoss-python/pythonPackages/ujson:5.4.0",
"uri":
"us-python.pkg.dev/cloud-aoss/cloud-aoss-python/ujson/ujson-5.4.0-cp38-cp38-linux_x86_64.whl",
"packageName": "ujson",
"version": "5.4.0",
"createTime": "2022-07-13T11:09:00.865162Z",
"updateTime": "2022-07-13T11:09:00.865162Z"
},
{
"name":
"projects/cloud-aoss/locations/us/repositories/cloud-aoss-python/pythonPackages/urllib3:1.26.8",
"uri":
"us-python.pkg.dev/cloud-aoss/cloud-aoss-python/urllib3/urllib3-1.26.8-py2.py3-none-any.whl",
"packageName": "urllib3",
"version": "1.26.8",
"createTime": "2022-07-13T11:05:56.529484Z",
"updateTime": "2022-07-13T11:05:56.529484Z"
}
]
}
Si de nombreux packages sont disponibles, la réponse de l'API peut être paginée. Lorsque la
liste est incomplète, le jeton de continuité nextPageToken est renvoyé dans la
réponse. Le nextPageToken représente le dernier résultat
renvoyé. Lorsque vous transmettez la valeur de nextPageToken au paramètre pageToken
d'une requête ultérieure, vous renvoyez la page de résultats suivante,
en commençant après le dernier résultat.
Pour afficher la page de résultats suivante ou augmenter le nombre d'objets renvoyés par page, utilisez l'URL suivante dans le niveau sans frais :
"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-python/pythonPackages?pageSize=NUMBER&pageToken=NEXT_PAGE_TOKEN"
Remplacez les éléments suivants :
- NUMBER : nombre d'éléments à renvoyer par page. La valeur maximale acceptée est 1 000.
- NEXT_PAGE_TOKEN : valeur du jeton
nextPageTokenrenvoyée dans la réponse JSON.
Vous pouvez également utiliser le script suivant pour collecter les résultats paginés de la requête API susmentionnée dans un fichier.
tempFile=$(mktemp)
nextPageToken=""
while
curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-python/pythonPackages?pageSize=1000&pageToken=$nextPageToken" > $tempFile
nextPageToken=$(grep nextPageToken $tempFile | sed 's/ "nextPageToken": "//' | sed 's/.$//')
grep -v nextPageToken $tempFile >> FILENAME4
[ -n "$nextPageToken" ]
do
:
done
Facultatif : Écrire une liste triée des noms de packages Python principaux dans FILENAME5
Les actions de ligne de commande supplémentaires suivantes filtrent la liste brute renvoyée des packages Python pour vous fournir une liste contenant uniquement les noms de packages principaux.
curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-python/pythonPackages?pageSize=1000" \
| grep packageName | sort -f | uniq > FILENAME5
Facultatif : Écrire une liste triée des versions de packages Python dans FILENAME6
Les actions de ligne de commande supplémentaires suivantes filtrent la liste brute renvoyée des packages Python pour vous fournir une liste contenant uniquement les versions de packages.
curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-python/pythonPackages?pageSize=1000" \
| grep name | sort -f | uniq > FILENAME6
Lister tous les packages Go disponibles dans Assured OSS
Vous pouvez utiliser une API REST pour lister tous les packages Go et leurs versions.
Pour le niveau sans frais d'Assured OSS, saisissez la requête HTTP suivante :
curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/assuredoss-go-free/packages"
Pour le niveau premium d'Assured OSS, saisissez la requête HTTP suivante :
curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/us/repositories/assuredoss-go/packages
Remplacez PROJECT_ID par l'ID du projet que vous avez sélectionné lors de la configuration d'Assured OSS.
Voici un exemple de commande curl pour se connecter au dépôt Go du niveau sans frais :
curl -X GET -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/assuredoss-go-free/packages
La requête renvoie une réponse semblable à celle-ci :
{
"packages": [
{
"name": "projects/cloud-aoss/locations/us/repositories/assuredoss-go-free/packages/cloud.google.com%2Fgo%2Fauth",
"createTime": "2025-08-05T06:04:54.442071Z",
"updateTime": "2025-08-05T06:04:54.442071Z"
},
{
"name": "projects/cloud-aoss/locations/us/repositories/assuredoss-go-free/packages/cloud.google.com%2Fgo%2Fauth%2Foauth2adapt",
"createTime": "2025-08-05T06:04:41.242052Z",
"updateTime": "2025-08-05T06:04:41.242052Z"
},
{
"name": "projects/cloud-aoss/locations/us/repositories/assuredoss-go-free/packages/cloud.google.com%2Fgo%2Fcompute%2Fmetadata",
"createTime": "2025-08-05T06:05:31.140186Z",
"updateTime": "2025-08-05T06:05:31.140186Z"
},
{
"name": "projects/cloud-aoss/locations/us/repositories/assuredoss-go-free/packages/cloud.google.com%2Fgo%2Fiam",
"createTime": "2025-08-05T06:04:54.455300Z",
"updateTime": "2025-08-05T06:04:54.455300Z"
},
{
"name": "projects/cloud-aoss/locations/us/repositories/assuredoss-go-free/packages/cloud.google.com%2Fgo%2Flogging",
"createTime": "2025-08-05T06:05:36.186851Z",
"updateTime": "2025-08-05T06:05:36.186851Z"
}
]
}
Si de nombreux packages sont disponibles, la réponse de l'API peut être paginée. Lorsque la liste est incomplète, le jeton de continuité nextPageToken est renvoyé dans la réponse. nextPageToken représente le dernier résultat renvoyé.
Lorsque vous transmettez la valeur de nextPageToken au paramètre pageToken d'une requête ultérieure, vous renvoyez la page de résultats suivante, en commençant après le dernier résultat.
Pour afficher la page de résultats suivante ou augmenter le nombre d'objets renvoyés par page, utilisez l'URL suivante :
"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/assuredoss-go-free/packages?pageSize=NUMBER&pageToken=NEXT_PAGE_TOKEN"
Remplacez les éléments suivants :
- NUMBER : nombre d'éléments à renvoyer par page. La valeur maximale acceptée est 1 000.
- NEXT_PAGE_TOKEN : valeur du jeton
nextPageTokenrenvoyée dans la réponse JSON.
Vous pouvez également utiliser le script suivant pour collecter les résultats paginés de la requête API dans un fichier :
tempFile=$(mktemp)
nextPageToken=""
while
curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/assuredoss-go-free/packages?pageSize=1000&pageToken=$nextPageToken" > $tempFile
nextPageToken=$(grep nextPageToken $tempFile | sed 's/ "nextPageToken": "//' | sed 's/.$//')
grep -v nextPageToken $tempFile >> FILENAME7
[ -n "$nextPageToken" ]
do
:
done
Facultatif : Écrire une liste triée des noms de packages Go principaux dans FILENAME8
Les actions suivantes filtrent la liste brute renvoyée des modules Go pour vous fournir une liste contenant uniquement les noms de packages principaux :
curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/assuredoss-go-free/packages?pageSize=1000" \
| grep name | sort -f | uniq > FILENAME8
Facultatif : Écrire une liste triée des versions de packages Go dans FILENAME9
Bien qu'une requête HTTP directe permettant de lister toutes les versions de packages Go ne soit pas disponible, vous pouvez lister toutes les versions d'un package Go spécifique. Vous pouvez générer une liste complète de toutes les versions de packages Go en listant de manière itérative les versions de chaque package Go identifié dans la liste de FILENAME8.
Les actions suivantes filtrent la liste brute renvoyée des versions de packages Go pour vous fournir une liste contenant uniquement les versions de packages :
grep -o "packages/.*" FILENAME8 | tr -d '",' | cut -d '/' -f 2 | while read package_name; do curl -X GET -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/assuredoss-go-free/packages/$package_name/versions | grep name | sort -f | uniq >> FILENAME9; done
Lister tous les packages JavaScript (NPM) disponibles dans Assured OSS
Vous pouvez utiliser une API REST pour lister tous les packages JavaScript (NPM) et leurs versions.
Pour le niveau sans frais d'Assured OSS, saisissez la requête HTTP suivante :
curl -X GET -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/assuredoss-javascript-free/packages"
Pour le niveau premium d'Assured OSS, saisissez la requête HTTP suivante :
curl -X GET -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/us/repositories/assuredoss-javascript/packages
Remplacez PROJECT_ID par l'ID du projet que vous avez sélectionné lors de la configuration d'Assured OSS.
La requête renvoie une réponse semblable à celle-ci :
{
"packages": [
{
"name": "projects/cloud-aoss/locations/us/repositories/assuredoss-javascript-free/packages/express",
"createTime": "2026-06-01T08:00:00.000000Z",
"updateTime": "2026-06-01T08:00:00.000000Z"
},
{
"name": "projects/cloud-aoss/locations/us/repositories/assuredoss-javascript-free/packages/%40stoplight%2Fspectral-core",
"createTime": "2026-06-01T08:00:00.000000Z",
"updateTime": "2026-06-01T08:00:00.000000Z"
}
]
}
Si de nombreux packages sont disponibles, la réponse de l'API peut être paginée. Lorsque la liste est incomplète, le jeton de continuité nextPageToken est renvoyé dans la réponse.