No nível Premium, os pacotes do Assured OSS são hospedados em um repositório do Artifact Registry criado em um projeto que você controla. Para acessar e fazer o download de pacotes Python diretamente, conecte-se ao repositório do Artifact Registry para o Assured OSS.
Este documento se aplica apenas ao nível premium do Assured OSS. Para o nível sem custo financeiro, consulte Fazer o download de pacotes do Python usando o acesso direto ao repositório para o nível sem custo financeiro.
Antes de começar
Peça ao administrador para conceder a você o papel do IAM de Administrador da chave da conta de serviço (
roles/iam.serviceAccountKeyAdmin) na sua organização. Você precisa dessa permissão para receber a string codificada em base64 da chave da conta de serviço. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.Valide a conectividade com o Assured OSS para as contas de serviço solicitadas.
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 este comando:
gcloud components update
Configurar a autenticação
É possível autenticar no repositório de pacotes do Python do Assured OSS usando um dos seguintes métodos:
- Autenticar com um keyring do Python
- Autenticar com uma chave de conta de serviço
As seções a seguir descrevem como configurar esses métodos de autenticação.
Autenticar com o keyring do Python
Para usar o keyring do Python para autenticar no Artifact Registry, consulte autenticação com keyring e ordem de pesquisa de credenciais. Recomendamos que você use o keyring do Python para autenticação.
Para configurar o keyring do Python para autenticação, faça o seguinte:
Instale a biblioteca
keyring:pip install keyringInstale o back-end do Artifact Registry:
pip install keyrings.google-artifactregistry-authListe os back-ends para confirmar a instalação:
keyring --list-backendsA lista precisa incluir o seguinte:
ChainerBackend(priority:10)GooglePythonAuth(priority:9)
Para saber como configurar o Application Default Credentials, consulte Configurar a autenticação.
Essa etapa garante que o auxiliar de credenciais do Assured OSS receba sua chave ao se conectar aos repositórios.
Autenticar com uma chave de conta de serviço
Autentique-se com uma chave de conta de serviço quando o aplicativo exigir autenticação com um nome de usuário e uma senha.
Substitua o URL do Package Repository
https://LOCATION-python.pkg.dev/PROJECT_ID/assuredoss-python/simple pelo
URL
https://_json_key_base64:$BASE64_KEY@LOCATION-python.pkg.dev/PROJECT_ID/assuredoss-python/simple
Substitua:
PROJECT_ID: o ID do projeto que você selecionou ao configurar o Assured OSS.LOCATION: uma região com disponibilidade.
Instalar pacotes
As instruções a seguir pressupõem que você está usando o PyPI e o requirements.txt para baixar e gerenciar suas dependências. Se você estiver usando qualquer outro processo de gerenciamento de dependências, as etapas serão diferentes.
Instalar pacotes no Assured OSS
Para especificar os pacotes Python do Assured OSS que você quer
fazer o download, crie dois arquivos requirements.txt. Os arquivos de amostra são os seguintes:
requirements-google.txt# Packages present in Google's Artifact Registry urllib3==1.26.11 --hash=sha256:1cffe1aa066363a75c856f261c8fce62d87f7c40ce0f46453ea12bf652b12a13 jsonschema==4.13.0 --hash=sha256:29895bfe55b93b75552fbdd1e09aa0c82b7c1c9395d4f267e10c7d43cd31a74erequirements-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.
Para baixar os pacotes, execute os seguintes comandos:
Para fazer o download dos pacotes necessários que estão no Artifact Registry para o Assured OSS, execute o seguinte:
pip install --require-hashes --requirement=requirements-google.txt \ --index-url https://_json_key_base64:$BASE64_KEY@LOCATION-python.pkg.dev/PROJECT_ID/assuredoss-python repo/simple -v \ --no-depsConsidere o seguinte:
--require-hashesé opcional. Se incluídos, os hashes são especificados para todos os pacotes e para todas as versões de pacotes no arquivorequirements.txt. Recomendamos fixar dependências com hashes SHA-256 no arquivorequirements.txtpara garantir a segurança e a reprodutibilidade.-vé opcional. Se especificado, o comando gera mais saída.- Substitua
LOCATIONpor uma região compatível.
Para baixar os pacotes necessários que não estão no Artifact Registry para Assured OSS, execute o seguinte:
pip install --requirement=requirements-pypi.txt --index-url https://pypi.org/simple -vEsse comando também faz o download das dependências ausentes dos pacotes que você baixou usando o comando anterior.
Listar todos os pacotes Python disponíveis no Assured OSS
Para usar uma API e receber uma lista de todos os pacotes Python no repositório do Artifact Registry, consulte Listar todos os pacotes Python disponíveis no Assured OSS.
Como gerar o arquivo requirements-google.txt
Nesta seção, você encontra mais informações sobre como gerar o arquivo requirements-google.txt necessário para fazer o download dos pacotes do Python. Para fazer o download do hash e gerar o arquivo requirements-google.txt
para seu ambiente, use uma das duas opções a seguir:
Use um script para gerar um único arquivo de requisitos para todos os artefatos.
Baixe um arquivo de requisitos separado para cada artefato.
As seções a seguir fornecem mais informações sobre essas opções.
Opção 1: usar um script para gerar um único arquivo de requisitos para todos os artefatos
Use o script generator.sh para gerar um único arquivo requirements-google.txt
para todos os pacotes Python (com os hashes) disponíveis com o Assured OSS para o sistema operacional Linux. Os pacotes precisam
atender a restrições como versão do Python, arquitetura da máquina e sistema
operacional. Em seguida, exclua as versões de pacote desnecessárias e use o arquivo resultante.
O script generator.sh ajuda das duas maneiras a seguir:
- Gera a lista mais recente de versões de pacotes do Python disponíveis com o Assured OSS que podem ser instaladas no seu sistema.
- Gera o arquivo
requirements-google.txtcom todos os hashes.
O script necessário e o arquivo README.md dele estão disponíveis em um bucket do Cloud Storage
(gs://cloud-aoss/utils/python-requirements-txt/v1.0) que pode ser baixado
usando a Google Cloud CLI.
Para fazer o download do script e do arquivo README.md, siga estas etapas:
Autentique-se com a conta de serviço para acessar o bucket do Cloud Storage usando o seguinte comando:
gcloud auth activate-service-account --key-file KEY_FILESubstitua
KEY_FILEpelo caminho para o arquivo que contém as credenciais da conta de serviço fornecidas durante a configuração.Faça o download do
generator.shpara sua máquina usando o seguinte comando:gcloud storage cp gs://cloud-aoss/utils/python-requirements-txt/v1.0/generator.sh PATH_TO_LOCAL_STORE --recursiveSubstitua
PATH_TO_LOCAL_STOREpelo caminho local em que você quer salvar o arquivo baixado.Baixe o arquivo
README.mdusando o seguinte comando:gcloud storage cp gs://cloud-aoss/utils/python-requirements-txt/v1.0/README.md PATH_TO_LOCAL_STORE --recursiveSubstitua
PATH_TO_LOCAL_STOREpelo caminho local em que você quer salvar o arquivo baixado. O arquivoREADME.mdcontém instruções sobre como usar o script.
Para executar o script, use os seguintes comandos:
Para gerar o arquivo
requirements-google.txt, execute o seguinte comando:chmod +x generator.sh ./generator.shPara receber as informações do pacote em um arquivo CSV, execute o seguinte comando:
chmod +x generator.sh ./generator.sh -i
Opção 2: fazer o download de requirements.txt para cada artefato necessário
Também é possível baixar um arquivo requirements.txt separado (contendo o hash)
para cada artefato do Python e, em seguida, combiná-los em um único arquivo
requirements.txt.
Os hashes de artefatos estão disponíveis em um bucket do Cloud Storage, que pode ser baixado usando a CLI gcloud. Os hashes de cada
pacote e versão estão localizados no
local do bucket do Cloud Storage
gs://cloud-aoss/python/PACKAGE_NAME/VERSION.
Para baixar o arquivo requirements.txt, siga estas etapas:
Autentique-se com a conta de serviço para acessar o bucket do Cloud Storage usando o seguinte comando:
gcloud auth activate-service-account --key-file KEY_FILESubstitua
KEY_FILEpelo caminho para o arquivo que contém as credenciais da conta de serviço.Faça o download do
requirements.txtde um pacote e uma versão específicos para sua máquina local usando o seguinte comando:gcloud storage cp gs://cloud-aoss/python/PACKAGE_NAME/VERSION PATH_TO_LOCAL_STORE --recursiveSubstitua:
PACKAGE_NAME: o nome do pacote.VERSION: a versão do pacote.PATH_TO_LOCAL_STORE: o caminho local em que você quer fazer o download do arquivo.
Exemplo de comando:
gcloud storage cp gs://cloud-aoss/python/bleach/5.0.0 /tmp/bleach --recursiveArquivo
requirements.txtde amostra:bleach==5.0.0 \ --hash=sha256:6d286e765bfd3e309209cfa1d063e4d46afa966dea8cb97431c02b1e3067d812O conteúdo de cada arquivo
requirements.txtpode ser combinado em um único arquivorequirements-google.txt.