Questa pagina mostra come creare, disattivare ed eliminare le chiavi HMAC (Hash-based MessageAuthentication Code) associate agli account di servizio nel tuo progetto.
Prima di iniziare
Prima di utilizzare questa funzionalità in Cloud Storage, devi soddisfare i seguenti requisiti:
Devi disporre di autorizzazioni sufficienti per lavorare con le chiavi HMAC nel progetto selezionato:
Se sei il proprietario del progetto, molto probabilmente disponi delle autorizzazioni necessarie.
Devi avere le autorizzazioni IAM precedute dal prefisso
storage.hmacKeys
per il progetto. Per istruzioni su come ottenere un ruolo, ad esempio Amministratore chiavi HMAC Storage, consulta Utilizzo delle autorizzazioni IAM.
Avere un account di servizio nel progetto per il quale intendi creare chiavi HMAC. Vedi Creazione di un account di servizio se non ne hai ancora uno.
Hanno il vincolo
restrictAuthTypes
disabilitato per l'autenticazione delle chiavi HMAC. Vedi Creazione e gestione dei criteri dell'organizzazione per istruzioni su come verificare e disabilitare il vincolo.
Creazione di una chiave HMAC
Per creare una chiave HMAC per un account di servizio:
Console
- Nella console Google Cloud, vai alla pagina Impostazioni di Cloud Storage.
Seleziona la scheda Interoperabilità.
Fai clic su add_box Crea una chiave per un account di servizio.
Seleziona l'account di servizio a cui vuoi associare la chiave HMAC.
Fai clic su Crea chiave.
Per scoprire come ottenere informazioni dettagliate sugli errori relativi alle operazioni di Cloud Storage non riuscite nella console Google Cloud, consulta Risoluzione dei problemi.
Riga di comando
Utilizza il comando hmac create
:
gcloud storage hmac create SERVICE_ACCOUNT_EMAIL
Dove SERVICE_ACCOUNT_EMAIL
è l'indirizzo email
associato al tuo account di servizio. Ad esempio,
service-7550275089395@my-pet-project.iam.gserviceaccount.com
.
In caso di esito positivo, la risposta contiene una risorsa chiave HMAC, inclusi i valori per accessId
e secret
.
Librerie client
C++
Per maggiori informazioni, consulta la documentazione di riferimento dell'API C++ di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Per maggiori informazioni, consulta la documentazione di riferimento dell'API C# di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Go di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per maggiori informazioni, consulta la documentazione di riferimento dell'API PHP di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Python di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Ruby di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Terraform
Puoi utilizzare una risorsa Terraform per creare una chiave HMAC. Questo esempio include anche una risorsa per creare un account di servizio.
API REST
API JSON
Assicurati che gcloud CLI sia installato e inizializzatoper generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando OAuth 2.0 Playground e includerlo nell'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API JSON con una richiestaPOST
hmacKeys:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/projects/PROJECT_IDENTIFIER/hmacKeys?serviceAccountEmail=SERVICE_ACCOUNT_EMAIL"
Dove:
PROJECT_IDENTIFIER
è l'ID o il numero del progetto associato alla chiave che vuoi creare. Ad esempio,my-pet-project
.SERVICE_ACCOUNT_EMAIL
è l'indirizzo email associato al tuo account di servizio. Ad esempio,service-7550275089395@my-pet-project.iam.gserviceaccount.com
.
API XML
Assicurati che gcloud CLI sia installato e inizializzatoper generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando OAuth 2.0 Playground e includerlo nell'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API XML con una richiesta di chiave HMACPOST
:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/?Action=CreateAccessKey&UserName=SERVICE_ACCOUNT_EMAIL"
Dove
SERVICE_ACCOUNT_EMAIL
è l'indirizzo email associato al tuo account di servizio. Ad esempio,service-7550275089395@my-pet-project.iam.gserviceaccount.com
.
Recupero informazioni chiave HMAC
Per elencare le chiavi HMAC di un progetto e ottenere informazioni sulle chiavi:
Console
- Nella console Google Cloud, vai alla pagina Impostazioni di Cloud Storage.
Seleziona la scheda Interoperabilità.
Gli account di servizio a cui sono associate chiavi HMAC vengono visualizzati nella sottosezione Chiavi di accesso per gli account di servizio della sezione HMAC account di servizio.
Fai clic sul nome di un account di servizio specifico per visualizzare le chiavi HMAC associate e lo stato di queste chiavi.
Riga di comando
Utilizza il comando
hmac list
per elencare le chiavi hmac nel tuo progetto:gcloud storage hmac list
Se l'esito è positivo, il comando restituisce un elenco di ID di accesso per le chiavi hmac, insieme allo stato di ogni chiave e all'account di servizio associato a ogni chiave.
Utilizza il comando
hmac describe
per recuperare i metadati per una chiave specifica:gcloud storage hmac describe KEY_ACCESS_ID
Dove
KEY_ACCESS_ID
è l'ID di accesso per la chiave desiderata.
Librerie client
C++
Per maggiori informazioni, consulta la documentazione di riferimento dell'API C++ di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
L'esempio seguente recupera un elenco di chiavi HMAC associate a un progetto:
L'esempio seguente recupera le informazioni per una chiave HMAC specifica:
C#
Per maggiori informazioni, consulta la documentazione di riferimento dell'API C# di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
L'esempio seguente recupera un elenco di chiavi HMAC associate a un progetto:
L'esempio seguente recupera le informazioni per una chiave HMAC specifica:
Go
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Go di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
L'esempio seguente recupera un elenco di chiavi HMAC associate a un progetto:
L'esempio seguente recupera le informazioni per una chiave HMAC specifica:
Java
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
L'esempio seguente recupera un elenco di chiavi HMAC associate a un progetto:
L'esempio seguente recupera le informazioni per una chiave HMAC specifica:
Node.js
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
L'esempio seguente recupera un elenco di chiavi HMAC associate a un progetto:
L'esempio seguente recupera le informazioni per una chiave HMAC specifica:
PHP
Per maggiori informazioni, consulta la documentazione di riferimento dell'API PHP di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
L'esempio seguente recupera un elenco di chiavi HMAC associate a un progetto:
L'esempio seguente recupera le informazioni per una chiave HMAC specifica:
Python
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Python di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
L'esempio seguente recupera un elenco di chiavi HMAC associate a un progetto:
L'esempio seguente recupera le informazioni per una chiave HMAC specifica:
Ruby
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Ruby di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
L'esempio seguente recupera un elenco di chiavi HMAC associate a un progetto:
L'esempio seguente recupera le informazioni per una chiave HMAC specifica:
API REST
API JSON
Assicurati che gcloud CLI sia installato e inizializzatoper generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando OAuth 2.0 Playground e includerlo nell'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API JSON con una richiestaLIST
hmacKeys:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/projects/PROJECT_IDENTIFIER/hmacKeys"
Dove
PROJECT_IDENTIFIER
è l'ID o il numero per il progetto associato alle chiavi che vuoi elencare. Ad esempio,my-pet-project
.
API XML
Assicurati che gcloud CLI sia installato e inizializzatoper generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando OAuth 2.0 Playground e includerlo nell'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API XML con una richiesta di chiave HMACGET
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/?Action=ListAccessKeys&UserName=SERVICE_ACCOUNT_EMAIL"
Dove
SERVICE_ACCOUNT_EMAIL
è l'indirizzo email associato al tuo account di servizio. Ad esempio,service-7550275089395@my-pet-project.iam.gserviceaccount.com
.
Aggiornamento dello stato di una chiave HMAC
Per attivare o disattivare una chiave HMAC:
Console
- Nella console Google Cloud, vai alla pagina Impostazioni di Cloud Storage.
Seleziona la scheda Interoperabilità.
Nella sottosezione Chiavi di accesso per gli account di servizio, fai clic sul nome dell'account di servizio associato alla chiave HMAC di cui vuoi aggiornare lo stato.
Fai clic sullo stato della chiave che vuoi aggiornare.
Se modifichi lo stato della chiave da Inattivo ad Attivo, fai clic su Disattiva nella finestra visualizzata.
Se modifichi lo stato della chiave da Attivo a Inattivo, non sono necessari ulteriori passaggi.
Riga di comando
Utilizza il comando hmac update
:
gcloud storage hmac update ACCESS_KEY_ID STATE
Dove:
ACCESS_KEY_ID
è l'ID di accesso associato alla chiave che stai aggiornando.STATE
è--activate
o--deactivate
.
Se l'esito è positivo, il comando restituisce i metadati aggiornati della chiave HMAC.
Librerie client
C++
Per maggiori informazioni, consulta la documentazione di riferimento dell'API C++ di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
L'esempio seguente disattiva una chiave HMAC:
L'esempio seguente attiva una chiave HMAC:
C#
Per maggiori informazioni, consulta la documentazione di riferimento dell'API C# di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
L'esempio seguente disattiva una chiave HMAC:
L'esempio seguente attiva una chiave HMAC:
Go
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Go di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
L'esempio seguente disattiva una chiave HMAC:
L'esempio seguente attiva una chiave HMAC:
Java
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
L'esempio seguente disattiva una chiave HMAC:
L'esempio seguente attiva una chiave HMAC:
Node.js
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
L'esempio seguente disattiva una chiave HMAC:
L'esempio seguente attiva una chiave HMAC:
PHP
Per maggiori informazioni, consulta la documentazione di riferimento dell'API PHP di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
L'esempio seguente disattiva una chiave HMAC:
L'esempio seguente attiva una chiave HMAC:
Python
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Python di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
L'esempio seguente disattiva una chiave HMAC:
L'esempio seguente attiva una chiave HMAC:
Ruby
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Ruby di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
L'esempio seguente disattiva una chiave HMAC:
L'esempio seguente attiva una chiave HMAC:
API REST
API JSON
Assicurati che gcloud CLI sia installato e inizializzatoper generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando OAuth 2.0 Playground e includerlo nell'intestazione
Authorization
.Crea un file JSON contenente le seguenti informazioni:
{"state": "STATE"}
Dove
STATE
è lo state desiderato per la chiave. Ad esempio:INACTIVE
.Utilizza
cURL
per chiamare l'API JSON con una richiestaPUT
hmacKeys:curl -X PUT --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/projects/PROJECT_IDENTIFIER/hmacKeys/ACCESS_KEY_ID"
Dove:
JSON_FILE_NAME
è il percorso del file creato nel passaggio 2.PROJECT_IDENTIFIER
è l'ID o il numero del progetto associato alla chiave che vuoi aggiornare. Ad esempio,my-pet-project
.ACCESS_KEY_ID
è l'ID di accesso associato alla chiave che stai aggiornando.
API XML
Assicurati che gcloud CLI sia installato e inizializzatoper generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando OAuth 2.0 Playground e includerlo nell'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API XML con una richiesta di chiave HMACPOST
:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/?Action=UpdateAccessKey&AccessKeyId=ACCESS_KEY_ID&Status=STATUS"
Dove:
ACCESS_KEY_ID
è l'ID di accesso associato alla chiave che stai aggiornando.STATUS
è lo stato desiderato per la chiave. Ad esempio:Inactive
.
Quando modifichi lo stato di una chiave HMAC, sono necessari fino a 3 minuti prima che la modifica si propaghi nel sistema Cloud Storage. Per questo motivo, devi attendere almeno tre minuti tra il rendere inattiva una chiave HMAC e l'eliminazione della chiave.
Eliminare una chiave HMAC
Una chiave HMAC deve essere in stato non attivo per poter essere eliminata. Per eliminare una chiave HMAC non attiva:
Console
- Nella console Google Cloud, vai alla pagina Impostazioni di Cloud Storage.
Seleziona la scheda Interoperabilità.
Nella sottosezione Chiavi di accesso per gli account di servizio, fai clic sul nome dell'account di servizio associato alla chiave HMAC che vuoi eliminare.
Fai clic sull'icona del cestino associata alla chiave che desideri eliminare.
Nella finestra di dialogo visualizzata, inserisci i primi 10 caratteri dell'ID della chiave di accesso visualizzati nella finestra.
Fai clic su Elimina.
Riga di comando
Utilizza il comando hmac delete
:
gcloud storage hmac delete ACCESS_KEY_ID
Dove ACCESS_KEY_ID
è l'ID di accesso associato alla chiave che stai eliminando.
Se l'esito è positivo, il comando non restituisce alcuna risposta.
Librerie client
C++
Per maggiori informazioni, consulta la documentazione di riferimento dell'API C++ di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Per maggiori informazioni, consulta la documentazione di riferimento dell'API C# di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Go di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per maggiori informazioni, consulta la documentazione di riferimento dell'API PHP di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Python di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Ruby di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
API REST
API JSON
Assicurati che gcloud CLI sia installato e inizializzatoper generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando OAuth 2.0 Playground e includerlo nell'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API JSON con una richiestaDELETE
hmacKeys:curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/projects/PROJECT_IDENTIFIER/hmacKeys/ACCESS_KEY_ID"
Dove:
PROJECT_IDENTIFIER
è l'ID o il numero del progetto associato alla chiave che vuoi eliminare. Ad esempio,my-pet-project
.ACCESS_KEY_ID
è l'ID di accesso associato alla chiave che stai eliminando.
API XML
Assicurati che gcloud CLI sia installato e inizializzatoper generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando OAuth 2.0 Playground e includerlo nell'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API XML con una richiesta di chiave HMACPOST
:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/?Action=DeleteAccessKey&AccessKeyId=ACCESS_KEY_ID"
Dove
ACCESS_KEY_ID
è l'ID di accesso associato alla chiave che stai eliminando.
Passaggi successivi
- Segui le linee guida per la migrazione dalle chiavi HMAC degli account utente alle chiavi HMAC degli account di servizio.
- Utilizzare una chiave HMAC in una richiesta autenticata.