Configurando o Git Credential Manager

Use um GCM (Git Credential Manager) para armazenar e reutilizar com segurança tokens de autenticação do Oracle Cloud Infrastructure para operações Git com repositórios de código DevOps.

Ao acessar um repositório de código do OCI DevOps por HTTPS, você deve fornecer autenticação para cada operação Git. Recomendamos o uso de tokens de autenticação para maior segurança.

Para simplificar ainda mais o acesso, você pode usar um GCM para armazenar as credenciais com segurança no sistema local. Como alternativa, você pode configurar chaves SSH para autenticação Git em vez de usar um token de autenticação por HTTPS.

Esta seção descreve como armazenar e gerenciar com segurança credenciais para operações Git com repositórios de código do Oracle Cloud Infrastructure (OCI) DevOps.

Pré-requisitos

  • Conceda aos usuários permissão para acessar repositórios de código do DevOps e recursos relacionados criando políticas do serviço IAM. Para obter mais informações, consulte Políticas do Repositório de Código e Políticas do Serviço IAM do DevOps.
  • Crie um token de autenticação para cada usuário que usa o Git com repositórios de código do OCI DevOps.
  • Crie um repositório de código associado a um projeto do DevOps.
  • Instale o Git versão 2.11 ou posterior no seu sistema.
  • Configure o nome de usuário e o endereço de e-mail do Git. O Git usa esses valores para identificar commits.

    git config --global user.name "Your Name"
    git config --global user.email "you@example.com"

Configurando o Git Credential Manager

Você pode usar o GCM incluído no sistema operacional para armazenar o token de autenticação do OCI. Use as instruções para o SO.

Depois que o gerenciador de credenciais armazena o token de autenticação, ele reutiliza o token de autenticação automaticamente para operações Git por HTTPS. Você só será solicitado novamente se alterar o token de autenticação ou remover a credencial armazenada.

Configurando o GCM para Windows

Use o Git Credential Manager incluído no Git para Windows para armazenar o token de autenticação do OCI.

  1. Instale o Git para Windows. O Git Credential Manager é incluído por padrão.
  2. Abra um prompt de comando.
  3. Defina o GCM como o auxiliar padrão: git config --global credential.helper manager-core
  4. Clonar o repositório usando HTTPS: git clone https://<oci_user>@<region>.devops.oci.oraclecloud.com/namespaces/<tenancy>/projects/<project>/repositories/<repo>.git
  5. Quando for solicitada uma senha, cole o token de autenticação do OCI.

Configuração do GCM para macOS

Use o auxiliar de Chaveiro do macOS para armazenar o token de autenticação do OCI para operações Git em HTTPS.

  1. Instale o Git para macOS.
  2. Defina o auxiliar do macOS Keychain como o gerenciador de credenciais padrão: git config --global credential.helper osxkeychain
  3. Clonar o repositório usando HTTPS: git clone https://<oci_user>@<region>.devops.oci.oraclecloud.com/namespaces/<tenancy>/projects/<project>/repositories/<repo>.git
  4. Quando for solicitada uma senha, cole o token de autenticação do OCI.

Configurando o GCM para o Linux

Instale o Git Credential Manager Core e configure-o como o auxiliar padrão para o Git.

  1. Instale o Git usando o gerenciador de pacotes.
  2. Instale o Git Credential Manager Core seguindo as instruções em Git Credential Manager Core.
  3. Defina o GCM como o auxiliar padrão: git config --global credential.helper manager-core

    O valor do auxiliar de credencial é manager-core.

  4. Clonar o repositório usando HTTPS: git clone https://<oci_user>@<region>.devops.oci.oraclecloud.com/namespaces/<tenancy>/projects/<project>/repositories/<repo>.git
  5. Quando for solicitada uma senha, cole o token de autenticação do OCI.

Verificando a configuração do auxiliar de credenciais

Execute o seguinte comando para verificar a configuração do auxiliar de credenciais:

git config --global credential.helper

A saída deve exibir o gerenciador de credenciais do seu sistema operacional.

Depois que o gerenciador de credenciais armazena o token de autenticação, ele reutiliza o token de autenticação automaticamente para operações Git por HTTPS. Você só será solicitado novamente se alterar o token de autenticação ou remover a credencial armazenada.

Atualizando ou removendo credenciais armazenadas

  • No Windows, use o Gerenciador de Credenciais para editar ou remover itens salvos.
  • No macOS, use Acesso de Chaveiro.
  • No Linux, use a documentação do gerenciador de credenciais para gerenciar entradas.

Para limpar credenciais da linha de comando, execute:

git credential-manager erase

Configurando um proxy para o Git

Se a rede exigir um proxy para tráfego HTTPS de saída, defina as definições de proxy no Git:

git config --global http.proxy http://proxy:port
git config --global https.proxy http://proxy:port

Para remover as configurações de proxy, execute:

git config --global --unset http.proxy
git config --global --unset https.proxy

Configurar um proxy para o Git é opcional.

Orientação de segurança

  • Gire tokens de autenticação periodicamente e atualize as credenciais armazenadas após a rotação.
  • Armazene tokens de autenticação com segurança e não os compartilhe.

Diagnóstico e Solução de Problemas

  • Se você receber erros de autenticação, verifique se o gerenciador de credenciais está configurado corretamente e se o token de autenticação é válido.
  • Se você tiver alterado ou revogado um token, atualize a credencial armazenada ou remova-a antes de tentar novamente.
  • Se você receber um erro de falha na autenticação, gere um novo token de autenticação e repita a operação Git.
  • Se você receber um erro de repositório não encontrado, verifique o URL do repositório e confirme se as políticas do serviço IAM necessárias estão definidas.
  • Se você receber um erro 403 Forbidden, verifique se você tem as permissões necessárias para acessar o repositório.
  • Para redefinir a configuração do auxiliar de credencial, execute:

    git config --global --unset credential.helper
  • Para remover credenciais armazenadas, execute:

    git credential-manager erase
  • Para coletar informações de diagnóstico, execute:

    git credential-manager diagnose