Ativar a verificação de secrets

Neste documento, descrevemos como proteger suas informações sensíveis com a verificação integrada de secrets no Secure Source Manager.

A verificação de secrets no Secure Source Manager melhora a segurança da base de código. Ele analisa os commits enviados para seus repositórios ou mesclados por solicitações de pull, verificando ativamente se há informações sensíveis que precisam ser criptografadas ou removidas. Se esses dados forem detectados, a verificação de secrets rejeitará automaticamente o push ou bloqueará a mesclagem da solicitação de envio, impedindo que detalhes sensíveis sejam mesclados inadvertidamente.

A verificação de secrets no Secure Source Manager trata as seguintes categorias de informações como sensíveis:

  • Chaves de criptografia: inclui itens como chaves privadas SSH.
  • Credenciais da AWS: chaves de acesso e chaves secretas do Amazon Web Services.
  • Credenciais doGoogle Cloud : chaves de conta de serviço e outros secrets do Google Cloud .
  • Chaves secretas do cliente OAuth: chaves secretas usadas para autenticação de aplicativos com o OAuth.
  • Chaves secretas: chaves sensíveis usadas para autenticação ou autorização.

Ativar a verificação de secrets

Verifique se os papéis e as configurações a seguir estão ativados para seu repositório.

Funções exigidas

Para receber a permissão necessária para ativar a verificação de secrets, peça ao administrador para conceder a você o papel do IAM de Administrador do repositório do Secure Source Manager (roles/securesourcemanager.repoAdmin) no repositório do Secure Source Manager. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Esse papel predefinido contém a permissão securesourcemanager.repositories.update, que é necessária para ativar a verificação de secrets.

Também é possível receber essa permissão com papéis personalizados ou outros papéis predefinidos.

Para informações sobre como conceder papéis do Secure Source Manager, consulte Controle de acesso com o IAM e Conceder acesso à instância aos usuários.

Permissões de conta de serviço

Se você configurar a verificação de secrets para usar um modelo de inspeção personalizado da Proteção de Dados Sensíveis, a conta de serviço usada pelo Secure Source Manager precisará ter permissão para ler o modelo (por exemplo, o papel de leitor de DLP, roles/dlp.reader).

  • Se uma conta de serviço por repositório estiver configurada para o repositório, o Secure Source Manager vai usar essa conta de serviço exclusivamente. É preciso conceder a permissão de leitura do modelo à conta de serviço por repositório.
  • Se nenhuma conta de serviço por repositório estiver configurada, o Secure Source Manager vai usar a conta de serviço da instância.

Atualizar as configurações do repositório

É possível ativar a verificação de secrets nos repositórios pela interface do Secure Source Manager:

  1. Navegue até o repositório em que você quer ativar a verificação de secrets.
  2. Clique no ícone Settings.
  3. Localize o botão Verificação de secrets.
  4. Clique no botão para a posição Ativado.
  5. Opcional: no campo Modelo de inspeção, insira o nome do recurso do modelo de inspeção da Proteção de Dados Sensíveis.
  6. Clique no botão Update Settings.

Como trabalhar com a verificação de secrets

Depois que a verificação de secrets é ativada, ela monitora ativamente os commits no seu repositório. Se informações sensíveis forem identificadas em um commit enviado usando o Git ou mesclado por uma solicitação de envio na interface da Web, o commit será rejeitado ou a mesclagem será bloqueada.

Ao enviar pela linha de comando, você recebe um erro indicando a presença de dados sensíveis. Nesse ponto, você tem duas opções:

Reverter a mudança

Para remover as informações sensíveis, reverta o commit problemático usando o seguinte comando:

git reset --soft COMMIT_ID

Substitua COMMIT_ID pelo ID de commit real.

Como o Git retém o histórico de todos os commits, o material sensível ainda pode ser recuperado de commits anteriores. Para evitar isso, use o comando git reset --soft. Em seguida, corrija os arquivos e faça commit deles novamente para remover os dados do histórico recente da ramificação.

Forçar o push do commit (ignorar a verificação de secrets)

Em situações específicas em que as informações detectadas são consideradas aceitáveis, os usuários com as permissões adequadas podem optar por ignorar a verificação de secrets e forçar o push do commit.

git push -o dlpskip=true origin \
    BRANCH_NAME

Substitua BRANCH_NAME pelo nome da ramificação que você está mesclando.

A seguir