Depois de ativar o acesso ao Assured Open Source Software (Assured OSS), confirme se as contas de serviço e da Amazon Web Services (AWS) (somente para o nível sem custo financeiro) podem acessar o serviço do Assured OSS.
Para validar se as contas têm acesso, liste os pacotes Java, Python,
Go ou JavaScript (NPM) disponíveis. Para listar os pacotes, chame diretamente
as APIs ou use o Cloud Shell para executar uma
chamada de linha de comando curl para a API.
Se você estiver usando o nível sem custo financeiro, em casos raros, poderá receber erros de permissão negada por uma hora ou mais depois de enviar o formulário de ativação do cliente.
Este documento se aplica aos níveis Premium e sem custo financeiro.
Antes de começar
Instale a versão mais recente da Google Cloud CLI. Se você já instalou a Google Cloud CLI, verifique se tem a versão mais recente executando o seguinte:
gcloud components updatePara acessar o Assured OSS usando o Google Cloud, ative a API Artifact Registry para o projeto pai do Google Cloud das contas de serviço que você ativou para o Assured OSS. Se você estiver usando o nível Premium, a API será ativada durante a configuração.
Adicione os seguintes URLs à lista de permissões da sua rede:
*.pkg.devartifactregistry.googleapis.com
Configurar a autenticação
Para Google Cloud
Gere e faça o download da chave da conta de serviço. Recomendamos seguir as práticas recomendadas para gerenciar chaves de conta de serviço.
Se você já tiver feito login na Google Cloud CLI, revogue as autenticações existentes:
gcloud auth revokeAutentique-se no Google Cloud:
gcloud auth login --cred-file=FILEPATH.jsonEm que FILEPATH é o caminho para a chave da conta de serviço.
Atualize o Application Default Credentials:
export GOOGLE_APPLICATION_CREDENTIALS=FILEPATH.jsonEm que FILEPATH é o caminho para a chave da conta de serviço.
Para AWS
Estas etapas se aplicam apenas ao nível sem custo financeiro do Assured OSS.
Configure sua instância do EC2 para permitir a solicitação de credenciais temporárias.
- Faça login no Console de Gerenciamento da AWS.
- No Console de Gerenciamento da AWS, acesse o painel do EC2 e selecione a instância de destino do EC2.
- Selecione Ações > Segurança > Modificar papel do IAM.
- Selecione Criar novo papel do IAM > Criar papel.
- Para o tipo de entidade confiável, selecione Serviço da AWS.
- Para o caso de uso, escolha EC2.
- Adicione a permissão AmazonEC2ReadOnlyAccess e clique em Próxima.
- Dê um nome significativo ao papel do IAM e clique em Próxima.
- Volte para Modificar papel do IAM. Selecione o papel recém-criado e clique em Atualizar papel do IAM.
Gere o arquivo de configuração de credenciais:
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.jsonSubstitua:
- AWS_ACCOUNT_ID: o número de 12 dígitos da sua conta da AWS (por exemplo,
123456789012). - FILEPATH: o arquivo em que a configuração será salva. + ASSIGNED_PROJECT_ID: o ID do projeto do Google Cloud atribuído a você, conforme mencionado no e-mail de ativação. + ASSIGNED_PROJECT_NUMBER: o número do projeto do Google Cloud atribuído a você, conforme mencionado no e-mail de ativação.
Se você usar o AWS IMDSv2, adicione a flag
--enable-imdsv2ao comando anterior. Para mais informações, consulte Criar uma configuração de credencial.- AWS_ACCOUNT_ID: o número de 12 dígitos da sua conta da AWS (por exemplo,
Se você já tiver feito login na Google Cloud CLI, revogue as autenticações existentes:
gcloud auth revokeAutentique-se no Google Cloud:
gcloud auth login --cred-file=FILEPATH.jsonEm que FILEPATH é o caminho para o arquivo de configuração de credenciais.
Atualize o Application Default Credentials:
export GOOGLE_APPLICATION_CREDENTIALS=FILEPATH.jsonEm que FILEPATH é o caminho para a chave da conta de serviço ou o arquivo de configuração de credenciais.
Para resolver problemas relacionados à autenticação, consulte Solução de problemas de erros de autenticação.
Listar todos os pacotes Java disponíveis no Assured OSS
Use uma API REST para listar todos os pacotes Java e as versões deles.
Para o nível sem custo financeiro do Assured OSS, insira a seguinte solicitação 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"
Para o nível Premium do Assured OSS, insira a seguinte solicitação 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
Substitua:
PROJECT_ID: o ID do projeto que você selecionou ao configurar o Assured OSS.LOCATION: uma região com disponibilidade.
Veja a seguir um exemplo de comando curl para se conectar ao repositório Java no nível sem custo financeiro:
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"
A solicitação retorna uma resposta semelhante ao exemplo a seguir:
{
"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 houver muitos pacotes disponíveis, a resposta da API poderá ser paginada. Quando a
listagem está incompleta, o token de continuação nextPageToken é retornado na
resposta. O nextPageToken representa o último resultado retornado. Ao transmitir o valor de nextPageToken para o parâmetro pageToken de uma solicitação subsequente, você retorna a próxima página de resultados, começando após o último.
Para ver a próxima página de resultados ou aumentar o número de objetos retornados por página, use o seguinte URL:
"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-java/mavenArtifacts?pageSize=NUMBER&pageToken=NEXT_PAGE_TOKEN"
Substitua:
- NUMBER: o número de itens a serem retornados por página. O valor máximo aceito é 1.000.
- NEXT_PAGE_TOKEN: o valor do token
nextPageTokenretornado na resposta JSON.
Como alternativa, use o script a seguir para coletar os resultados paginados da solicitação de API mencionada acima em um arquivo:
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
Opcional: gravar uma lista classificada de nomes de pacotes Java principais em FILENAME2
As ações de linha de comando adicionais a seguir filtram a lista bruta retornada de pacotes Java para fornecer uma lista apenas com os nomes dos pacotes principais.
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
Opcional: gravar a lista classificada das versões do pacote Java em FILENAME3
As ações de linha de comando adicionais a seguir filtram a lista bruta retornada de pacotes Java para fornecer uma lista apenas das versões do pacote.
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
Listar todos os pacotes Python disponíveis no Assured OSS
Use uma API REST para listar todos os pacotes do Python e as versões deles. Esses pacotes estão disponíveis para Python 3.8.
Para o nível sem custo financeiro do Assured OSS, insira a seguinte solicitação HTTP:
GET https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-python/pythonPackages
Para o nível Premium do Assured OSS, insira a seguinte solicitação 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"
Substitua:
PROJECT_ID: o ID do projeto que você selecionou ao configurar o Assured OSS.LOCATION: uma região com disponibilidade.
Para listar todos os pacotes específicos do seu ambiente,
use o script generator.sh.
O comando a seguir é um exemplo de comando curl para se conectar ao repositório do Python do Assured OSS no nível sem custo financeiro:
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"
A solicitação retorna uma resposta semelhante ao exemplo a seguir:
{
"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 houver muitos pacotes disponíveis, a resposta da API poderá ser paginada. Quando a
listagem está incompleta, o token de continuação nextPageToken é retornado na
resposta. O nextPageToken representa o último resultado retornado. Ao transmitir o valor de nextPageToken para o parâmetro pageToken de uma solicitação subsequente, você retorna a próxima página de resultados, começando após o último.
Para ver a próxima página de resultados ou aumentar o número de objetos retornados por página, use o seguinte URL no nível sem custo financeiro:
"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-python/pythonPackages?pageSize=NUMBER&pageToken=NEXT_PAGE_TOKEN"
Substitua:
- NUMBER: o número de itens a serem retornados por página. O valor máximo aceito é 1.000.
- NEXT_PAGE_TOKEN: o valor do token
nextPageTokenretornado na resposta JSON.
Como alternativa, use o script a seguir para coletar os resultados paginados da solicitação de API mencionada acima em um arquivo.
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
Opcional: gravar a lista classificada de nomes de pacotes Python principais em FILENAME5
As ações de linha de comando adicionais a seguir filtram a lista bruta retornada de pacotes do Python para fornecer uma lista apenas com os nomes dos pacotes principais.
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
Opcional: grave a lista classificada das versões do pacote Python em FILENAME6.
As seguintes ações de linha de comando adicionais filtram a lista bruta retornada de pacotes do Python para fornecer uma lista apenas das versões dos pacotes.
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
Listar todos os pacotes Go disponíveis no Assured OSS
É possível usar uma API REST para listar todos os pacotes do Go e as versões deles.
Para o nível sem custo financeiro do Assured OSS, insira a seguinte solicitação 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"
Para o nível Premium do Assured OSS, insira a seguinte solicitação 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
Substitua:
PROJECT_ID: o ID do projeto que você selecionou ao configurar o Assured OSS.LOCATION: uma região com disponibilidade.
Veja a seguir um exemplo de comando curl para se conectar ao repositório do Go no nível sem custo financeiro:
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
A solicitação retorna uma resposta semelhante a esta:
{
"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 muitos pacotes estiverem disponíveis, a resposta da API poderá ser paginada. Quando a listagem está incompleta, o token de continuação nextPageToken é retornado na resposta. O nextPageToken representa o último resultado retornado.
Ao transmitir o valor de nextPageToken para o parâmetro pageToken de uma solicitação subsequente, você retorna a próxima página de resultados, começando após o último resultado.
Para ver a próxima página de resultados ou aumentar o número de objetos retornados por página, use o seguinte URL:
"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/assuredoss-go-free/packages?pageSize=NUMBER&pageToken=NEXT_PAGE_TOKEN"
Substitua:
- NUMBER: o número de itens a serem retornados por página. O valor máximo aceito é 1.000.
- NEXT_PAGE_TOKEN: o valor do token
nextPageTokenretornado na resposta JSON.
Como alternativa, use o script a seguir para coletar os resultados paginados da solicitação de API em um arquivo:
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
Opcional: grave uma lista classificada de nomes de pacotes principais do Go em FILENAME8.
As ações a seguir filtram a lista bruta de módulos do Go retornada para fornecer uma lista dos nomes dos pacotes principais:
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
Opcional: grave uma lista classificada de versões de pacotes do Go em FILENAME9.
Embora uma solicitação HTTP direta para listar todas as versões de pacotes Go não esteja
disponível, é possível listar todas as versões de um pacote Go específico. É possível
gerar uma lista completa de todas as versões de pacotes do Go listando iterativamente as
versões de cada pacote do Go identificado na lista em FILENAME8.
As ações a seguir filtram a lista bruta retornada de versões de pacotes do Go para fornecer uma lista das versões de pacotes:
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
Listar todos os pacotes JavaScript (NPM) disponíveis no Assured OSS
É possível usar uma API REST para listar todos os pacotes JavaScript (NPM) e as versões deles.
Para o nível sem custo financeiro do Assured OSS, insira a seguinte solicitação 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"
Para o nível Premium do Assured OSS, insira a seguinte solicitação 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
Substitua PROJECT_ID pelo ID do projeto que você selecionou ao configurar o Assured OSS.
A solicitação retorna uma resposta semelhante a esta:
{
"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 muitos pacotes estiverem disponíveis, a resposta da API poderá ser paginada. Quando a listagem está incompleta, o token de continuação nextPageToken é retornado na resposta.