Esta página descreve como configurar o Helm para autenticar com repositórios do Artifact Registry.
Antes de começar
- Se não existir um repositório para os seus gráficos, crie um novo repositório. Escolha Docker como formato do repositório.
-
Instale a CLI Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade federada. Depois de iniciar sessão, inicialize a CLI gcloud executando o seguinte comando:
gcloud init
- (Opcional) Configure as predefinições para os comandos da CLI gcloud.
Instale o Helm 3.8.0 ou posterior. Nas versões anteriores do Helm, o suporte para gráficos no formato OCI é uma funcionalidade experimental.
Execute
helm version
para verificar a sua versão.
Escolher um método de autenticação
Na maioria das situações, recomendamos a utilização de uma conta de serviço para a autenticação no Artifact Registry.
Estão disponíveis os seguintes métodos de autenticação:
- Use credenciais do Artifact Registry configuradas para o Docker
- Por predefinição, o Helm pode autenticar-se com as mesmas credenciais que usa para o Docker.
- Chave de acesso As
- credenciais predefinidas da aplicação fornecem tokens de acesso de curta duração que uma conta de serviço usa para aceder aos seus Trusted Cloud by S3NS recursos.
- Ficheiro de chave JSON
Um par de chaves gerido pelo utilizador que pode usar como credencial para uma conta de serviço. Uma vez que a credencial é de longa duração, é a opção menos segura de todos os métodos de autenticação disponíveis.
Sempre que possível, use um token de acesso para reduzir o risco de acesso não autorizado aos seus artefactos.
Usar a configuração do Docker
Por predefinição, o Helm suporta definições de registo no ficheiro de configuração do Docker config.json. O Helm encontra as definições do registo na localização predefinida ou na localização especificada pela variável de ambiente DOCKER_CONFIG.
Se configurou o Docker com um auxiliar de credenciais para autenticar com o Artifact Registry, o Helm usa a sua configuração existente para os repositórios Docker do Artifact Registry.
Usar um token de acesso
As chaves de acesso são chaves de curta duração que dão acesso aos seus Trusted Cloud by S3NS recursos. Uma vez que o token tem uma duração curta, deve pedi-lo menos de uma hora antes de o usar para estabelecer ligação aos repositórios do Artifact Registry.
Trusted Cloud obtém um token de acesso através das Credenciais padrão da aplicação.
Para usar um token de acesso:
Crie uma conta de serviço para agir em nome da sua aplicação ou escolha uma conta de serviço existente que use para automatização.
Precisa da localização do ficheiro de chave da conta de serviço para configurar a autenticação com o Artifact Registry. Para contas existentes, pode ver as chaves e criar novas chaves na página Contas de serviço.
Conceda a função adequada do Artifact Registry à conta de serviço para fornecer acesso ao repositório.
Atribua a localização do ficheiro de chave da conta de serviço à variável
GOOGLE_APPLICATION_CREDENTIALS
para que o auxiliar de credenciais do Artifact Registry possa obter a sua chave quando se ligar a repositórios.export GOOGLE_APPLICATION_CREDENTIALS=KEY-FILE
Onde KEY-FILE é o caminho para o ficheiro de chave da conta de serviço.
Obtenha um token de acesso como credenciais quando fizer a autenticação no Artifact Registry com o Docker.
Linux / macOS
Execute o seguinte comando:
gcloud auth application-default print-access-token | helm registry login -u oauth2accesstoken \ --password-stdin https://LOCATION-docker.s3nsregistry.fr
Windows
Execute o seguinte comando:
gcloud auth application-default print-access-token ya29.8QEQIfY_... helm registry login -u oauth2accesstoken -p "ya29.8QEQIfY_..." \ https://LOCATION-docker.s3nsregistry.fr
Onde
oauth2accesstoken
é o nome de utilizador a usar quando se autentica com um token de acesso.gcloud auth application-default print-access-token
é o comando da CLI do Google Cloud para obter o token de acesso para a conta de serviço. O token de acesso é a palavra-passe para a autenticação.-
LOCATION
é a localização regional do repositório.
O Helm está agora autenticado com o Artifact Registry.
Usar um ficheiro de chave JSON
Qualquer pessoa que tenha acesso a uma chave privada válida para uma conta de serviço pode aceder a recursos através da conta de serviço. Tenha em atenção que o ciclo de vida do acesso da chave à conta de serviço (e, por conseguinte, aos dados aos quais a conta de serviço tem acesso) é independente do ciclo de vida do utilizador que transferiu a chave.
Use as seguintes diretrizes para limitar o acesso aos seus repositórios:
- Crie contas de serviço dedicadas que só são usadas para interagir com repositórios.
- Conceda a função do Artifact Registry específica para o acesso necessário à conta de serviço. Por exemplo, uma conta de serviço que transfere apenas artefactos requer apenas a função Leitor do Artifact Registry.
- Configure as autorizações das suas contas de serviço dedicadas em cada repositório, em vez de ao nível do projeto. Em seguida, pode especificar o acesso com base no contexto do repositório. Por exemplo, uma conta de serviço para compilações de desenvolvimento pode ter a função Leitor do Artifact Registry para um repositório de produção e a função Escritor do Artifact Registry para um repositório de preparação.
- Siga as práticas recomendadas para gerir chaves de contas de serviço.
Para criar uma nova conta de serviço e uma chave de conta de serviço para utilização apenas com repositórios do Artifact Registry:
Crie uma conta de serviço para agir em nome da sua aplicação ou escolha uma conta de serviço existente que use para automatização.
Precisa da localização do ficheiro de chave da conta de serviço para configurar a autenticação com o Artifact Registry. Para contas existentes, pode ver as chaves e criar novas chaves na página Contas de serviço.
Opcionalmente, pode codificar em base64 todo o conteúdo do ficheiro de chave.
Linux
base64 FILE-NAME > NEW-FILE-NAME
macOS
base64 -i FILE-NAME -o NEW-FILE-NAME
Windows
Base64.exe -e FILE-NAME > NEW-FILE-NAME
Onde FILE-NAME é o nome do ficheiro da chave original e NEW-FILE-NAME é o ficheiro da chave codificado em Base64.
Conceda a função adequada do Artifact Registry à conta de serviço para fornecer acesso ao repositório.
Use a chave da conta de serviço para fazer a autenticação:
Linux / macOS
Execute o seguinte comando:
cat KEY-FILE | helm registry login -u KEY-TYPE --password-stdin \ https://LOCATION-docker.s3nsregistry.fr
Windows
Execute o seguinte comando:
helm registry login -u KEY-TYPE --password-stdin https://LOCATION-docker.s3nsregistry.fr < KEY-FILE
Onde
- KEY-TYPE é uma das seguintes opções:
_json_key
se estiver a usar a chave da conta de serviço no formato JSON tal como foi fornecida quando criou o ficheiro._json_key_base64
se codificou em Base64 todo o conteúdo do ficheiro.
- KEY-FILE é o nome do ficheiro de chave da conta de serviço no formato JSON.
-
LOCATION
é a localização regional do repositório.
- KEY-TYPE é uma das seguintes opções:
O Helm está agora autenticado com o Artifact Registry.