Controllo dell'accesso con IAM
Questa pagina descrive i ruoli IAM per Certificate Authority Service.
CA Service utilizza i ruoli IAM (Identity and Access Management) per controllo dell'accesso. Con IAM, controlli l'accesso definendo chi (identità) ha quale accesso (ruolo) a quale risorsa. I ruoli IAM contengono un insieme di autorizzazioni che consentono agli utenti di eseguire azioni specifiche sulle risorse. Google CloudSe 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'infrastruttura a chiave pubblica (PKI) complessiva.
Per scoprire come assegnare ruoli IAM a un utente o a un account di servizio, leggi Concessione, modifica e revoca dell'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.getprivateca.caPools.getIamPolicyprivateca.caPools.listprivateca.certificateAuthorities.listprivateca.certificateAuthorities.getprivateca.certificateTemplates.getprivateca.certificateTemplates.getIamPolicyprivateca.certificateTemplates.listprivateca.certificates.listprivateca.certificates.getprivateca.locations.getprivateca.locations.listprivateca.operations.getprivateca.operations.listprivateca.certificateRevocationLists.listprivateca.certificateRevocationLists.getprivateca.certificateRevocationLists.getIamPolicyresourcemanager.projects.getresourcemanager.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 di CA e che non hanno responsabilità quotidiane assegnate per amministrare il servizio. |
CA Service Certificate Requesterroles/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 di fiducia autorizzate a richiedere certificati. Un utente con questo ruolo può richiedere certificati arbitrari in base alle norme di emissione. A differenza del ruolo Gestione certificati del servizio CA, questo ruolo non consente all'utente di ottenere o elencare il certificato appena emesso né 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 gestore dei certificati del servizio CA 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 del servizio CA. Ti consigliamo di assegnare questo ruolo alle persone responsabili della creazione, del monitoraggio e della revisione delle richieste di certificati in un pool di CA, ad esempio un manager o un ingegnere responsabile. |
CA Service Certificate Template Userroles/privateca.templateUser |
privateca.certificateTemplates.getprivateca.certificateTemplates.listprivateca.certificateTemplates.use
|
Un utente con il ruolo CA Service Certificate Template User 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.updateprivateca.caPools.createprivateca.caPools.deleteprivateca.caPools.updateprivateca.certificateAuthorities.createprivateca.certificateAuthorities.deleteprivateca.certificateAuthorities.updateprivateca.certificateRevocationLists.updateprivateca.certificateTemplates.createprivateca.certificateTemplates.deleteprivateca.certificateTemplates.updateprivateca.certificates.updateprivateca.operations.cancelprivateca.operations.deleteresourcemanager.projects.getresourcemanager.projects.liststorage.buckets.create
|
Un Operation Manager del 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 anche le stesse funzionalità dell'auditor del servizio CA. In questo ruolo, le persone sono responsabili della configurazione e del deployment dei pool di CA nell'organizzazione, nonché della configurazione della policy di emissione del pool di CA. Questo ruolo non consente la creazione di certificati. Per farlo, utilizza i ruoli CA Service Certificate Requester, CA Service Certificate Manager o Amministratore servizio CA. |
CA Service Pool Readerroles/privateca.poolReader |
privateca.caPools.get |
Un utente con il ruolo CA Service Pool Reader può leggere i pool di CA nel servizio CA. |
CA Service Adminroles/privateca.admin |
Tutte le autorizzazioni di roles/privateca.certificateManager,
e roles/privateca.caManager, più:privateca.*.setIamPolicyprivateca.caPools.useprivateca.operations.cancelprivateca.operations.deleteresourcemanager.projects.getresourcemanager.projects.liststorage.buckets.create
|
Il ruolo Amministratore di servizio CA eredita le autorizzazioni dai ruoli Responsabile delle operazioni del 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 le policy IAM per il pool di CA e creare bucket Cloud Storage. Ti consigliamo di assegnare questo ruolo raramente una volta stabilito il servizio. In questo ruolo, gli utenti possono svolgere tutti gli aspetti dell'amministrazione, inclusa l'assegnazione dei diritti ad altri e la gestione delle richieste di certificati in CA Service. Ti consigliamo di implementare un controllo speciale e l'accesso a questo account ruolo per impedire l'accesso o l'utilizzo non autorizzati. |
Ruolo service agent del servizio CA
Quando fornisci chiavi Cloud KMS o bucket Cloud Storage esistenti, all'account di servizio dell'agente di servizio CA Service (service-PROJECT_NUMBER@gcp-sa-privateca.iam.gserviceaccount.com) deve essere concesso l'accesso alla risorsa corrispondente.
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 le chiavi di crittografia gestite dal cliente (CMEK) utilizzate per criptare i dati at-rest,
è necessario il ruolo roles/cloudkms.cryptoKeyEncrypterDecrypter. Ciò consente
all'agente di servizio di criptare e decriptare i dati at-rest.
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 è
necessario per monitorare il bucket per l'integrazione di Cloud Monitoring. Per maggiori
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 Service Agent.
gcloud
gcloud beta services identity create --service=privateca.googleapis.com --project=PROJECT_IDDove:
- PROJECT_ID è l'identificatore univoco del progetto in cui viene creato il pool di CA.
Concedi al account di servizio i ruoli richiesti utilizzando il seguente comando
gcloud.Se vengono fornite chiavi Cloud KMS esistenti:
gcloud
Per le chiavi di firma Cloud KMS:
gcloud kms keys add-iam-policy-binding 'KEY_NAME' \ --keyring='KEYRING_NAME' \ --location='LOCATION' \ --member='serviceAccount:service-PROJECT_NUMBER@gcp-sa-privateca.iam.gserviceaccount.com' \ --role='roles/cloudkms.signerVerifier'gcloud kms keys add-iam-policy-binding 'KEY_NAME' \ --keyring='KEYRING_NAME' \ --location='LOCATION' \ --member='serviceAccount:service-PROJECT_NUMBER@gcp-sa-privateca.iam.gserviceaccount.com' \ --role='roles/viewer'Per le chiavi di crittografia Cloud KMS:
gcloud kms keys add-iam-policy-binding 'KEY_NAME' \ --keyring='KEYRING_NAME' \ --location='LOCATION' \ --member='serviceAccount:service-PROJECT_NUMBER@gcp-sa-privateca.iam.gserviceaccount.com' \ --role='roles/cloudkms.cryptoKeyEncrypterDecrypter'Dove:
- "KEY_NAME" è il nome della chiave.
- "KEYRING_NAME" è il nome del tuo keyring.
- "LOCATION" è la posizione di Cloud KMS in cui hai creato le chiavi automatizzate.
- "PROJECT_NUMBER" è il numero di progetto del progetto Google Cloud che contiene la chiave.
Concedi al tuo account di servizio i ruoli
roles/storage.objectAdmineroles/storage.legacyBucketReaderutilizzando 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.objectAdminDove:
- BUCKET_NAME è il nome del tuo 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 di cui il chiamante deve disporre per chiamare ciascun metodo dell'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 di 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 |
Ottieni una richiesta di firma di una CA o di un certificato CA. |
privateca.certificateAuthorities.list |
Elenca le CA in un progetto. |
privateca.certificateAuthorities.update |
Aggiorna una CA, incluse l'attivazione, l'abilitazione, la disattivazione e il ripristino. |
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 una CA. |
privateca.certificateRevocationLists.getIamPolicy |
Recupera il criterio IAM per un elenco CRL. |
privateca.certificateRevocationLists.list |
Elenca tutte le CRL in una CA. |
privateca.certificateRevocationLists.setIamPolicy |
Imposta il criterio IAM per un elenco CRL. |
privateca.certificateRevocationLists.update |
Aggiorna un elenco 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 |
Annulla 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.
- Scopri di più sulle chiavi di crittografia gestite dal cliente (CMEK).