Controllo dell'accesso con IAM
Questa pagina descrive i ruoli IAM per Certificate Authority Service.
Il servizio CA utilizza i ruoli IAM (Identity and Access Management) per controllo dell'accesso. Con IAM, controlli l'accesso definendo chi (identità) ha quale accesso (ruolo) per quale risorsa. I ruoli IAM contengono un insieme di autorizzazioni che consentono agli utenti di eseguire azioni specifiche sulle risorse Google Cloud. Se segui il principio del privilegio minimo durante la concessione dei ruoli IAM, puoi proteggere l'integrità delle risorse di Certificate Authority Service e gestire la sicurezza del pool di CA e dell'intera infrastruttura a chiave pubblica (PKI).
Per scoprire come assegnare i ruoli IAM a un utente o a un account di servizio, consulta Concedere, modificare e revocare l'accesso alle risorse nella documentazione IAM.
Ruoli predefiniti
La tabella seguente elenca i ruoli IAM predefiniti e le autorizzazioni associate a ciascuno di essi:
Ruolo | Autorizzazioni | Descrizione |
---|---|---|
CA Service Auditorroles/privateca.auditor |
privateca.caPools.get privateca.caPools.getIamPolicy privateca.caPools.list privateca.certificateAuthorities.list privateca.certificateAuthorities.get privateca.certificateTemplates.get privateca.certificateTemplates.getIamPolicy privateca.certificateTemplates.list privateca.certificates.list privateca.certificates.get privateca.locations.get privateca.locations.list privateca.operations.get privateca.operations.list privateca.certificateRevocationLists.list privateca.certificateRevocationLists.get privateca.certificateRevocationLists.getIamPolicy resourcemanager.projects.get resourcemanager.projects.list
|
Il ruolo Auditor del servizio CA ha accesso in sola lettura a tutte le risorse del servizio CA e può recuperare ed elencare le proprietà del pool di CA, della CA, dei certificati, degli elenchi di revoca, delle policy IAM e dei progetti. Ti consigliamo di assegnare questo ruolo a persone responsabili della convalida della sicurezza e delle operazioni del pool CA e che non hanno responsabilità quotidiane assegnate per amministrare il servizio. |
Richiedente certificato servizio CAroles/privateca.certificateRequester |
privateca.certificates.create
|
Un ruolo CA Service Certificate Requester può inviare richieste di certificato a un pool di CA. Ti consigliamo di concedere questo ruolo a persone attendibili che sono autorizzate a richiedere certificati. Un utente con questo ruolo può richiedere certificati arbitrari in base alle norme di rilascio. A differenza del ruolo Gestore dei certificati del servizio CA, questo ruolo non consente all'utente di ottenere o elencare il certificato appena emesso o di ottenere informazioni sul pool di CA. |
CA Service Workload Certificate Requesterroles/privateca.workloadCertificateRequester |
privateca.certificates.createForSelf
|
Un CA Service Workload Certificate Requester può richiedere certificati al servizio CA con l'identità del chiamante. |
CA Service Certificate Managerroles/privateca.certificateManager |
Tutte le autorizzazioni di roles/privateca.auditor , più:privateca.certificates.create
|
Un CA Service Certificate Manager può inviare richieste di emissione di certificati a un pool di CA come CA Service Certificate Requester. Inoltre, questo ruolo eredita anche le autorizzazioni del ruolo Auditor dei servizi CA. Ti consigliamo di assegnare questo ruolo a persone responsabili della creazione, del monitoraggio e della revisione delle richieste di certificato in un pool di CA, ad esempio un gestore o un ingegnere capo. |
CA Service Certificate Template Userroles/privateca.templateUser |
privateca.certificateTemplates.get privateca.certificateTemplates.list privateca.certificateTemplates.use
|
Un utente del modello di certificato del servizio CA può leggere, elencare e utilizzare i modelli di certificato. |
Responsabile operativo servizio CAroles/privateca.caManager |
Tutte le autorizzazioni di roles/privateca.auditor , più:privateca.certificates.update privateca.caPools.create privateca.caPools.delete privateca.caPools.update privateca.certificateAuthorities.create privateca.certificateAuthorities.delete privateca.certificateAuthorities.update privateca.certificateRevocationLists.update privateca.certificateTemplates.create privateca.certificateTemplates.delete privateca.certificateTemplates.update privateca.certificates.update privateca.operations.cancel privateca.operations.delete resourcemanager.projects.get resourcemanager.projects.list storage.buckets.create
|
Un gestore delle operazioni di servizio CA può creare, aggiornare ed eliminare pool di CA e CA. Questo ruolo può anche revocare i certificati e creare bucket Cloud Storage. Include inoltre le stesse funzionalità di CA Service Auditor. In questo ruolo, le persone sono responsabili della configurazione e del deployment dei pool di CA nell'organizzazione, nonché della configurazione del criterio di emissione del pool di CA. Questo ruolo non consente la creazione di certificati. A tale scopo, utilizza i ruoli CA Service Certificate Requester, CA Service Certificate Manager o CA Service Admin. |
CA Service Adminroles/privateca.admin |
Tutte le autorizzazioni di roles/privateca.certificateManager e roles/privateca.caManager , più:privateca.*.setIamPolicy privateca.caPools.use privateca.operations.cancel privateca.operations.delete privateca.resourcemanager.projects.get privateca.resourcemanager.projects.list storage.buckets.create
|
Il ruolo Amministratore di servizio CA eredita le autorizzazioni dai ruoli Gestore operazioni servizio CA e Gestore certificati servizio CA. Questo ruolo può eseguire tutte le azioni all'interno del servizio CA. Un amministratore del servizio CA può impostare i criteri IAM per il pool di CA e creare bucket Cloud Storage. Ti consigliamo di assegnare raramente questo ruolo una volta stabilito il servizio. In questo ruolo, gli utenti possono eseguire tutti gli aspetti dell'amministrazione, inclusa l'assegnazione dei diritti ad altri utenti e la gestione delle richieste di certificato nel servizio CA. Ti consigliamo di implementare un controllo e un accesso speciali a questo account ruolo per impedire l'accesso o l'utilizzo non autorizzato. |
Ruolo Agente di servizio CA
Quando fornisci chiavi di firma Cloud KMS esistenti o
bucket Cloud Storage durante la creazione della CA, all'account di servizio Agente di servizio CA
(service-PROJECT_NUMBER@gcp-sa-privateca.iam.gserviceaccount.com
) deve essere
accordato l'accesso alla rispettiva risorsa.
Per Cloud KMS, roles/cloudkms.signerVerifier
è necessario per utilizzare la chiave di firma e leggere la chiave pubblica. roles/viewer
è necessario per monitorare
la chiave per l'integrazione di Cloud Monitoring.
Per Cloud Storage, roles/storage.objectAdmin
è necessario per scrivere il
certificato CA e gli elenchi di revoche dei certificati (CRL) in un bucket. roles/storage.legacyBucketReader
è obbligatoria per monitorare il bucket per l'integrazione di Cloud Monitoring. Per ulteriori informazioni, consulta Ruoli IAM per Cloud Storage.
Quando accedi al servizio tramite l'API, esegui i seguenti comandi.
Crea un account di servizio con il ruolo Agente di servizio.
gcloud
gcloud beta services identity create --service=privateca.googleapis.com --project=PROJECT_ID
Dove:
- PROJECT_ID è l'identificatore univoco del progetto in cui viene creato il pool di CA.
Concedi all'account di servizio i ruoli
roles/cloudkms.signerVerifier
eroles/viewer
utilizzando il seguente comandogcloud
.Se vengono fornite chiavi di firma Cloud KMS esistenti:
gcloud
gcloud kms keys add-iam-policy-binding 'CRYPTOKEY_NAME' \ --keyring='KEYRING_NAME' \ --location='LOCATION' \ --member='serviceAccount:service-PROJECT_NUMBER@gcp-sa-privateca.iam.gserviceaccount.com' \ --role='roles/cloudkms.signerVerifier'
Dove:
- "CRYPTOKEY_NAME" è il nome della chiave.
- "KEYRING_NAME" è il nome del tuo keyring.
- "LOCATION" è la località Cloud KMS in cui hai creato il keyring.
- "PROJECT_NUMBER" è il nome del tuo account di servizio.
gcloud kms keys add-iam-policy-binding 'CRYPTOKEY_NAME' \ --keyring='KEYRING_NAME' \ --location='LOCATION' \ --member='serviceAccount:service-PROJECT_NUMBER@gcp-sa-privateca.iam.gserviceaccount.com' \ --role='roles/viewer'
Concedi all'account di servizio i ruoli
roles/storage.objectAdmin
eroles/storage.legacyBucketReader
utilizzando il seguente comandogcloud
.Se vengono forniti bucket Cloud Storage esistenti:
gcloud
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-privateca.iam.gserviceaccount.com \ --role=roles/storage.objectAdmin
Dove:
- BUCKET_NAME è il nome del bucket Cloud Storage.
- PROJECT_NUMBER è l'identificatore univoco del tuo account di servizio.
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-privateca.iam.gserviceaccount.com \ --role=roles/storage.legacyBucketReader
Autorizzazioni API
La tabella seguente elenca le autorizzazioni che l'utente che chiama deve disporre per chiamare ciascun metodo nell'API CA Service:
Autorizzazione | Descrizione |
---|---|
privateca.caPools.create |
Crea un pool di autorità di certificazione (CA). |
privateca.caPools.update |
Aggiorna un pool di CA. |
privateca.caPools.list |
Elenca i pool di CA in un progetto. |
privateca.caPools.get |
Recupera un pool di CA. |
privateca.caPools.delete |
Elimina un pool di CA. |
privateca.caPools.use |
Utilizza un pool di CA. |
privateca.caPools.getIamPolicy |
Recupera il criterio IAM del pool CA. |
privateca.caPools.setIamPolicy |
Imposta un criterio IAM per il pool di CA. |
privateca.certificateAuthorities.create |
Crea una CA. |
privateca.certificateAuthorities.delete |
Pianifica l'eliminazione di una CA. |
privateca.certificateAuthorities.get |
Ricevi una richiesta di firma del certificato CA o CA. |
privateca.certificateAuthorities.list |
Elenca le CA in un progetto. |
privateca.certificateAuthorities.update |
Aggiornare una CA, inclusa l'attivazione, l'abilitazione, la disattivazione e il ripristino della CA. |
privateca.certificates.create |
Richiesta di certificati al servizio CA. |
privateca.certificates.createForSelf |
Richiesta di certificati al servizio CA con identità del chiamante. |
privateca.certificates.get |
Recupera un certificato e i relativi metadati. |
privateca.certificates.list |
Elenca tutti i certificati in una CA. |
privateca.certificates.update |
Aggiorna i metadati di un certificato, inclusa la revoca. |
privateca.certificateRevocationLists.get |
Ottieni un elenco revoche certificati (CRL) in un'autorità di certificazione. |
privateca.certificateRevocationLists.getIamPolicy |
Recupera il criterio IAM per una CRL. |
privateca.certificateRevocationLists.list |
Elenca tutte le CRL in una CA. |
privateca.certificateRevocationLists.setIamPolicy |
Imposta il criterio IAM per una CRL. |
privateca.certificateRevocationLists.update |
Aggiorna una CRL. |
privateca.certificateTemplates.create |
Crea un modello di certificato. |
privateca.certificateTemplates.get |
Recupera un modello di certificato. |
privateca.certificateTemplates.list |
Elenca tutti i modelli di certificato. |
privateca.certificateTemplates.update |
Aggiorna un modello di certificato. |
privateca.certificateTemplates.delete |
Elimina un modello di certificato. |
privateca.certificateTemplates.getIamPolicy |
Recupera il criterio IAM per un modello di certificato. |
privateca.certificateTemplates.setIamPolicy |
Imposta il criterio IAM per un modello di certificato. |
privateca.certificateTemplates.use |
Utilizza un modello di certificato. |
privateca.operations.cancel |
Annullare un'operazione a lunga esecuzione. |
privateca.operations.delete |
Elimina un'operazione a lunga esecuzione. |
privateca.operations.get |
Ottieni un'operazione a lunga esecuzione. |
privateca.operations.list |
Elenca le operazioni a lunga esecuzione in un progetto. |
Passaggi successivi
- Scopri come IAM centralizza la gestione delle autorizzazioni e degli ambiti di accesso per le risorse Google Cloud.
- Scopri come configurare i criteri IAM.