Ativar a verificação de secrets

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

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

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

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

Ativar a verificação de secrets

Verifique se as seguintes funções e configurações estão ativadas para seu repositório.

Funções exigidas

Para receber as permissões necessárias 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) na instância 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.

Também é possível conseguir as permissões necessárias usando 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 segredos 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, a função de leitor da DLP, roles/dlp.reader).

  • Se uma conta de serviço por repositório estiver configurada para o repositório, o Secure Source Manager usará essa conta de serviço exclusivamente. Você precisa conceder 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 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 seus 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.

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 fazer push na linha de comando, você recebe um erro indicando a presença de dados sensíveis. Neste momento, você tem duas opções:

Reverta 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 do 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 o commit novamente para remover os dados do histórico recente da ramificação.

Fazer um push forçado 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 ignorar a verificação de varredura de secrets e fazer push forçado do commit.

git push -o dlpskip=true origin \
    BRANCH_NAME

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

A seguir