Segnala i secret nelle variabili di ambiente a Security Command Center

Questa pagina descrive come utilizzare il servizio di rilevamento di Sensitive Data Protection per determinare se sono presenti secret nelle variabili di ambiente di Cloud Functions. Sensitive Data Protection segnala qualsiasi risultato a Security Command Center come vulnerabilità.

Informazioni su Security Command Center

Security Command Center è il servizio centralizzato di segnalazione delle vulnerabilità e delle minacce di Google Cloud. Security Command Center ti aiuta a rafforzare la tua strategia di sicurezza identificando errori di configurazione, vulnerabilità, osservazioni e minacce. Fornisce inoltre suggerimenti per indagare e risolvere i risultati.

Perché eseguire la scansione dei secret nelle variabili di ambiente

L'archiviazione di secret, ad esempio le password, nelle variabili di ambiente non è una pratica sicura perché le variabili di ambiente non sono criptate. I valori possono essere raccolti ed esposti in vari sistemi, ad esempio i log. Ti consigliamo di utilizzare Secret Manager per archiviare i secret. Per ulteriori informazioni, consulta Configurare i secret nella documentazione di Cloud Functions.

Come funziona

Per eseguire il rilevamento dei secret, devi creare una configurazione di scansione del rilevamento a livello di organizzazione o di progetto. All'interno dell'ambito selezionato, la protezione dei dati sensibili analizza periodicamente Cloud Functions alla ricerca di secret nelle variabili di ambiente di creazione e runtime.

Se un secret è presente in una variabile di ambiente, Sensitive Data Protection invia un risultato di vulnerabilità Secrets in environment variables a Security Command Center. Non vengono generati profili di dati. Eventuali risultati sono disponibili solo tramite Security Command Center.

Sensitive Data Protection genera al massimo un risultato per funzione. Ad esempio, se i secret vengono rilevati in due variabili di ambiente nella stessa funzione, viene generato un solo risultato in Security Command Center.

In Security Command Center puoi visualizzare i risultati di Secrets in environment variables se esegui queste operazioni:

I risultati generati nell'elenco dei risultati di Security Command Center nella console Google Cloud

Il seguente JSON mostra un esempio di un risultato Secrets in environment variables. Questo esempio mostra solo i campi pertinenti a questa funzionalità e non fornisce un elenco esaustivo dei campi.

Secret nelle variabili di 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"
  }
}
    

Latenza di generazione dei risultati

Dal momento in cui attivi il rilevamento dei secret in Sensitive Data Protection, il completamento dell'analisi iniziale delle variabili di ambiente può richiedere fino a 12 ore. In seguito, Sensitive Data Protection analizza le variabili di ambiente ogni 24 ore. In pratica, le scansioni possono essere eseguite con maggiore frequenza.

Tipi di secret segnalati

Esempi di secret sono password, token di autenticazione e credenziali Google Cloud. Per un elenco completo dei tipi di secret utilizzati da Sensitive Data Protection in questa funzionalità, vedi Credenziali e secret.

Risorse supportate

Per il rilevamento dei secret, Sensitive Data Protection supporta Cloud Functions (1a e 2ª generazione).

Prezzi

Questa funzionalità non prevede addebiti per la protezione dei dati sensibili. Potrebbero essere applicati costi di Security Command Center, a seconda del livello di servizio: Standard o Premium. Sensitive Data Protection funziona con Security Command Center sia nel livello Standard che Premium.

Residenza dei dati

La prima volta che crei una configurazione di scansione, specifichi dove vuoi che venga archiviata da Sensitive Data Protection. Tutte le configurazioni di scansione successive che crei vengono archiviate nella stessa regione. Sensitive Data Protection esporta i metadati di Cloud Functions nella regione in cui è archiviata la configurazione della scansione, ma la funzione stessa non viene esportata.

Se Sensitive Data Protection rileva secret nelle variabili di ambiente, i risultati vengono inviati a Security Command Center e sono soggetti alle relative procedure di gestione dei dati.

Ruoli IAM obbligatori

Per eseguire il rilevamento dei secret, sono necessari i ruoli di Identity and Access Management richiesti per profilare i dati:

Inoltre, devi disporre dei ruoli appropriati per utilizzare i risultati di Security Command Center. Per maggiori informazioni, consulta IAM per le attivazioni a livello di organizzazione nella documentazione di Security Command Center.

Prima di iniziare

  1. Controlla il livello di attivazione di Security Command Center per la tua organizzazione. Per inviare profili di dati a Security Command Center, devi aver attivato Security Command Center a livello di organizzazione nel livello Standard o Premium. Per maggiori informazioni, vedi Attivare Security Command Center per un'organizzazione.

    Se Security Command Center viene attivato solo a livello di progetto, i risultati di Sensitive Data Protection non verranno visualizzati in Security Command Center.

  2. In Security Command Center, assicurati che Sensitive Data Protection sia abilitato come servizio integrato. Per ulteriori informazioni, consulta Aggiungere un servizio integrato di Google Cloud.

Configura il rilevamento dei secret a livello di organizzazione

Esegui questi passaggi se vuoi attivare il rilevamento dei secret nell'intera organizzazione. Per il rilevamento a livello di progetto, consulta Configurare il rilevamento dei secret a livello di progetto.

Se non hai il ruolo Amministratore organizzazione (roles/resourcemanager.organizationAdmin) o Amministratore sicurezza (roles/iam.securityAdmin), puoi comunque creare una configurazione dell'analisi. Tuttavia, dopo che hai creato la configurazione di scansione, un utente che dispone di uno di questi ruoli deve concedere l'accesso di rilevamento all'agente di servizio.

  1. Vai alla pagina Crea configurazione di scansione.

    Vai a Crea configurazione di scansione

  2. Vai alla tua organizzazione. Nella barra degli strumenti, fai clic sul selettore dei progetti e seleziona la tua organizzazione.

    Dopo ogni passaggio su questa pagina, fai clic su Continua.

  3. In Seleziona un tipo di rilevamento, scegli Vulnerabilità di secret/credenziali.

  4. Per Seleziona ambito, scegli se eseguire la scansione dell'intera organizzazione.

  5. In Gestisci container e fatturazione dell'agente di servizio, specifica il progetto da utilizzare come container dell'agente di servizio. Puoi fare in modo che Sensitive Data Protection crei automaticamente un nuovo progetto oppure puoi sceglierne uno esistente.

    • Se non hai un progetto da utilizzare come container dell'agente di servizio, seleziona Crea un nuovo progetto come container dell'agente di servizio. Sensitive Data Protection crea un nuovo progetto denominato Container Agente di servizio DLP. L'agente di servizio all'interno di questo progetto verrà utilizzato per l'autenticazione per Sensitive Data Protection e altre API. Il sistema ti chiede di selezionare l'account da fatturare per tutte le operazioni fatturabili relative a questo progetto, incluse le operazioni non correlate al rilevamento.

      Se non disponi delle autorizzazioni necessarie per creare progetti, l'opzione Crea un nuovo progetto come container dell'agente di servizio è disabilitata. In questo caso, devi selezionare un progetto esistente o chiedere all'amministratore di Google Cloud di concederti il ruolo Autore progetto (roles/resourcemanager.projectCreator).

    • Se hai già un container dell'agente di servizio che vuoi riutilizzare, seleziona Seleziona un container dell'agente di servizio esistente. Fai clic su Sfoglia per selezionare l'ID progetto del container dell'agente di servizio.

  6. Per Imposta la località per archiviare la configurazione, seleziona la regione in cui vuoi archiviare questa configurazione di scansione. Anche tutte le configurazioni di scansione create in un secondo momento verranno archiviate in questa località. Per informazioni sulle considerazioni relative alla residenza dei dati, consulta Residenza dei dati in questa pagina.

  7. (Facoltativo) Se non vuoi che la scansione inizi poco dopo aver creato la configurazione della scansione, seleziona Crea scansione in modalità in pausa.

    Questa opzione è utile nei seguenti casi:

  8. Fai clic su Crea.

Sensitive Data Protection inizia ad analizzare le variabili di ambiente di Cloud Functions poco dopo che hai creato una configurazione di scansione o riprendi una configurazione in pausa. Per informazioni sul tempo necessario per visualizzare i risultati in Security Command Center, vedi Trovare la latenza di generazione in questa pagina.

Se non hai il ruolo Amministratore organizzazione (roles/resourcemanager.organizationAdmin) o Amministratore sicurezza (roles/iam.securityAdmin), un utente con uno di questi ruoli deve concedere l'accesso di rilevamento all'agente di servizio prima che il rilevamento possa iniziare.

Configura il rilevamento dei secret a livello di progetto

Esegui questi passaggi se vuoi attivare il rilevamento dei secret per un singolo progetto. Per il rilevamento a livello di organizzazione, consulta Configurare il rilevamento dei secret a livello di organizzazione.

  1. Vai alla pagina Crea configurazione di scansione.

    Vai a Crea configurazione di scansione

  2. Vai al progetto. Sulla barra degli strumenti, fai clic sul selettore dei progetti e selezionalo.

    Dopo ogni passaggio su questa pagina, fai clic su Continua.

  3. In Seleziona un tipo di rilevamento, scegli Vulnerabilità di secret/credenziali.

  4. In Seleziona ambito, assicurati che l'opzione Analizza l'intero progetto sia selezionata. Se non è selezionata, assicurati che sia attiva la visualizzazione del progetto.

  5. Per Imposta la località per archiviare la configurazione, seleziona la regione in cui vuoi archiviare questa configurazione di scansione. Anche tutte le configurazioni di scansione create in un secondo momento verranno archiviate in questa località. Per informazioni sulle considerazioni relative alla residenza dei dati, consulta Residenza dei dati in questa pagina.

  6. Fai clic su Crea.

Sensitive Data Protection inizia ad analizzare le variabili di ambiente di Cloud Functions poco dopo che hai creato una configurazione di scansione o riprendi una configurazione in pausa. Per informazioni sul tempo necessario per visualizzare i risultati in Security Command Center, vedi Trovare la latenza di generazione in questa pagina.

Query per Secrets in environment variables risultato

Di seguito sono riportati esempi di query che puoi utilizzare per trovare i risultati di Secrets in environment variables in Security Command Center. Puoi inserire queste query nel campo Editor query. Per ulteriori informazioni sull'editor delle query, consulta Modificare una query dei risultati nella dashboard di Security Command Center.

Elenca tutti i risultati (Secrets in environment variables)

state="ACTIVE"
AND NOT mute="MUTED"
AND category="SECRETS_IN_ENVIRONMENT_VARIABLES"

Elenca tutti i risultati (Secrets in environment variables) per un determinato progetto

state="ACTIVE"
AND NOT mute="MUTED"
AND category="SECRETS_IN_ENVIRONMENT_VARIABLES"
AND resource.project_name="//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER"

Sostituisci quanto segue:

  • PROJECT_NUMBER: l'ID numerico del progetto su cui vuoi eseguire una query