Dopo aver attivato l'accesso ad Assured Open Source Software (Assured OSS), devi confermare che i tuoi service account e gli account Amazon Web Services (AWS) (solo per il Livello senza costi) possono accedere al servizio Assured OSS.
Per verificare se i tuoi account hanno accesso, elenca i pacchetti Java, Python, Go o JavaScript (NPM) disponibili. Per elencare i pacchetti, puoi chiamare direttamente le API o utilizzare Cloud Shell per eseguire una chiamata da riga di comando curl all'API.
Se utilizzi il Livello senza costi, in rari casi potresti riscontrare errori di autorizzazione negata per un'ora o più dopo l'invio del modulo di abilitazione del cliente.
Questo documento si applica sia al livello Premium sia al Livello senza costi.
Prima di iniziare
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 updatePer accedere ad Assured OSS utilizzando Google Cloud, abilita l'API Artifact Registry per il progetto Google Cloud padre dei service account che hai abilitato per Assured OSS. Se utilizzi il livello Premium, l'API viene abilitata durante la configurazione.
Aggiungi i seguenti URL alla lista consentita della tua rete:
*.pkg.devartifactregistry.googleapis.com
Configura l'autenticazione
Per Google Cloud
Genera e scarica la chiave del service account. Ti consigliamo di seguire le best practice per la gestione account di servizio account.
Se hai già eseguito l'accesso a Google Cloud CLI, revoca l'autenticazione esistente:
gcloud auth revokeEsegui l'autenticazione su Google Cloud:
gcloud auth login --cred-file=FILEPATH.jsonDove FILEPATH è il percorso della chiave del account di servizio.
Aggiorna le Credenziali predefinite dell'applicazione:
export GOOGLE_APPLICATION_CREDENTIALS=FILEPATH.jsonDove FILEPATH è il percorso della chiave del account di servizio.
Per AWS
Questi passaggi si applicano solo al Livello senza costi di Assured OSS.
Configura l'istanza EC2 per consentire la richiesta di credenziali temporanee.
- Accedi alla Console di gestione AWS.
- Nella Console di gestione AWS, vai alla dashboard EC2 e seleziona l'istanza EC2 di destinazione.
- Seleziona Azioni > Sicurezza > Modifica ruolo IAM.
- Seleziona Crea nuovo ruolo IAM > Crea ruolo.
- Per il tipo di entità attendibile, seleziona Servizio AWS.
- Per il caso d'uso, scegli EC2.
- Aggiungi l'autorizzazione AmazonEC2ReadOnlyAccess e fai clic su Avanti.
- Specifica un nome significativo per il ruolo IAM e fai clic su Avanti.
- Torna a Modifica ruolo IAM. Seleziona il ruolo appena creato e fai clic su Aggiorna ruolo IAM.
Genera il file di configurazione delle credenziali:
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.jsonSostituisci quanto segue:
- AWS_ACCOUNT_ID: il numero di 12 cifre del tuo
account AWS (ad esempio,
123456789012). - FILEPATH: il file in cui salvare la configurazione. + ASSIGNED_PROJECT_ID: l'ID progetto Google Cloud assegnato a te, come indicato nell'email di abilitazione. + ASSIGNED_PROJECT_NUMBER: il numero di progetto Google Cloud assegnato, come indicato nell'email di abilitazione.
Se utilizzi AWS IMDSv2, aggiungi il flag
--enable-imdsv2al comando precedente. Per saperne di più, consulta Crea una configurazione delle credenziali.- AWS_ACCOUNT_ID: il numero di 12 cifre del tuo
account AWS (ad esempio,
Se hai già eseguito l'accesso a Google Cloud CLI, revoca l'autenticazione esistente:
gcloud auth revokeEsegui l'autenticazione su Google Cloud:
gcloud auth login --cred-file=FILEPATH.jsonDove FILEPATH è il percorso del file di configurazione delle credenziali.
Aggiorna le Credenziali predefinite dell'applicazione:
export GOOGLE_APPLICATION_CREDENTIALS=FILEPATH.jsonDove FILEPATH è il percorso della chiave del account di servizio o del file di configurazione delle credenziali.
Per risolvere i problemi relativi all'autenticazione, consulta Risoluzione degli errori di autenticazione.
Elenca tutti i pacchetti Java disponibili in Assured OSS
Puoi utilizzare un'API REST per elencare tutti i pacchetti Java e le relative versioni.
Per il livello senza costi di Assured OSS, inserisci la seguente richiesta HTTP:
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"
Per il livello Premium di Assured OSS, inserisci la seguente richiesta HTTP:
curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/assuredoss-java/packages
Sostituisci quanto segue:
PROJECT_ID: l'ID del progetto che hai selezionato quando hai configurato Assured OSS.LOCATION: una regione supportata.
Di seguito è riportato un comando curl di esempio per connettersi al repository Java nel Livello senza costi:
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 richiesta restituisce una risposta simile alla seguente risposta di esempio:
{
"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"
}
]
}
Se sono disponibili molti pacchetti, la risposta dell'API potrebbe essere impaginata. Quando l'elenco è incompleto, nella risposta viene restituito il token di continuazione nextPageToken. nextPageToken rappresenta l'ultimo risultato restituito. Quando passi il valore di nextPageToken al parametro pageToken di una richiesta successiva, restituisci la pagina di risultati successiva, a partire dall'ultimo risultato.
Per visualizzare la pagina successiva dei risultati o aumentare il numero di oggetti restituiti per pagina, utilizza il seguente URL:
"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-java/mavenArtifacts?pageSize=NUMBER&pageToken=NEXT_PAGE_TOKEN"
Sostituisci quanto segue:
- NUMBER: il numero di elementi da restituire per pagina. Il valore massimo accettato è 1000.
- NEXT_PAGE_TOKEN: il valore del token
nextPageTokenrestituito nella risposta JSON.
In alternativa, puoi utilizzare il seguente script per raccogliere i risultati impaginati della richiesta API sopra menzionata in un file:
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
(Facoltativo) Scrivi l'elenco ordinato dei nomi dei pacchetti Java principali in FILENAME2
Le seguenti azioni aggiuntive della riga di comando filtrano l'elenco non elaborato restituito dei pacchetti Java per fornirti un elenco dei soli nomi dei pacchetti principali.
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
(Facoltativo) Scrivi l'elenco ordinato delle versioni del pacchetto Java in FILENAME3
Le seguenti azioni aggiuntive della riga di comando filtrano l'elenco non elaborato restituito dei pacchetti Java per fornirti un elenco delle sole versioni dei pacchetti.
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
Elenca tutti i pacchetti Python disponibili in Assured OSS
Puoi utilizzare un'API REST per elencare tutti i pacchetti Python e le relative versioni. Questi pacchetti sono disponibili per Python 3.8.
Per il livello senza costi di Assured OSS, inserisci la seguente richiesta HTTP:
GET https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-python/pythonPackages
Per il livello Premium di Assured OSS, inserisci la seguente richiesta HTTP:
curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
"https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/assuredoss-python/packages"
Sostituisci quanto segue:
PROJECT_ID: l'ID del progetto che hai selezionato quando hai configurato Assured OSS.LOCATION: una regione supportata.
Per elencare tutti i pacchetti specifici per il tuo ambiente, utilizza lo script generator.sh.
Il seguente comando è un comando curl di esempio per connettersi al repository Python di Assured OSS nel livello senza costi:
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 richiesta restituisce una risposta simile alla seguente risposta di esempio:
{
"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"
}
]
}
Se sono disponibili molti pacchetti, la risposta dell'API potrebbe essere impaginata. Quando l'elenco è incompleto, nella risposta viene restituito il token di continuazione nextPageToken. nextPageToken rappresenta l'ultimo risultato restituito. Quando passi il valore di nextPageToken al parametro pageToken di una richiesta successiva, restituisci la pagina di risultati successiva, a partire dall'ultimo risultato.
Per visualizzare la pagina successiva dei risultati o aumentare il numero di oggetti restituiti per pagina, utilizza il seguente URL nel Livello senza costi:
"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-python/pythonPackages?pageSize=NUMBER&pageToken=NEXT_PAGE_TOKEN"
Sostituisci quanto segue:
- NUMBER: il numero di elementi da restituire per pagina. Il valore massimo accettato è 1000.
- NEXT_PAGE_TOKEN: il valore del token
nextPageTokenrestituito nella risposta JSON.
In alternativa, puoi utilizzare il seguente script per raccogliere i risultati impaginati della richiesta API sopra menzionata in un file.
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
(Facoltativo) Scrivi l'elenco ordinato dei nomi dei pacchetti Python principali in FILENAME5
Le seguenti azioni aggiuntive della riga di comando filtrano l'elenco non elaborato restituito dei pacchetti Python per fornirti un elenco dei soli nomi dei pacchetti principali.
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
(Facoltativo) Scrivi l'elenco ordinato delle versioni del pacchetto Python in FILENAME6
Le seguenti azioni aggiuntive della riga di comando filtrano l'elenco non elaborato restituito dei pacchetti Python per fornire un elenco delle sole versioni dei pacchetti.
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
Elenca tutti i pacchetti Go disponibili in Assured OSS
Puoi utilizzare un'API REST per elencare tutti i pacchetti Go e le relative versioni.
Per il Livello senza costi di Assured OSS, inserisci la seguente richiesta HTTP:
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"
Per il livello Premium di Assured OSS, inserisci la seguente richiesta HTTP:
curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/assuredoss-go/packages
Sostituisci quanto segue:
PROJECT_ID: l'ID del progetto che hai selezionato quando hai configurato Assured OSS.LOCATION: una regione supportata.
Di seguito è riportato un comando curl di esempio per connettersi al repository Go nel Livello senza costi:
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 richiesta restituisce una risposta simile alla seguente:
{
"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"
}
]
}
Se sono disponibili molti pacchetti, la risposta dell'API potrebbe essere impaginata. Quando l'elenco è incompleto, nella risposta viene restituito il token di continuazione nextPageToken. nextPageToken rappresenta l'ultimo risultato restituito.
Quando passi il valore di nextPageToken al parametro pageToken di una richiesta successiva, viene restituita la pagina successiva dei risultati, a partire dall'ultimo risultato.
Per visualizzare la pagina successiva dei risultati o aumentare il numero di oggetti restituiti per pagina, utilizza il seguente URL:
"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/assuredoss-go-free/packages?pageSize=NUMBER&pageToken=NEXT_PAGE_TOKEN"
Sostituisci quanto segue:
- NUMBER: il numero di elementi da restituire per pagina. Il valore massimo accettato è 1000.
- NEXT_PAGE_TOKEN: il valore del token
nextPageTokenrestituito nella risposta JSON.
In alternativa, puoi utilizzare il seguente script per raccogliere i risultati impaginati della richiesta API in un file:
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
(Facoltativo) Scrivi un elenco ordinato dei nomi dei pacchetti Go principali in FILENAME8
Le seguenti azioni filtrano l'elenco non elaborato restituito dei moduli Go per fornirti un elenco dei nomi dei pacchetti principali:
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
(Facoltativo) Scrivi un elenco ordinato delle versioni del pacchetto Go in FILENAME9
Anche se non è disponibile una richiesta HTTP diretta per elencare tutte le versioni dei pacchetti Go, puoi elencare tutte le versioni di un pacchetto Go specifico. Puoi generare un elenco completo di tutte le versioni dei pacchetti Go elencando in modo iterativo le versioni di ogni pacchetto Go identificato nell'elenco in FILENAME8.
Le seguenti azioni filtrano l'elenco non elaborato restituito delle versioni del pacchetto Go per fornirti un elenco delle versioni del pacchetto:
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
Elenca tutti i pacchetti JavaScript (NPM) disponibili in Assured OSS
Puoi utilizzare un'API REST per elencare tutti i pacchetti JavaScript (NPM) e le relative versioni.
Per il livello senza costi di Assured OSS, inserisci la seguente richiesta HTTP:
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"
Per il livello Premium di Assured OSS, inserisci la seguente richiesta HTTP:
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
Sostituisci PROJECT_ID con l'ID del progetto che hai selezionato durante la configurazione di Assured OSS.
La richiesta restituisce una risposta simile alla seguente:
{
"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"
}
]
}
Se sono disponibili molti pacchetti, la risposta dell'API potrebbe essere impaginata. Quando l'elenco è incompleto, nella risposta viene restituito il token di continuazione nextPageToken.