Modello di sicurezza

IBM Analytics Engine le istanze serverless forniscono un'architettura di sicurezza progettata per consentire agli amministratori e agli sviluppatori di creare cluster di Spark sicuri.

Le seguenti sezioni descrivono come il modello di sicurezza di IBM Analytics Engine istanze serverlesss gestisce l'accesso e il controllo delle istanze sicure.

Controllo dell'accesso alle attività IBM Analytics Engine

L'accesso a IBM Analytics Engine le istanze serverless sono controllate da autenticazione e autorizzazione IAM. IAM è il servizio Identity and Access Management di IBM Cloud®. L'autenticazione degli utenti e il controllo degli accessi avviene tramite IAM quando si accede con l'IBMId. Vedere come richiamare il token IAM.

In qualità di amministratore o creatore dell'istanza di servizio, è possibile concedere o negare l'accesso ad altri utenti con i quali si potrebbe voler condividere l'istanza di servizio. Tutte le attività sulla gestione del ciclo di vita dell'istanza di servizio, come la modifica della configurazione dell'istanza, la presentazione e il tracciamento delle applicazioni Spark o la personalizzazione dell'istanza con le librerie personalizzate sono controllate tramite autenticazione e autorizzazione IAM. Consultare Concessione dei permessi agli utenti per capire quali operazioni sono supportate e qual è il livello di accesso richiesto per ciascuna di quelle operazioni.

Crittografia a Rest

IBM Cloud Object Storage è l'archivio dati consigliato per archiviare i dati necessari per l'esecuzione dei lavori Spark nel cluster. IBM Cloud Object Storage viene fornito con la codifica integrata predefinita. Consultare Encrypting your data.

Inoltre, o come alternativa all'utilizzo della crittografia di archiviazione IBM Cloud Object Storage in scenari analitici per dati su larga scala, puoi utilizzare la crittografia modulare Parquet, specialmente quando il controllo dell'accesso dettagliato è importante. Consultare Utilizzo della codifica modulare Parquet.

Codifica endpoint

Tutti gli endpoint del servizio al cluster sono crittografati SSL (TLS 1.2 abilitato). Inoltre, quando utilizzi IBM Analytics Engine con IBM Cloud Object Storage, il link tra l'istanza del servizio Object Storage e IBM Analytics Engine è crittografato.

Isolamento e accesso alla rete

Ogni IBM Analytics Engine l'istanza serverless è proprietaria di sandbox isolati disconnessi da altre istanze da un punto di posizione di rete e di sicurezza.

I carichi di lavoro di Spark distribuiti in un'istanza possono:

  • Comunicare con altri carichi di lavoro Spark distribuiti nella stessa istanza.
  • Comunicare con internet pubblico
  • Può connettersi con altri IBM Cloud® servizi su punti finali privati

I carichi di lavoro di Spark in un'istanza IBM Analytics Engine non possono comunicare con i carichi di lavoro Spark in un'altra istanza. Vedere Architettura dell'istanza per più sull'isolamento dell'istanza.

Garantire la sicurezza del codice

Si consiglia di essere prudenti quando si applicano le librerie o la personalizzazione del pacchetto alla propria istanza. È necessario utilizzare il codice sicuro solo da fonti attendibili, in modo da non compromettere la sicurezza generale delle istanze.

IBM consiglia di eseguire la scansione di qualsiasi codice sorgente, librerie e pacchetti che utilizzi prima di caricarli sulla tua istanza. Mentre l'uso del codice non attendibile non impatterà altri, potrebbe impattare.

Crittografia dei dati di rete interni per il carico di lavoro Spark

IBM Analytics Engine consente la crittografia della comunicazione interna tra i componenti dell'applicazione Spark. Per abilitare la crittografia nella rete privata, specificare la configurazione in uno dei seguenti due modi:

  • Al momento del provisioning di un'istanza IBM Analytics Engine, specificare la configurazione nell'attributo default_config.

    Esempio:

    
    "default_config": {
        "spark.ssl.enabled":"true"
    }
    
  • Al momento dell'invio di un lavoro, specifica le opzioni nel payload in conf.

    Esempio:

    
    {
     "conf": {
    "spark.ssl.enabled":"true"
     }
    }