Informar segredos em variáveis de ambiente para o Security Command Center

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 sobre vulnerabilidades 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 procurar secrets em 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:

As descobertas geradas na lista de descobertas do Security Command Center no console do Google Cloud

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:

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

  1. 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 confidenciais não vão aparecer no Security Command Center.

  2. 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.

  1. Acesse a página Criar configuração de verificação.

    Acessar "Criar configuração de verificação"

  2. 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.

  3. Em Selecionar um tipo de descoberta, selecione Vulnerabilidades de segredos/credenciais.

  4. Em Selecionar escopo, escolha se você quer verificar toda a organização.

  5. 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.

  6. 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.

  7. 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.
  8. 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.

  1. Acesse a página Criar configuração de verificação.

    Acessar "Criar configuração de verificação"

  2. Acesse seu projeto. Na barra de ferramentas, clique no seletor de projetos e selecione seu projeto.

    Após cada etapa desta página, clique em Continuar.

  3. Em Selecionar um tipo de descoberta, selecione Vulnerabilidades de segredos/credenciais.

  4. Em Selecionar escopo, verifique se a opção Verificar todo o projeto está selecionada. Se ele não estiver selecionado, verifique se você está na visualização do projeto.

  5. 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.

  6. 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.