Fazer o download de pacotes Java usando acesso direto ao repositório para o nível sem custo financeiro

No nível sem custo financeiro, os pacotes do Assured Open Source Software são hospedados em um repositório do Artifact Registry gerenciado pelo Google.

Nesta página, explicamos como se conectar ao repositório do Artifact Registry para o Assured OSS e acessar e baixar diretamente os pacotes Java.

Este documento se aplica apenas ao nível sem custo financeiro. Para o nível Premium, consulte Fazer o download de pacotes Java usando acesso direto ao repositório.

Antes de começar

  1. Peça ao administrador para conceder a você o papel do IAM 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.

  2. Configure o Assured OSS. Para o nível sem custo financeiro, envie o formulário de capacitação do cliente para ativar o acesso ao Assured OSS.

  3. Valide a conectividade com o Assured OSS para as contas de serviço solicitadas.

  4. Ative a API Artifact Registry para o projeto Google Cloud pai das contas de serviço usadas para acessar o Assured OSS.

  5. 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

O Artifact Registry é compatível com os seguintes métodos de autenticação:

  • Autenticação com um auxiliar de credenciais
  • Autenticação com uma senha

As seções a seguir descrevem como configurar esses métodos de autenticação.

Autenticar com um auxiliar de credenciais

O Artifact Registry oferece um compilador Maven e um plug-in do Gradle para usar como auxiliares de credenciais. Essa opção oferece a maior flexibilidade.

Para configurar as Application Default Credentials, consulte Configurar a autenticação.

Configurar os assistentes de credenciais

Faça as seguintes mudanças com base na ferramenta de build para configurar a autenticação usando um auxiliar de credenciais:

Maven

<project>
  <build>
    <extensions>
      <extension>
        <groupId>com.google.cloud.artifactregistry</groupId>
        <artifactId>artifactregistry-maven-wagon</artifactId>
        <version>2.2.0</version>
      </extension>
    </extensions>
  </build>
</project>

Gradle

plugins {
  id "com.google.cloud.artifactregistry.gradle-plugin" version "2.2.0"
}

Autenticar usando uma senha

Autentique usando uma senha quando o aplicativo Java exigir autenticação com um nome de usuário e uma senha especificados. Mude as configurações com base na sua ferramenta de build:

Maven

Adicione as seguintes configurações de autenticação na seção settings do arquivo ~/.m2/settings.xml. Crie o arquivo, caso ele não exista. Para mais informações, consulte a referência de Configurações do Maven.

<settings>
  <servers>
    <server>
      <id>artifact-registry</id>
      <configuration>
        <httpConfiguration>
          <get>
            <usePreemptive>true</usePreemptive>
          </get>
          <head>
            <usePreemptive>true</usePreemptive>
          </head>
          <put>
            <params>
              <property>
                <name>http.protocol.expect-continue</name>
                <value>false</value>
              </property>
            </params>
          </put>
        </httpConfiguration>
      </configuration>
      <username>_json_key_base64</username>
      <password>KEY</password>
    </server>
  </servers>
</settings>

Substitua KEY pela codificação base64 de todo o arquivo de chave JSON da conta de serviço. Para isso, execute este comando:

cat KEY_FILE_LOCATION  | base64

Em que KEY_FILE_LOCATION é o local do arquivo de chave JSON da conta de serviço.

Gradle

Adicione a seguinte linha ao arquivo ~/.gradle/gradle.properties para que a chave não fique visível nas versões ou no repositório de controle de origem.

artifactRegistryMavenSecret = KEY

Substitua KEY pela chave privada do arquivo de chave JSON da sua conta de serviço. Para json_key_base64, o artifactRegistryMavenSecret contém a senha criptografada em base64. Por exemplo, base64 -w 0 KEY.

No arquivo build.gradle, especifique as configurações do repositório usando o exemplo a seguir:

repositories {
  maven {
    url "artifactregistry://us-maven.pkg.dev/cloud-aoss/cloud-aoss-java"
    credentials {
      username = "_json_key_base64"
      password = "$artifactRegistryMavenSecret"
    }
    authentication {
      basic(BasicAuthentication)
    }
  }
}

Atualize o arquivo de configuração do projeto para apontar para o repositório.

Maven

Adicione as seguintes configurações à seção apropriada no arquivo pom.xml do projeto do Maven. Não substitua as configurações de autenticação.

<project>
  <repositories>
    <repository>
      <id>artifact-registry</id>
      <url>artifactregistry://us-maven.pkg.dev/cloud-aoss/cloud-aoss-java</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
  </repositories>
</project>

Consulte a referência do POM do Maven para detalhes sobre a estrutura do arquivo.

Gradle

Especifique as seguintes configurações de repositório no arquivo build.gradle. Não substitua as configurações de autenticação.

repositories {
  maven {
  url "artifactregistry://us-maven.pkg.dev/cloud-aoss/cloud-aoss-java"
  }
}

Atualizar o arquivo de configuração do projeto para adicionar dependências

Para fazer o download de um artefato como parte da compilação, ele precisa ser declarado como uma dependência.

Maven

Declare os pacotes que você quer baixar no arquivo pom.xml do seu projeto Maven.

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <version>2.17.1</version>
</dependency>

Gradle

Declare os pacotes que você quer baixar no arquivo build.gradle.

dependencies {
    compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.17.1'
}

Acessar pacotes Java não disponíveis no Assured OSS

É possível acessar pacotes que não estão disponíveis no repositório do Artifact Registry para o Assured OSS.

O Assured OSS é pré-configurado com o Assured OSS como o repositório preferencial e repositórios públicos canônicos, como Maven Central ou PyPI, como repositórios secundários. Para usar o recurso (Visualização), aponte para o seguinte URL:

https://us-maven.pkg.dev/cloud-aoss/java

Listar todos os pacotes Java disponíveis no Assured OSS

Para usar uma API e receber uma lista de todos os pacotes Java disponíveis no repositório do Artifact Registry, consulte Listar todos os pacotes Java disponíveis no Assured OSS.

A seguir