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:
- Navegue até o repositório em que você quer ativar a verificação de secrets.
- Clique no ícone Settings.
- Localize o botão Verificação de secrets.
- Clique no botão para a posição Ativado.
- 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
- Visão geral da proteção de ramificações
Como criar modelos de inspeção da Proteção de Dados Sensíveis