Segnalare i secret nelle variabili di ambiente a Security Command Center

Questa pagina descrive come utilizzare il servizio di rilevamento della protezione dei dati sensibili per determinare se sono presenti secret nelle variabili di ambiente di Cloud Run. Sensitive Data Protection segnala eventuali risultati a Security Command Center come vulnerabilità.

Informazioni su Security Command Center

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

Perché eseguire la scansione dei secret nelle variabili di ambiente

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

Come funziona

Per eseguire il rilevamento dei segreti, crea una configurazione di scansione del rilevamento a livello di organizzazione o progetto. Nell'ambito selezionato, Sensitive Data Protection esegue periodicamente la scansione di Cloud Run alla ricerca di secret nelle variabili di ambiente di build 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 dei dati. I risultati sono disponibili solo tramite Security Command Center.

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

In Security Command Center, puoi visualizzare i risultati di Secrets in environment variables quando:

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

Il seguente codice JSON mostra un esempio di Secrets in environment variables risultato. 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"
  }
}
    

Trovare la latenza di generazione

A seconda delle dimensioni della tua organizzazione, i risultati di Sensitive Data Protection possono iniziare a essere visualizzati in Security Command Center pochi minuti dopo l'attivazione del rilevamento di dati sensibili. Per le organizzazioni più grandi o con configurazioni specifiche che influiscono sulla generazione dei risultati, possono trascorrere fino a 12 ore prima che i risultati iniziali vengano visualizzati in Security Command Center.

Successivamente, Sensitive Data Protection genera risultati in Security Command Center pochi minuti dopo che il servizio di rilevamento ha eseguito la scansione delle risorse.

Tipi di secret segnalati

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

Risorse supportate

Per il rilevamento dei secret, Sensitive Data Protection supporta le funzioni Cloud Run (incluse le funzioni Cloud Functions di 1ª generazione.) e le revisioni del servizio Cloud Run.

Prezzi

Questa funzionalità non prevede costi per Sensitive Data Protection. Potrebbero essere applicati costi di Security Command Center, a seconda del tuo livello di servizio. Sensitive Data Protection funziona con Security Command Center in tutti i livelli di servizio.

Residenza dei dati

La prima volta che crei una configurazione della scansione, specifichi dove vuoi che Sensitive Data Protection la memorizzi. Tutte le configurazioni di scansione successive che crei vengono archiviate nella stessa regione. Sensitive Data Protection esporta i metadati di Cloud Run nella regione in cui è archiviata la configurazione di scansione, ma la revisione della funzione o del servizio 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 richiesti

Per eseguire l'individuazione dei secret, devi disporre dei ruoli Identity and Access Management necessari per profilare i dati:

Inoltre, devi disporre dei ruoli appropriati per lavorare con i risultati di Security Command Center. Per ulteriori 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 i profili di dati a Security Command Center, devi aver attivato Security Command Center a livello di organizzazione in qualsiasi livello di servizio. Per maggiori informazioni, consulta Attivare Security Command Center per un'organizzazione.

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

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

Configura il rilevamento dei secret a livello di organizzazione

Esegui questi passaggi se vuoi attivare il rilevamento dei segreti in un'intera organizzazione. Per il rilevamento a livello di progetto, vedi Configurare il rilevamento dei secret a livello di progetto.

Se non disponi del ruolo Amministratore organizzazione (roles/resourcemanager.organizationAdmin) o Amministratore sicurezza (roles/iam.securityAdmin), puoi comunque creare una configurazione di scansione. Tuttavia, dopo aver creato la configurazione della scansione, una persona con uno di questi ruoli deve concedere l'accesso alla scoperta al tuo agente di servizio.

  1. Vai alla pagina Crea configurazione scansione.

    Vai a Crea configurazione di scansione

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

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

  3. In Seleziona un tipo di rilevamento, seleziona Vulnerabilità di segreti/credenziali.

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

  5. Per 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 DLP Service Agent Container. L'agente di servizio all'interno di questo progetto verrà utilizzato per l'autenticazione a Sensitive Data Protection e ad altre API. Il sistema ti chiede di selezionare l'account a cui addebitare tutte le operazioni fatturabili correlate a questo progetto, incluse quelle non correlate alla scoperta.

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

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

  6. In Imposta la posizione in cui archiviare la configurazione, seleziona la regione in cui vuoi archiviare questa configurazione della scansione. Tutte le configurazioni di scansione che creerai in seguito verranno archiviate anche in questa posizione. Per informazioni sulle considerazioni relative alla residenza dei dati, consulta la sezione Residenza dei dati in questa pagina.

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

    Questa opzione è utile nei seguenti casi:

  8. Fai clic su Crea.

Sensitive Data Protection inizia a eseguire la scansione delle variabili di ambiente di Cloud Run poco dopo la creazione di una configurazione di scansione o la ripresa di una configurazione in pausa. Per informazioni sul tempo necessario per la visualizzazione dei risultati in Security Command Center, consulta Latenza di generazione dei risultati in questa pagina.

Se non hai il ruolo di amministratore dell'organizzazione (roles/resourcemanager.organizationAdmin) o Amministratore sicurezza (roles/iam.securityAdmin), qualcuno con uno di questi ruoli deve concedere l'accesso alla scoperta al tuo service agent prima che 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 scansione.

    Vai a Crea configurazione di scansione

  2. Vai al tuo progetto. Nella barra degli strumenti, fai clic sul selettore dei progetti e seleziona il tuo progetto.

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

  3. In Seleziona un tipo di rilevamento, seleziona Vulnerabilità di segreti/credenziali.

  4. Per Seleziona ambito, assicurati che sia selezionata l'opzione Scansiona l'intero progetto. Se non è selezionato, assicurati di trovarti nella visualizzazione del progetto.

  5. In Imposta la posizione in cui archiviare la configurazione, seleziona la regione in cui vuoi archiviare questa configurazione della scansione. Tutte le configurazioni di scansione che creerai in seguito verranno archiviate anche in questa posizione. Per informazioni sulle considerazioni relative alla residenza dei dati, consulta la sezione Residenza dei dati in questa pagina.

  6. Fai clic su Crea.

Sensitive Data Protection inizia a eseguire la scansione delle variabili di ambiente di Cloud Run poco dopo la creazione di una configurazione di scansione o la ripresa di una configurazione in pausa. Per informazioni sul tempo necessario per la visualizzazione dei risultati in Security Command Center, consulta Latenza di generazione dei risultati in questa pagina.

Query per i risultati di Secrets in environment variables

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

Elenca tutti i risultati di Secrets in environment variables

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

Elenco di tutti i risultati di 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 per il quale vuoi eseguire la query