Este documento ajuda você a confirmar se as contas de serviço e da AWS foram ativadas para acessar o serviço Assured Open Source Software.
Para validar se suas contas de serviço Google Cloud ou (somente para o nível sem custo financeiro) o ID da conta da AWS estão ativados para acesso ao repositório e portfólio de pacotes selecionados do Assured OSS, liste os pacotes Java ou Python disponíveis usando uma API. Para isso, chame as APIs diretamente 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á enfrentar 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 Google Cloud, ative a API Artifact Registry no projeto Google Cloud principal das contas de serviço ativadas 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 conta de serviço serviço.
Se você já tiver feito login na Google Cloud CLI, revogue qualquer autenticação existente:
gcloud auth revokeAutenticar-se no Google Cloud:
gcloud auth login --cred-file=FILEPATH.jsonEm que FILEPATH é o caminho para a chave da conta de serviço.
Atualize as credenciais padrão do aplicativo:
export GOOGLE_APPLICATION_CREDENTIALS=FILEPATH.jsonEm que FILEPATH é o caminho para a chave da conta de serviço.
Para a 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 AWS Management Console, acesse o painel do EC2 e selecione a instância de destino do EC2.
- Selecione Ações > Segurança > Modificar função do IAM.
- Selecione Criar nova função do IAM > Criar função.
- Em "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.iam.gserviceaccount.com \ --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 Google Cloud ID do projeto atribuído a você, conforme mencionado no e-mail de ativação. + ASSIGNED_PROJECT_NUMBER: o número do projeto 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 credenciais.- 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 qualquer autenticação existente:
gcloud auth revokeAutenticar-se no Google Cloud:
gcloud auth login --cred-file=FILEPATH.jsonem que FILEPATH é o caminho para o arquivo de configuração de credenciais.
Atualize as credenciais padrão do aplicativo:
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 Resolver problemas de autenticação.
Listar todos os pacotes Java disponíveis no Assured OSS
É possível usar 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/us/repositories/assuredoss-java/packages
Substitua PROJECT_ID pelo ID do projeto que você selecionou ao configurar o Assured OSS.
Confira 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 a esta:
{
"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. O token de continuação nextPageToken é retornado na resposta quando a listagem está incompleta. 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/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 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: grave a lista classificada de nomes de pacotes Java principais em FILENAME2
As seguintes ações de linha de comando adicionais filtram a lista bruta retornada de pacotes Java para fornecer uma lista apenas com os nomes de 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: grave a lista classificada das versões do pacote Java em FILENAME3
As seguintes ações de linha de comando adicionais filtram a lista bruta retornada de pacotes Java para fornecer uma lista apenas das versões de 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-java/mavenArtifacts?pageSize=1000" \
| grep name | sort -f | uniq > FILENAME3
Listar todos os pacotes Python disponíveis no Assured OSS
É possível usar 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/us/repositories/assuredoss-python/packages"
Substitua PROJECT_ID pelo ID do projeto que você selecionou ao configurar o Assured OSS.
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 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 a esta:
{
"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. O token de continuação nextPageToken é retornado na resposta quando a listagem está incompleta. 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 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 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: grave a lista classificada de nomes de pacotes Python principais em FILENAME5
As seguintes ações adicionais da linha de comando filtram a lista bruta retornada de pacotes 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 de versões do pacote Python em FILENAME6.
As seguintes ações adicionais da linha de comando filtram a lista bruta retornada de pacotes Python para fornecer uma lista apenas das versões de 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/us/repositories/assuredoss-go/packages
Substitua PROJECT_ID pelo ID do projeto que você selecionou ao configurar o Assured OSS.
Confira abaixo um exemplo de comando curl para se conectar ao repositório 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 houver muitos pacotes disponíveis, a resposta da API poderá ser paginada. O token de continuação nextPageToken é retornado na resposta quando a listagem está incompleta. 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: escreva uma lista classificada de nomes de pacotes Go principais em FILENAME8.
As ações a seguir filtram a lista bruta retornada de módulos Go para fornecer uma lista dos nomes de 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 do pacote Go em FILENAME9
Embora não seja possível fazer uma solicitação HTTP direta para listar todas as versões de pacotes do Go, é possível listar todas as versões de um pacote específico. Você pode gerar uma lista completa de todas as versões de pacotes Go listando iterativamente as versões de cada pacote Go identificado na lista em FILENAME8.
As ações a seguir filtram a lista bruta retornada de versões do pacote Go para fornecer uma lista das versões do pacote:
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
A seguir
- Configurar o acesso ao repositório remoto
- Baixar pacotes Java usando acesso direto ao repositório
- Baixar pacotes Go usando acesso direto ao repositório
- Fazer o download de pacotes Python usando acesso direto ao repositório
- Configurar o acesso ao repositório virtual
- Pacotes Java e Python compatíveis
- Pacotes Go compatíveis