Configurazione dell'archivio dei metadati del progetto

Vertex ML Metadata ti consente di monitorare e analizzare i metadati prodotti dai tuoi flussi di lavoro di machine learning (ML). La prima volta che esegui un PipelineJob o crei un esperimento nell'SDK Vertex, Vertex AI crea MetadataStore del tuo progetto.

Se vuoi che i metadati vengano criptati utilizzando una chiave di crittografia gestita dal cliente (CMEK), devi creare l'archivio dei metadati utilizzando una chiave CMEK prima di utilizzare Vertex ML Metadata per monitorare o analizzare i metadati.

Una volta creato il metastore, la chiave CMEK utilizzata dal metastore è indipendente dalla chiave CMEK utilizzata dai processi che registrano i metadati, ad esempio l'esecuzione di una pipeline.

Crea un archivio di metadati che utilizza un CMEK

Segui le istruzioni riportate di seguito per creare un CMEK e configurare un archivo di metadati Vertex ML Metadata che lo utilizzi.

  1. Utilizza Cloud Key Management Service per configurare una chiave di crittografia gestita dal cliente.

  2. Utilizza la seguente chiamata REST per creare l'archivio dei metadati predefinito del progetto utilizzando la chiave CMEK.

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • LOCATION_ID: la tua regione.
    • PROJECT_ID: il tuo ID progetto.
    • KEY_RING: il nome del portachiavi Cloud Key Management Service su cui si trova la chiave di crittografia.
    • KEY_NAME: il nome della chiave di crittografia che vuoi utilizzare per questo impostazione metadati.

    Metodo HTTP e URL:

    POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores?metadata_store_id=default

    Corpo JSON della richiesta:

    {
      "encryption_spec": {
        "kms_key_name": "projects/PROJECT_ID/locations/LOCATION_ID/keyRings/KEY_RING/cryptoKeys/KEY_NAME"
      },
    }
    

    Per inviare la richiesta, espandi una di queste opzioni:

    Salva il corpo della richiesta in un file denominato request.json. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory corrente:

    cat > request.json << 'EOF'
    {
      "encryption_spec": {
        "kms_key_name": "projects/PROJECT_ID/locations/LOCATION_ID/keyRings/KEY_RING/cryptoKeys/KEY_NAME"
      },
    }
    EOF

    Quindi, esegui il seguente comando per inviare la richiesta REST:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores?metadata_store_id=default"

    Salva il corpo della richiesta in un file denominato request.json. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory corrente:

    @'
    {
      "encryption_spec": {
        "kms_key_name": "projects/PROJECT_ID/locations/LOCATION_ID/keyRings/KEY_RING/cryptoKeys/KEY_NAME"
      },
    }
    '@  | Out-File -FilePath request.json -Encoding utf8

    Quindi, esegui il seguente comando per inviare la richiesta REST:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores?metadata_store_id=default" | Select-Object -Expand Content

    Dovresti ricevere una risposta JSON simile alla seguente:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION_ID/operations/OPERATIONS_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateMetadataStoreOperationMetadata",
        "genericMetadata": {
          "createTime": "2021-05-18T18:47:14.494997Z",
          "updateTime": "2021-05-18T18:47:14.494997Z"
        }
      }
    }