Esta página descreve como usar o serviço de descoberta da Proteção de dados sensíveis para determinar se os secrets estão presentes nas variáveis de ambiente do Cloud Run. A proteção de dados sensíveis informa ao Security Command Center todas as descobertas como vulnerabilidades.
Sobre o Security Command Center
O Security Command Center é o serviço centralizado de relatórios de vulnerabilidade e ameaças do Google Cloud. O Security Command Center ajuda a fortalecer sua postura de segurança ao identificar configurações incorretas, vulnerabilidades, observações e ameaças. Ele também fornece recomendações para investigar e remediar as descobertas.
Por que verificar se há secrets nas variáveis de ambiente
Armazenar segredos, como senhas, em variáveis de ambiente não é uma prática segura, porque elas não são criptografadas. Os valores podem ser coletados e expostos em vários sistemas, como registros. Recomendamos que você use o Secret Manager para armazenar seus secrets. Para mais informações, consulte a documentação do Cloud Run e do Cloud Run functions sobre como configurar segredos.
Como funciona
Para realizar a descoberta de segredos, crie uma configuração de verificação de descoberta no nível da organização ou do projeto. No escopo selecionado, a Proteção de dados sensíveis verifica periodicamente o Cloud Run em busca de segredos nas variáveis de ambiente de build e de execução.
Se um segredo estiver presente em uma variável de ambiente, a proteção de dados sensíveis
enviará uma descoberta de vulnerabilidade Secrets in environment variables
para o
Security Command Center. Nenhum perfil de dados é gerado. As descobertas só estão disponíveis
pelo Security Command Center.
A Proteção de dados sensíveis gera no máximo uma descoberta por recurso. Por exemplo, se segredos forem encontrados em duas variáveis de ambiente na mesma função do Cloud Run, apenas uma descoberta será gerada no Security Command Center.
No Security Command Center, é possível conferir as descobertas de Secrets in environment variables
fazendo o seguinte:
- Analisar as descobertas da proteção de dados sensíveis
- Acessar ou exportar um relatório de compliance para o padrão CIS 1.3 ou CIS 2.0.
O JSON a seguir mostra um exemplo de uma descoberta Secrets in environment variables
. Este exemplo mostra apenas os campos relevantes para esse recurso. Ele não
oferece uma lista completa de
campos.
Secrets em variáveis de ambiente
{ "finding": { "canonicalName": "projects/PROJECT_NUMBER/sources/SOURCE_ID/findings/FINDING_ID", "category": "SECRETS_IN_ENVIRONMENT_VARIABLES", "compliances": [ { "standard": "cis", "version": "1.3", "ids": [ "1.18" ] } ], "createTime": "DATE_TIME", "description": "The affected resource is storing credentials or other secret information in its environment variables. This is a security vulnerability because environment variables are stored unencrypted, and accessible to all users who have access to the code.", "eventTime": "DATE_TIME", "findingClass": "VULNERABILITY", "findingProviderId": "organizations/ORGANIZATION_ID/firstPartyFindingProviders/dlp", "mute": "MUTE_STATUS", "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID", "parent": "organizations/ORGANIZATION_ID/sources/SOURCE_ID", "parentDisplayName": "Sensitive Data Protection", "resourceName": "//cloudfunctions.googleapis.com/projects/PROJECT_ID/locations/REGION/functions/FUNCTION_ID", }, "resource": { "name": "//cloudfunctions.googleapis.com/projects/PROJECT_ID/locations/REGION/functions/FUNCTION_ID", "display_name": "projects/PROJECT_ID/locations/REGION/functions/FUNCTION_ID", "type": "google.cloudfunctions.CloudFunction", "project_name": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER", "project_display_name": "PROJECT_DISPLAY_NAME", "parent_name": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER", "parent_display_name": "PARENT_DISPLAY_NAME" } }
Como encontrar a latência de geração
A partir do momento em que você ativa a descoberta de secrets na proteção de dados confidenciais, pode levar até 12 horas para a verificação inicial de variáveis de ambiente ser
concluída e para que as descobertas de Secrets in environment variables
apareçam no
Security Command Center. Em seguida, a proteção de dados sensíveis verifica as variáveis de ambiente
a cada 24 horas. Na prática, as verificações podem ser executadas com mais frequência do que isso.
Tipos de segredos informados
Exemplos de secrets são senhas, tokens de autenticação e credenciais do Google Cloud. Para acessar a lista completa de tipos de secrets que a Proteção de dados confidenciais verifica nesse recurso, consulte Credenciais e secrets.
Recursos suportados
Para a descoberta de segredos, a Proteção de dados sensíveis oferece suporte a funções do Cloud Run (incluindo a 1ª geração) e versões de serviço das Cloud Functions Run.
Preços
Esse recurso não tem cobranças de proteção de dados sensíveis. Cobranças do Security Command Center podem ser aplicadas, dependendo do nível do serviço. A Proteção de dados sensíveis funciona com o Security Command Center em todos os níveis de serviço.
Residência dos dados
Ao criar uma configuração de verificação pela primeira vez, especifique onde quer que a Proteção de Dados Sensíveis seja armazenada. Todas as configurações de verificação subsequentes que você criar serão armazenadas na mesma região. A Proteção de dados sensíveis exporta seus metadados do Cloud Run para a região em que a configuração do recurso de verificação está armazenada, mas a revisão da função ou do serviço não é exportada.
Se a Proteção de dados sensíveis detectar segredos em variáveis de ambiente, as descobertas serão enviadas ao Security Command Center e estarão sujeitas aos processos de processamento de dados.
Papéis do IAM obrigatórios
Para realizar a descoberta de segredos, você precisa dos papéis do Identity and Access Management necessários para criar dados de perfil:
Para realizar a descoberta de secrets no nível da organização, consulte Papéis necessários para trabalhar com perfis de dados no nível da organização.
Para realizar a descoberta de segredos no nível do projeto, consulte Papéis necessários para trabalhar com perfis de dados no nível do projeto.
Além disso, você precisa dos papéis apropriados para trabalhar com as descobertas do Security Command Center. Para mais informações, consulte IAM para ativações no nível da organização na documentação do Security Command Center.
Antes de começar
Confira o nível de ativação do Security Command Center para sua organização. Para enviar perfis de dados ao Security Command Center, é necessário ativar o Security Command Center no nível da organização em qualquer nível de serviço. Para mais informações, consulte Ativar o Security Command Center para uma organização.
Se o Security Command Center estiver ativado apenas no nível do projeto, as descobertas da Proteção de dados sensíveis não vão aparecer no Security Command Center.
No Security Command Center, verifique se a Proteção de dados sensíveis está ativada como um serviço integrado. Para mais informações, consulte Adicionar um serviço integrado do Google Cloud.
Configurar a descoberta de segredos no nível da organização
Siga estas etapas se quiser ativar a descoberta de segredos em toda a organização. Para a descoberta no nível do projeto, consulte Configurar a descoberta de segredos no nível do projeto.
Se você não tiver o papel de administrador da organização
(roles/resourcemanager.organizationAdmin
) ou de administrador de segurança
(roles/iam.securityAdmin
), ainda poderá criar uma configuração
de verificação. No entanto, depois de criar a configuração de verificação, alguém com
uma dessas funções precisa conceder acesso de descoberta ao agente de serviço.
Acesse a página Criar configuração de verificação.
Acesse sua organização. Na barra de ferramentas, clique no seletor de projetos e selecione sua organização.
Depois de cada etapa desta página, clique em Continuar.
Em Selecionar um tipo de descoberta, selecione Vulnerabilidades de segredos/credenciais.
Em Selecionar escopo, escolha se você quer verificar toda a organização.
Em Gerenciar contêiner e agente de serviço, especifique o projeto a ser usado como contêiner de agente de serviço. Você pode fazer com que a Proteção de dados sensíveis crie automaticamente um novo projeto ou escolher um projeto existente.
Se você não tiver um projeto para usar como um contêiner do agente de serviço, selecione Criar um novo projeto como um contêiner do agente de serviço. A Proteção de dados sensíveis cria um novo projeto chamado DLP Service Agent Container. O agente de serviço neste projeto será usado para autenticação na API Sensitive Data Protection e outras APIs. O sistema solicita que você selecione a conta a ser cobrada para todas as operações faturáveis relacionadas a esse projeto, incluindo operações não relacionadas à descoberta.
Se você não tiver as permissões necessárias para criar projetos, a opção Criar um novo projeto como um contêiner de agente de serviço vai estar desativada. Nesse caso, selecione um projeto existente ou peça ao administrador do Google Cloud para conceder a você o papel de Criador de projetos (
roles/resourcemanager.projectCreator
).Se você tiver um contêiner de agente de serviço que quer reutilizar, selecione Selecionar um contêiner de agente de serviço atual. Em seguida, clique em Procurar para selecionar o ID do projeto do contêiner do agente de serviço.
Em Definir local para armazenar a configuração, selecione a região em que você quer armazenar essa configuração de verificação. Todas as configurações de verificação que você criar posteriormente também serão armazenadas nesse local. Para informações sobre as considerações de residência de dados, consulte Residência de dados nesta página.
Opcional: se você não quiser que a verificação comece logo após a criação da configuração, selecione Criar verificação no modo pausado.
Essa opção é útil nos seguintes casos:
- O administrador do Google Cloud ainda precisa conceder acesso de descoberta ao agente de serviço.
- Você quer criar várias configurações de verificação e quer que algumas configurações modifiquem outras.
Clique em Criar.
A Proteção de Dados Sensíveis começa a verificar suas variáveis de ambiente do Cloud Run logo após você criar uma configuração de verificação ou retomar uma configuração pausada. Para saber quanto tempo leva para as descobertas aparecerem no Security Command Center, consulte Latência de geração de descobertas nesta página.
Se você não tiver o papel de administrador da organização
(roles/resourcemanager.organizationAdmin
) ou de administrador de segurança
(roles/iam.securityAdmin
), alguém com uma dessas funções
precisa conceder acesso à descoberta ao seu
agente de serviço antes que a descoberta possa começar.
Configurar a descoberta de segredos no nível do projeto
Siga estas etapas se quiser ativar a descoberta de segredos para um único projeto. Para a descoberta no nível da organização, consulte Configurar a descoberta de segredos no nível da organização.
Acesse a página Criar configuração de verificação.
Acesse seu projeto. Na barra de ferramentas, clique no seletor de projetos e selecione seu projeto.
Depois de cada etapa desta página, clique em Continuar.
Em Selecionar um tipo de descoberta, selecione Vulnerabilidades de segredos/credenciais.
Em Selecionar escopo, verifique se a opção Scan entire project está selecionada. Se ele não estiver selecionado, verifique se você está na visualização do projeto.
Em Definir local para armazenar a configuração, selecione a região em que você quer armazenar essa configuração de verificação. Todas as configurações de verificação que você criar posteriormente também serão armazenadas nesse local. Para informações sobre as considerações de residência de dados, consulte Residência de dados nesta página.
Clique em Criar.
A Proteção de Dados Sensíveis começa a verificar suas variáveis de ambiente do Cloud Run logo após você criar uma configuração de verificação ou retomar uma configuração pausada. Para saber quanto tempo leva para as descobertas aparecerem no Security Command Center, consulte Latência de geração de descobertas nesta página.
Consultar descobertas de Secrets in environment variables
Confira abaixo exemplos de consultas que podem ser usadas para encontrar descobertas de Secrets in
environment variables
no Security Command Center. É possível inserir essas consultas no campo Editor de consultas. Para mais informações sobre o editor de consultas, consulte Editar uma consulta de descobertas no painel do Security Command Center.
Listar todas as descobertas de Secrets in environment variables
state="ACTIVE"
AND NOT mute="MUTED"
AND category="SECRETS_IN_ENVIRONMENT_VARIABLES"
Listar todas as descobertas de Secrets in environment variables
para um projeto específico
state="ACTIVE"
AND NOT mute="MUTED"
AND category="SECRETS_IN_ENVIRONMENT_VARIABLES"
AND resource.project_name="//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER"
Substitua:
- PROJECT_NUMBER: o ID numérico do projeto que você quer consultar.