Per impostazione predefinita, Google Cloud cripta automaticamente i dati quando sono rest utilizzando chiavi di crittografia. gestiti da Google. Se hai requisiti normativi o di conformità specifici alle chiavi che proteggono i tuoi dati, puoi utilizzare i cluster di crittografia CMEK per i tuoi job di addestramento.
Puoi scoprire di più sui vantaggi specifici dell'utilizzo di CMEK con AI Platform Training in consulta la sezione di questa guida. Per ulteriori informazioni su CMEK in generale, ad esempio quando e perché abilitarlo, consulta Cloud Key Management Service documentazione.
Questa guida descrive alcuni vantaggi dell'utilizzo di CMEK per AI Platform Training e AI Platform come configurare un job di addestramento per usare CMEK.
Informazioni su CMEK per AI Platform Training
Le sezioni seguenti descrivono le informazioni di base su CMEK per AI Platform Training che devi comprendere prima di configurare CMEK per i tuoi job di addestramento.
Vantaggi di CMEK
In generale, CMEK è utile se è necessario il controllo completo sulle chiavi utilizzate per crittografare i dati. Con CMEK, puoi gestire le tue chiavi all'interno di Cloud KMS. Ad esempio, puoi ruotare o disabilitare una chiave oppure impostare e configurare una pianificazione di rotazione utilizzando l'API Cloud KMS. Per ulteriori informazioni CMEK in generale, incluso quando e perché attivarla, consulta le Documentazione di Cloud KMS.
Quando esegui un job di addestramento, il codice viene eseguito su o più istanze di macchine virtuali (VM) gestite tramite AI Platform Training. Quando attivi CMEK per AI Platform Training, la chiave da te designata anziché una chiave gestita Google viene utilizzato per criptare i dati sui dischi di avvio di queste VM. La chiave CMEK cripta i seguenti tipi di dati:
- La copia del codice di addestramento sulle VM.
- Tutti i dati che vengono caricati dal codice di addestramento.
- Eventuali dati temporanei che vengono salvati sul disco locale dal codice di addestramento.
La chiave CMEK non cripta i metadati associati al job di addestramento, come il nome e la regione del job. I metadati associati ai job di addestramento sono sempre usando il meccanismo di crittografia predefinito di Google.
Utilizzo di CMEK con altri prodotti Google Cloud
La configurazione di CMEK per AI Platform Training non configura automaticamente CMEK per altri prodotti Google Cloud che usi insieme ad AI Platform Training. A usare CMEK per criptare i dati di altri prodotti Google Cloud, configurazione obbligatoria. Ad esempio:
Cloud Storage: quando esegui un job container non personalizzato, AI Platform Training carica l'applicazione di addestramento da un nel bucket Cloud Storage. Inoltre, la maggior parte dei job di addestramento artefatti del modello addestrato (ad esempio, una directory SaveModel di TensorFlow) a un Bucket Cloud Storage come parte dell'output.
Per assicurarti che i dati in Cloud Storage siano criptati con CMEK, leggi la guida di Cloud Storage all'utilizzo della crittografia gestita dal cliente chiave. Puoi impostare chiave di crittografia come chiave predefinita per i bucket Cloud Storage che utilizzi con AI Platform Training o per criptare oggetti specifici.
Container Registry: quando esegui un container personalizzato , AI Platform Training carica il container da Container Registry.
Per assicurarti che l'immagine container sia criptata con CMEK, leggi il Guida di Container Registry all'utilizzo della crittografia gestita dal cliente chiave.
Cloud Logging: quando esegui un job di addestramento, AI Platform Training salva i log in Logging. Questi log non sono criptati tramite CMEK. Tuttavia, se utilizzi il router dei log, puoi configurare CMEK per determinati file temporanei che il router dei log create.
Limitazioni
Non puoi utilizzare CMEK con AI Platform Training nelle seguenti situazioni:
- Non puoi utilizzare CMEK con job di addestramento che utilizzano TPU.
- Se hai iniziato a utilizzare l'API AI Platform Training and Prediction nel 2017 o prima e invii un corso di formazione un job con CMEK, potresti riscontrare un errore che descrive un'istanza legacy incompatibile meccanismo di autenticazione. In questo caso, crea un nuovo account Google Cloud progetto o seleziona per eseguire il job AI Platform Training.
Configurazione di CMEK per il job di addestramento
Le sezioni seguenti descrivono come creare un keyring e una chiave in Cloud Key Management Service. concedi le autorizzazioni di crittografia e decriptazione di AI Platform Training per la tua chiave e crea un job di addestramento che utilizza CMEK.
Prima di iniziare
Questa guida presuppone l'utilizzo di due progetti Google Cloud separati per configura CMEK per l'addestramento:
- Un progetto per la gestione della chiave di crittografia (denominato anche "Progetto Cloud KMS").
- Un progetto per accedere ad AI Platform Training e gestire i dati di addestramento Cloud Storage e l'interazione con qualsiasi altro Google Cloud i prodotti necessari per il tuo caso d'uso (indicato come "progetto AI Platform").
Questa configurazione consigliata supporta una separazione dei doveri.
In alternativa, puoi utilizzare un singolo progetto Google Cloud per l'intero guida. Per farlo, utilizza lo stesso progetto per tutte le seguenti attività che fanno riferimento al progetto Cloud KMS e alle attività che fanno riferimento progetto AI Platform.
Configurazione del progetto Cloud KMS
- Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Attiva l'API Cloud KMS.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Attiva l'API Cloud KMS.
Configurazione del progetto AI Platform
- Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Attiva l'API AI Platform Training & Prediction.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Attiva l'API AI Platform Training & Prediction.
Configurazione di Google Cloud CLI
gcloud CLI è obbligatorio per alcuni passaggi di questa guida e facoltativo per gli altri.Installa Google Cloud CLI, quindi initialize eseguendo questo comando:
gcloud init
Creazione di un keyring e di una chiave
Segui la guida di Cloud KMS per la creazione simmetrica chiavi per creare un keyring e una chiave. Quando crei il tuo keyring, specifica una regione che supporti AI Platform Training come del keyring posizione. AI Platform Training supporta CMEK solo quando il job e la chiave di addestramento usano la stessa regione. Non devi specificare un'area geografica doppia, in più regioni o in una località globale per il tuo keyring.
Assicurati di creare il keyring e la chiave nel progetto Cloud KMS.
Concessione delle autorizzazioni di AI Platform Training
Per utilizzare CMEK per il job di addestramento, devi concedere l'autorizzazione AI Platform Training per criptare e decriptare i dati con la tua chiave. AI Platform Training utilizza un servizio un agente per eseguire l'addestramento di lavoro. Questo agente di servizio viene identificato da un indirizzo email con le seguenti informazioni: formato:
service-AI_PLATFORM_PROJECT_NUMBER@cloud-ml.google.com.iam.gserviceaccount.com
Per trovare l'agente di servizio appropriato per il tuo progetto AI Platform, vai
alla pagina IAM nella console Google Cloud e trova il membro corrispondente
questo formato dell'indirizzo email, con il
numero per
del tuo progetto AI Platform, sostituendo
AI_PLATFORM_PROJECT_NUMBER. L'agente di servizio ha anche
nome Google Cloud ML Engine Service Agent
.
Prendi nota dell'indirizzo email di questo agente di servizio e utilizzalo nella seguenti passaggi per concedere l'autorizzazione a criptare e decriptare i dati utilizzando il tuo chiave. Puoi concedere l'autorizzazione utilizzando la console Google Cloud o il metodo Google Cloud CLI:
Console Google Cloud
Nella console Google Cloud, vai alla pagina Chiavi di crittografia e seleziona il tuo progetto Cloud KMS.
Fai clic sul nome del keyring creato in una sezione precedente di questa guida per passare al Keyring dei dettagli.
Seleziona la casella di controllo della chiave che hai creato in una sezione precedente di questa guida. Se viene visualizzato un riquadro informativo con l'etichetta se il nome della chiave non è già aperto, fai clic su Mostra riquadro informazioni.
Nel riquadro delle informazioni, fai clic su
Aggiungi membro per aprire la sezione Aggiungi membri. nella finestra di dialogo "KEY_NAME". In questa finestra di dialogo, procedi nel seguente modo:- Nella casella Nuovi membri, inserisci l'indirizzo email dell'account di servizio che
di cui hai fatto nota nella sezione precedente:
service-AI_PLATFORM_PROJECT_NUMBER@cloud-ml.google.com.iam.gserviceaccount.com
Nell'elenco a discesa Seleziona un ruolo, fai clic su Cloud KMS. e seleziona Autore crittografia/decrittografia CryptoKey Cloud KMS ruolo.
Fai clic su Salva.
- Nella casella Nuovi membri, inserisci l'indirizzo email dell'account di servizio che
di cui hai fatto nota nella sezione precedente:
gcloud
Esegui questo comando:
gcloud kms keys add-iam-policy-binding KEY_NAME \
--keyring=KEY_RING_NAME \
--location=REGION \
--project=KMS_PROJECT_ID \
--member=serviceAccount:service-AI_PLATFORM_PROJECT_NUMBER@cloud-ml.google.com.iam.gserviceaccount.com \
--role=roles/cloudkms.cryptoKeyEncrypterDecrypter
In questo comando, sostituisci i seguenti segnaposto:
- KEY_NAME: il nome della chiave che hai creato in una precedente di questa guida.
- KEY_RING_NAME: il keyring creato in una precedente di questa guida.
- REGION: la regione in cui hai creato il keyring.
- KMS_PROJECT_ID: l'ID del tuo progetto Cloud KMS.
- AI_PLATFORM_PROJECT_NUMBER: il numero del tuo progetto progetto AI Platform, che hai annotato nella sezione precedente come parte dell'indirizzo email di un account di servizio.
Creazione di un job di addestramento con CMEK
Ora che hai concesso ad AI Platform Training l'autorizzazione per criptare e decriptare i dati
chiave, puoi creare un job di addestramento che cripta i dati temporanei
questa chiave. Quando crei un job di addestramento, specifica il parametro encryptionConfig
nel tuo
campo trainingInput
del job.
L'esempio seguente mostra come eseguire questa operazione utilizzando gcloud CLI. Tu attualmente non è possibile creare un job di addestramento con CMEK nella console Google Cloud.
L'esempio presuppone che tu abbia una formazione
sul tuo file system locale
directory denominata trainer
con un modulo denominato task
.
Crea un file di configurazione
config.yaml
contenente quanto segue:trainingInput: encryptionConfig: kmsKeyName: projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
Nel file di configurazione, sostituisci i seguenti segnaposto:
- KMS_PROJECT_ID: l'ID del tuo progetto Cloud KMS.
- KEY_RING_NAME: il nome del keyring.
- KEY_NAME: il nome della chiave.
Per creare il job di addestramento, esegui questo comando:
gcloud ai-platform jobs submit training JOB_ID \ --config=config.yaml \ --job-dir=JOB_DIR \ --module-name=trainer.task \ --package-path=trainer \ --python-version=3.7 \ --region=REGION \ --runtime-version=2.11 \ --scale-tier=basic
In questo comando, sostituisci i seguenti segnaposto:
- JOB_ID: un nome scelto da te per il job.
JOB_DIR: un percorso di una directory Cloud Storage in cui l'applicazione di addestramento. Il tuo job di addestramento può usare anche durante l'addestramento; ad esempio per salvare l'output. Per praticità, scegli una directory in un bucket Cloud Storage progetto AI Platform.
REGION: la regione in cui hai creato il keyring e in cui prevedi di creare il job di addestramento.
In caso di esito positivo, il comando produce il seguente output:
Job [JOB_ID] submitted successfully. Your job is still active. You may view the status of your job with the command $ gcloud ai-platform jobs describe JOB_ID or continue streaming the logs with the command $ gcloud ai-platform jobs stream-logs JOB_ID jobId: JOB_ID state: QUEUED
Ora puoi monitorare il job di addestramento.
Oltre ai campi region
e encryptionConfig
, puoi personalizzare il tuo
del job di addestramento per soddisfare le tue esigenze. Tu
puoi anche utilizzare un container personalizzato
addestramento.
Passaggi successivi
- Scopri di più su CMEK su Google Cloud.
- Scopri come utilizzare CMEK con altri servizi Google Cloud prodotti.
- Per scoprire come configurare opzioni aggiuntive oltre a CMEK, leggi la guida alle l'esecuzione di un job di addestramento.