Nesta página, descrevemos 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 Functions. A proteção de dados sensíveis relata todas as descobertas ao Security Command Center como vulnerabilidades.
Sobre o Security Command Center
O Security Command Center é o serviço centralizado de geração 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 corrigir as descobertas.
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 as variáveis de ambiente não são criptografadas. Os valores delas 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 Configurar secrets na documentação do Cloud Functions.
Como funciona
Para executar a descoberta de secrets, crie uma configuração de verificação de descoberta no nível da organização ou do projeto. Dentro do escopo selecionado, a proteção de dados sensíveis verifica periodicamente se há secrets no Cloud Functions em variáveis de ambiente de build e ambiente 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
para o
Security Command Center. Nenhum perfil de dados é gerado. Todas as descobertas estão disponíveis
apenas pelo Security Command Center.
A proteção de dados sensíveis gera no máximo uma descoberta por função. Por exemplo, se secrets forem encontrados em duas variáveis de ambiente na mesma função, somente uma descoberta será gerada no Security Command Center.
No Security Command Center, é possível ver as descobertas de Secrets in environment variables
ao fazer o seguinte:
- Analisar as descobertas de proteção de dados sensíveis
- Veja ou exporte um relatório de conformidade 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
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" } }
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. Em seguida, a proteção de dados confidenciais 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 secrets reportados
Exemplos de secrets são senhas, tokens de autenticação e credenciais do Google Cloud. Para ver uma lista completa de tipos de secrets que a proteção de dados sensíveis verifica nesse recurso, consulte Credenciais e secrets.
Recursos suportados
Para a descoberta de secrets, a proteção de dados sensíveis é compatível com o Cloud Functions (1a e 2a geração).
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 de serviço: Standard ou Premium. A proteção de dados sensíveis funciona com o Security Command Center nos níveis Standard e Premium.
Residência dos dados
Na primeira vez que criar uma configuração de verificação, especifique onde você quer que a proteção de dados sensíveis armazene-a. Todas as configurações de verificação subsequentes criadas são armazenadas na mesma região. A proteção de dados sensíveis exporta os metadados do Cloud Functions para a região onde a configuração de verificação está armazenada, mas a função em si 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 processamento de dados.
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:
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 secrets 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
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 o Security Command Center no nível da organização, no nível Standard ou Premium. Para mais informações, consulte Ativar o Security Command Center para uma organização.
Se o Security Command Center for ativado apenas no nível do projeto, as descobertas da proteção de dados sensíveis não serão exibidas 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 secrets no nível da organização
Siga estas etapas se quiser ativar a descoberta de secrets em toda a organização. 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 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 um desses papéis precisa conceder acesso de descoberta ao seu 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 a organização.
Após cada etapa nesta página, clique em Continuar.
Em Selecionar um tipo de descoberta, selecione Vulnerabilidades de secrets/credenciais.
Em Selecionar escopo, escolha se você quer verificar toda a organização.
Em Gerenciar o contêiner e o faturamento do agente de serviço, especifique o projeto a ser usado como um contêiner do agente de serviço. É possível que a proteção de dados sensíveis crie automaticamente um novo projeto ou escolha um atual.
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 confidenciais cria um novo projeto chamado Contêiner do agente de serviço do DLP. O agente de serviço neste projeto será usado para autenticação na proteção de dados sensíveis e em outras APIs. O sistema solicita que você selecione a conta a ser cobrada por todas as operações faturáveis relacionadas a este 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 do agente de serviço será desativada. Nesse caso, é necessário selecionar um projeto atual ou pedir ao administrador do Google Cloud para conceder a você o papel de Criador de projetos (
roles/resourcemanager.projectCreator
).Se você tiver um contêiner do agente de serviço que queira reutilizar, selecione Selecionar um contêiner do 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 o 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 criadas posteriormente 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.
Opcional: se você não quiser que a verificação comece logo depois de criar a 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 configurações substituam outras.
Clique em Criar.
A proteção de dados confidenciais começa a verificar suas variáveis de ambiente do Cloud Functions logo depois que você cria uma configuração de verificação ou retoma uma configuração pausada. Para informações sobre quanto tempo leva para as descobertas aparecerem no Security Command Center, consulte Como encontrar a latência de geração nesta página.
Se você não tiver o papel Administrador da organização (roles/resourcemanager.organizationAdmin
) ou Administrador de segurança (roles/iam.securityAdmin
), alguém com um desses papéis precisará conceder acesso de descoberta ao seu agente de serviço antes que a descoberta possa começar.
Configurar a descoberta de secrets no nível do projeto
Siga estas etapas se quiser ativar a descoberta de secrets em um único projeto. Para a descoberta de secrets da organização, consulte Configurar a descoberta de secrets 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.
Após cada etapa nesta página, clique em Continuar.
Em Selecionar um tipo de descoberta, selecione Vulnerabilidades de secrets/credenciais.
Em Selecionar escopo, verifique se Verificar todo o projeto está selecionado. Se ele não estiver selecionado, verifique se você está na visualização do projeto.
Em Definir o 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 criadas posteriormente 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.
Clique em Criar.
A proteção de dados confidenciais começa a verificar suas variáveis de ambiente do Cloud Functions logo depois que você cria uma configuração de verificação ou retoma uma configuração pausada. Para informações sobre quanto tempo leva para as descobertas aparecerem no Security Command Center, consulte Como encontrar a latência de geração nesta página.
Consultar descobertas de Secrets in environment variables
Veja a seguir 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 saber mais sobre o editor de
consultas, acesse Editar uma consulta de descobertas no painel do
Security Command Center.
Listar todas as Secrets in environment variables
descobertas
state="ACTIVE"
AND NOT mute="MUTED"
AND category="SECRETS_IN_ENVIRONMENT_VARIABLES"
Listar todas as descobertas de Secrets in environment variables
de 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