Controllo dell'accesso con IAM
In questa pagina vengono descritti i ruoli IAM per Certificate Authority Service.
CA Service utilizza i ruoli IAM (Identity and Access Management) per controllo dell'accesso. Con IAM puoi controllare l'accesso definendo chi (identità) ha un determinato accesso (ruolo) per quale risorsa. I ruoli IAM contengono un set di autorizzazioni che consentono agli utenti di eseguire azioni specifiche sulle risorse Google Cloud. Seguendo 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 informazioni su come assegnare i ruoli IAM a un account utente o di servizio, leggi Concessione, modifica e revoca dell'accesso alle risorse nella documentazione di IAM.
Ruoli predefiniti
La tabella seguente elenca i ruoli IAM predefiniti e le autorizzazioni associate a ciascuno di essi:
Ruolo | Autorizzazioni | Descrizione |
---|---|---|
Revisore servizio CAroles/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 CA Service Auditor ha accesso di 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 revoche, dei criteri 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 a cui non sono state assegnate responsabilità giornaliere per l'amministrazione del servizio. |
Richiedente del certificato di servizio CAroles/privateca.certificateRequester |
privateca.certificates.create
|
Un ruolo CA Service Certificate Requester può inviare richieste di certificati a un pool di CA. Ti consigliamo di concedere questo ruolo a utenti attendibili autorizzati a richiedere certificati. Un utente con questo ruolo può richiedere certificati arbitrari soggetti ai criteri di emissione. A differenza del ruolo Gestore certificati servizio di CA, questo ruolo non consente all'utente di ottenere o elencare il certificato appena emesso, né di ottenere informazioni sul pool di CA. |
Richiedente certificato carichi di lavoro servizio CAroles/privateca.workloadCertificateRequester |
privateca.certificates.createForSelf
|
Un richiedente del certificato del carico di lavoro del servizio CA può richiedere certificati al servizio CA con l'identità del chiamante. |
Gestore certificati servizio CAroles/privateca.certificateManager |
Tutte le autorizzazioni da roles/privateca.auditor , più:privateca.certificates.create
|
Un gestore certificati del servizio CA può inviare richieste di emissione dei certificati a un pool di CA, ad esempio il richiedente del certificato del servizio CA. Inoltre, questo ruolo eredita anche le autorizzazioni del ruolo CA Service Auditor. Ti consigliamo di assegnare questo ruolo a persone responsabili della creazione, del monitoraggio e della revisione delle richieste di certificati in un pool di CA, ad esempio un gestore o un lead engineer. |
Utente modello di certificato di servizio CAroles/privateca.templateUser |
privateca.certificateTemplates.get privateca.certificateTemplates.list privateca.certificateTemplates.use
|
Un utente modello di certificato di servizio CA può leggere, elencare e utilizzare modelli di certificato. |
CA Service Operations Managerroles/privateca.caManager |
Tutte le autorizzazioni da 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 CA Service Operation Manager può creare, aggiornare ed eliminare pool di CA e CA. Questo ruolo può anche revocare certificati e creare bucket Cloud Storage. Inoltre, include le stesse funzionalità di CA Service Auditor. In questo ruolo, gli utenti sono responsabili della configurazione e del deployment dei pool di CA nell'organizzazione, nonché della configurazione dei criteri 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 CA Service Admin. |
Amministratore servizio CAroles/privateca.admin |
Tutte le autorizzazioni da 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 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 di CA Service. 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 configurato il servizio. Con questo ruolo gli utenti possono svolgere tutti gli aspetti dell'amministrazione, tra cui l'assegnazione dei diritti ad altri e la gestione delle richieste di certificato in CA Service. Ti consigliamo di implementare un controllo e un accesso speciali a questo account del ruolo per impedirne l'accesso o l'utilizzo non autorizzati. |
Ruolo Agente di servizio CA
Se fornisci chiavi di firma Cloud KMS o bucket Cloud Storage esistenti durante la creazione della CA, è necessario concedere l'accesso alla rispettiva risorsa all'account di servizio dell'agente di servizio CA (service-PROJECT_NUMBER@gcp-sa-privateca.iam.gserviceaccount.com
).
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 con Cloud Monitoring.
Per Cloud Storage, roles/storage.objectAdmin
è necessario per scrivere il certificato CA e gli CRL in un bucket. roles/storage.legacyBucketReader
è
necessario per monitorare il bucket per l'integrazione con Cloud Monitoring. Per ulteriori informazioni, vedi Ruoli IAM per Cloud Storage.
Quando accedi al servizio tramite l'API, esegui questi comandi.
Creare 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 al tuo account di servizio i ruoli
roles/cloudkms.signerVerifier
eroles/viewer
utilizzando il seguente comandogcloud
.Se vengono fornite chiavi di firma di 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à di 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'
Se vengono forniti bucket Cloud Storage esistenti, utilizza lo strumento a riga di comando
gsutil
per associare i ruoli richiesti per il bucket Cloud Storage.gsutil
gsutil iam ch serviceAccount:service-PROJECT_NUMBER@gcp-sa-privateca.iam.gserviceaccount.com:roles/storage.objectAdmin gs://BUCKET_NAME
Dove:
- PROJECT_NUMBER è l'identificatore univoco del tuo account di servizio.
- BUCKET_NAME è il nome del tuo bucket Cloud Storage.
gsutil iam ch serviceAccount:service-PROJECT_NUMBER@gcp-sa-privateca.iam.gserviceaccount.com:roles/storage.legacyBucketReader gs://BUCKET_NAME
Autorizzazioni API
La tabella seguente elenca le autorizzazioni che il chiamante deve avere 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 di CA. |
privateca.caPools.setIamPolicy |
Imposta un criterio IAM per il pool di CA. |
privateca.certificateAuthorities.create |
Crea una CA. |
privateca.certificateAuthorities.delete |
Pianificare l'eliminazione di una CA. |
privateca.certificateAuthorities.get |
Richiedi una richiesta di firma di un certificato CA o CA. |
privateca.certificateAuthorities.list |
Elenca le CA in un progetto. |
privateca.certificateAuthorities.update |
Aggiornare una CA, incluse l'attivazione, l'attivazione, 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 |
Ottieni un certificato e i relativi metadati. |
privateca.certificates.list |
Elenca tutti i certificati in una CA. |
privateca.certificates.update |
Aggiornare i metadati di un certificato, inclusa la revoca. |
privateca.certificateRevocationLists.get |
Ricevere un elenco di revoche dei certificati (CRL, Certificate Revocation List) in una CA. |
privateca.certificateRevocationLists.getIamPolicy |
Recupera il criterio IAM per un CRL. |
privateca.certificateRevocationLists.list |
Elenca tutti i CRL in una CA. |
privateca.certificateRevocationLists.setIamPolicy |
Imposta il criterio IAM per un CRL. |
privateca.certificateRevocationLists.update |
Aggiorna un 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 |
Ottieni 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 |
Recupera 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.