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

Nesta página, descrevemos como usar o serviço de descoberta da proteção de dados sensíveis para determinar se há secrets nas variáveis de ambiente do Cloud Run. A proteção de dados sensíveis informa todas as descobertas ao Security Command Center 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 oferece recomendações para investigar e corrigir os resultados.

Por que verificar secrets em variáveis de ambiente

Armazenar secrets, 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 secrets.

Como funciona

Para realizar a descoberta de secrets, 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 secrets em variáveis de ambiente de build e de execução.

Se um secret estiver presente em uma variável de ambiente, a proteção de dados sensíveis enviará uma descoberta de vulnerabilidade Secrets in environment variables ao 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 forem encontrados segredos 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 quando você faz o seguinte:

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

O JSON a seguir mostra um exemplo de uma descoberta de Secrets in environment variables. Este exemplo mostra apenas os campos relevantes para esse recurso. Ele não fornece 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"
  }
}
    

Latência de geração de descobertas

Dependendo do tamanho da sua organização, as descobertas da Proteção de Dados Sensíveis podem começar a aparecer no Security Command Center alguns minutos depois que você ativa a descoberta de dados sensíveis. Para organizações maiores ou com configurações específicas que afetam a geração de descobertas, pode levar até 12 horas para que as descobertas iniciais apareçam no Security Command Center.

Em seguida, a Proteção de Dados Sensíveis gera descobertas no Security Command Center alguns minutos após o serviço de descoberta verificar seus recursos.

Tipos de segredos informados

Exemplos de secrets são senhas, tokens de autenticação e Google Cloud credenciais. Para conferir uma 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 secrets, a proteção de dados sensíveis é compatível com Cloud Run functions (incluindo o Cloud Functions de 1ª geração) e revisões de serviço do Cloud Run.

Preços

Esse recurso não tem custos financeiros 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 a armazene. 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 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 secrets em variáveis de ambiente, as descobertas serão enviadas ao Security Command Center e estarão sujeitas aos processos de tratamento de dados dele.

Papéis do IAM obrigatórios

Para realizar a descoberta de secrets, você precisa dos papéis do Identity and Access Management necessários para criar perfis de dados:

Além disso, você precisa das funções adequadas 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. Verifique 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 a plataforma 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.

  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 Google Cloud serviço integrado.

Configurar a descoberta de secrets no nível da organização

Siga estas etapas se quiser ativar a descoberta de secrets em uma organização inteira. Para a descoberta no nível do projeto, consulte Configurar a descoberta de secrets no nível do projeto.

Se você não tiver o papel de administrador da organização (roles/resourcemanager.organizationAdmin) ou 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 qualquer uma dessas funções precisa conceder acesso à descoberta ao seu 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 nesta página, clique em Continuar.

  3. Em Selecione um tipo de descoberta, escolha 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. A proteção de dados sensíveis pode criar automaticamente um novo projeto ou escolher um existente.

    • Se você não tiver um projeto para usar como 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 projeto chamado DLP Service Agent Container. O agente de serviço neste projeto será usado para autenticar a Proteção de Dados Sensíveis e outras APIs. O sistema solicita que você selecione a conta a ser cobrada por 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 doGoogle 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 depois também serão armazenadas nesse local. Para informações sobre 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:

    • Seu 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 substituam outras.
  8. Clique em Criar.

A Proteção de Dados Sensíveis começa a verificar as variáveis de ambiente do Cloud Run logo após a criação ou retomada de uma configuração pausada. Para informações sobre 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 administrador de segurança (roles/iam.securityAdmin), alguém com um desses papéis precisa conceder acesso à descoberta ao seu agente de serviço antes que ela possa começar.

Configurar a descoberta de secrets no nível do projeto

Siga estas etapas se quiser ativar a descoberta de secrets para um único projeto. Para a descoberta no nível da organização, consulte Configurar a descoberta de secrets 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.

    Depois de cada etapa nesta página, clique em Continuar.

  3. Em Selecione um tipo de descoberta, escolha Vulnerabilidades de segredos/credenciais.

  4. Em Selecionar escopo, verifique se a opção Verificar todo o projeto está selecionada. Se não estiver selecionado, verifique se você está na visualização de 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 depois também serão armazenadas nesse local. Para informações sobre 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 as variáveis de ambiente do Cloud Run logo após a criação ou retomada de uma configuração pausada. Para informações sobre quanto tempo leva para as descobertas aparecerem no Security Command Center, consulte Latência de geração de descobertas nesta página.

Consultar descobertas do Secrets in environment variables

Confira a seguir exemplos de consultas que podem ser usadas para encontrar descobertas de Secrets in environment variables no Security Command Center. Insira 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.