crea secret regionali

Questa pagina descrive come creare secret regionali e abilitare la gestione del cliente chiavi di crittografia (CMEK) per secret regionali. Un secret regionale fa riferimento a un secret (dati sensibili come password o chiavi API) che viene archiviato e gestiti all'interno di una località specifica.

Prima di iniziare

  1. Abilita l'API Secret Manager, una volta per progetto.
  2. Assegna il ruolo Amministratore Secret Manager (roles/secretmanager.admin) nel progetto, nella cartella o nell'organizzazione.
  3. Esegui l'autenticazione nell'API Secret Manager in uno dei seguenti modi:

    • Se utilizzi le librerie client per accedere all'API Secret Manager, imposta in Credenziali predefinite dell'applicazione.
    • Se utilizzi Google Cloud CLI per accedere all'API Secret Manager, utilizza le tue credenziali Google Cloud CLI per l'autenticazione.
    • Per autenticare una chiamata REST, utilizza le credenziali di Google Cloud CLI o Credenziali predefinite dell'applicazione.

Configura Secret Manager in modo da utilizzare un endpoint a livello di regione

Questa sezione descrive come configurare endpoint a livello di regione per accedere a Secret Manager Google Cloud. Gli endpoint a livello di regione sono endpoint di richiesta che consentono solo alle richieste procedi se la risorsa interessata esiste nella località specificata dall'endpoint. L'utilizzo di endpoint regionali ti consente di eseguire i carichi di lavoro in modo conforme con requisiti di località e sovranità dei dati.

Gli endpoint a livello di regione utilizzano il formato seguente:

SERVICE_NAME.LOCATION.rep.googleapis.com

Per utilizzare endpoint a livello di regione, devi aggiornare la configurazione con dell'endpoint, a seconda di come accedi al servizio Secret Manager.

gcloud

Per configurare Google Cloud CLI in modo che utilizzi endpoint a livello di regione, completa seguenti passaggi:

  1. Assicurati di utilizzare Google Cloud CLI 402.0.0 o una versione successiva.

  2. Imposta la proprietà api_endpoint_overrides/secretmanager sull'endpoint regionale che vuoi utilizzare:

    gcloud config set api_endpoint_overrides/secretmanager https://secretmanager.LOCATION.rep.googleapis.com/

    Sostituisci LOCATION con il nome della località Google Cloud supportata ad esempio me-central2.

REST

Per connetterti al servizio Secret Manager utilizzando l'API, sostituisci la URL generico dell'endpoint API (https://secretmanager.googleapis.com/v1/) con uno specifico endpoint regionale che vuoi utilizzare. Gli endpoint a livello di regione utilizzano seguente formato:

https://secretmanager.LOCATION.rep.googleapis.com/v1/

Sostituisci LOCATION con il nome della località Google Cloud supportata ad esempio me-central2.

Per verificare quali località sono supportate, consulta Località di Secret Manager.

Crea un secret regionale

Puoi creare secret regionali tramite la console Google Cloud. In alternativa, puoi utilizzare l'API Secret Manager o Google Cloud CLI.

console

  1. Vai alla pagina Secret Manager nella console Google Cloud.

    Vai a Secret Manager

  2. Fai clic sulla scheda Secret regionali, quindi su Crea secret regionale.

  3. Nella pagina Crea secret regionale, inserisci un nome per il secret nel Nome. Un nome secret può contenere lettere maiuscole e minuscole, numeri, trattini e trattini bassi. La lunghezza massima consentita per un nome è 255 caratteri.

  4. Inserisci un valore del secret. Il valore del secret può essere in qualsiasi formato ma non deve essere superiore di 64 KiB. Puoi anche caricare un file di testo contenente il valore del secret utilizzando l'opzione Carica file. Questa azione crea automaticamente la versione del secret.

  5. Seleziona una località dalla Regione dall'elenco di lettura.

  6. Fai clic su Crea secret.

gcloud

Per creare un secret regionale, utilizza Comando gcloud beta secrets create.

Prima di utilizzare uno qualsiasi dei dati di comando riportati di seguito, effettua le seguenti sostituzioni:

  • SECRET_ID: l'ID del secret o dell'identificatore completo del secret
  • LOCATION: la località Google Cloud in cui archiviare i dati secret

Esegui la persone che seguo :

Linux, macOS o Cloud Shell

gcloud secrets create SECRET_ID \
    --location=LOCATION

Windows (PowerShell)

gcloud secrets create SECRET_ID `
    --location=LOCATION

Windows (cmd.exe)

gcloud secrets create SECRET_ID ^
    --location=LOCATION

La risposta contiene il secret regionale appena creato.

REST

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

  • LOCATION: la località Google Cloud in cui archiviare i dati secret
  • PROJECT_ID: l'ID del progetto Google Cloud
  • SECRET_ID: l'ID del secret o dell'identificatore completo del secret

Metodo HTTP e URL:

POST https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets?secretId=SECRET_ID

Corpo JSON della richiesta:

{}

Per inviare la richiesta, scegli una delle seguenti opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json. ed esegui questo comando:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets?secretId=SECRET_ID"

PowerShell

Salva il corpo della richiesta in un file denominato request.json. ed esegui questo comando:

$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://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets?secretId=SECRET_ID" | Select-Object -Expand Content

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "name": "/projects/my-project/locations/me-central2/secrets/my-drz-secret",
  "createTime": "2024-03-25T08:24:13.153705Z",
  "etag": "\"161477e6071da9\""
}

Crea un secret regionale con la crittografia CMEK

CMEK aggiunge un ulteriore livello di sicurezza e il controllo sui tuoi dati sensibili archiviati come secret regionali. Puoi usare CMEK per raggiungere i seguenti obiettivi:

  • Hai il controllo completo sulle chiavi di crittografia utilizzate per proteggere i tuoi secret.
  • Utilizza il tuo sistema di gestione delle chiavi con una sicurezza potenzialmente più restrittiva criteri, funzionalità di controllo e funzionalità di conformità.
  • Rispetta le normative di sovranità dei dati mantenendo le chiavi all'interno del tuo la tua infrastruttura.
  • Definisci controlli di accesso granulari per le chiavi di crittografia, specificando chi può utilizzarle e per quali scopi.

Per abilitare CMEK e creare le chiavi e i keyring CMEK necessari per questo passaggio, vedi Abilita le chiavi di crittografia gestite dal cliente per Secret Manager.

console

  1. Vai alla pagina Secret Manager nella console Google Cloud.

    Vai a Secret Manager

  2. Fai clic sulla scheda Secret regionali, quindi su Crea secret regionale.

  3. Inserisci un nome e un valore per il secret.

  4. Seleziona una località dalla Regione dall'elenco di lettura.

  5. In Crittografia, seleziona Chiave di crittografia gestita dal cliente (CMEK) e poi Scegli la tua chiave CMEK dall'elenco Chiave di crittografia. Assicurati che la chiave CMEK nella località specificata e che il tuo progetto Secret Manager disponga delle autorizzazioni necessarie per utilizzarlo.

  6. Fai clic su Crea secret.

gcloud

Per creare un secret regionale, utilizza Comando gcloud beta secrets create.

Prima di utilizzare uno qualsiasi dei dati di comando riportati di seguito, effettua le seguenti sostituzioni:

  • SECRET_ID: l'ID del secret o dell'identificatore completo del secret
  • LOCATION: la località Google Cloud in cui archiviare i dati secret
  • CMEK KEY: il percorso completo per la chiave CMEK specifica in Cloud Key Management Service che proteggerà il secret

Esegui la persone che seguo :

Linux, macOS o Cloud Shell

gcloud secrets create SECRET_ID --location=LOCATION \
    --regional-kms-key-name=CMEK KEY

Windows (PowerShell)

gcloud secrets create SECRET_ID --location=LOCATION `
    --regional-kms-key-name=CMEK KEY

Windows (cmd.exe)

gcloud secrets create SECRET_ID --location=LOCATION ^
    --regional-kms-key-name=CMEK KEY

La risposta contiene il secret regionale appena creato.

REST

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

  • LOCATION: la località Google Cloud in cui archiviare i dati secret
  • PROJECT_ID: l'ID del progetto Google Cloud
  • SECRET_ID: l'ID del secret o dell'identificatore completo del secret
  • KMS_PROJECT_ID: l'ID del progetto Google Cloud che contiene il keyring
  • KEY_RING: il nome del keyring in Cloud Key Management Service che contiene la chiave
  • YOUR_CMEK_KEY: la chiave di crittografia gestita dal cliente (CMEK) specifica che hai creato all'interno del keyring scelto in Cloud Key Management Service

Metodo HTTP e URL:

POST https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets?secretId=SECRET_ID

Corpo JSON della richiesta:

{"customer_managed_encryption": {"kms_key_name":"projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/MY_CMEK_KEY"}}

Per inviare la richiesta, scegli una delle seguenti opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json. ed esegui questo comando:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets?secretId=SECRET_ID"

PowerShell

Salva il corpo della richiesta in un file denominato request.json. ed esegui questo comando:

$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://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets?secretId=SECRET_ID" | Select-Object -Expand Content

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "name": "projects/1034382619294/locations/me-central2/secrets/my-drz-secret",
  "createTime": "2024-03-27T13:30:07.437859Z",
  "etag": "\"1614a467b60423\"",
  "customerManagedEncryption": {
    "kmsKeyName": "projects/my-project/locations/me-central2/keyRings/test_keyring_to_check_rep/cryptoKeys/cmek-key-2"
  }
}

Utilizza la sintassi corretta per le risorse di regione

Quando accedi ai secret regionali e alle relative versioni utilizzando l'API Secret Manager o gcloud CLI, assicurati di utilizzare la sintassi delle risorse corretta durante le chiamate API. Usa il seguente esempio come esempio:

  • Sintassi per un secret regionale

    projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_NAME

  • Sintassi per la versione di un secret regionale

    projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_NAME/versions/VERSION_ID

Fornisci i seguenti valori:

  • LOCATION: la località di Google Cloud in cui si trova il secret
  • PROJECT_ID: l'ID progetto Google Cloud che contiene il secret
  • SECRET_NAME: il nome del tuo secret
  • VERSION_ID: numero di versione o alias relativo alla versione specifica del secret

Gestisci secret regionali

Puoi interagire con i secret regionali e le relative versioni ed eseguire tutte le operazioni di gestione operazioni (come l'impostazione della scadenza, la rotazione, l'aggiunta di etichette, annotazioni) in come l'impostazione global predefinita i tuoi segreti. Fai riferimento al seguente elenco per alcune attività utilizzate di frequente:

Passaggi successivi