Controllo dell'accesso con IAM

In questa pagina vengono descritti i ruoli IAM di 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 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. Seguendo il principio del privilegio minimo e concedendo al contempo i 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, consulta Concessione, modifica e revoca dell'accesso alle risorse nella documentazione di IAM.

Ruoli predefiniti

La seguente tabella elenca i ruoli IAM predefiniti e le autorizzazioni associate a ciascuno di essi:

Ruolo Autorizzazioni Descrizione
Revisore servizio CA
roles/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 di sola lettura a tutte le risorse del servizio CA e può recuperare ed elencare le proprietà di pool di CA, CA, certificati, elenchi di revoche, criteri IAM e 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 assegnate responsabilità giornaliere di amministrare il servizio.
Richiedente certificato servizio CA
roles/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 autorizzate a richiedere certificati.

Un utente con questo ruolo può richiedere certificati arbitrari in conformità ai criteri di emissione.

A differenza del ruolo Gestore certificati servizio CA, questo ruolo non consente all'utente di ottenere o elencare il certificato appena emesso o di ottenere informazioni sul pool di CA.
Richiedente del certificato del carico di lavoro del servizio CA
roles/privateca.workloadCertificateRequester
privateca.certificates.createForSelf Un richiedente del certificato del carico di lavoro del servizio CA può richiedere certificati dal servizio CA con l'identità del chiamante.
Gestore certificati servizio CA
roles/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 dei certificati a un pool di CA come 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 certificato in un pool di CA, ad esempio un gestore o un lead engineer.
Utente modello certificato servizio CA
roles/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.
Gestore operazioni servizio CA
roles/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 CA Service Operations Manager può creare, aggiornare ed eliminare pool di CA e CA. Questo ruolo può anche revocare certificati e creare bucket Cloud Storage. Include inoltre le stesse competenze del revisore dei conti del servizio CA. In questo ruolo, le persone sono responsabili della configurazione e del deployment dei pool di CA nell'organizzazione, oltre che 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 Amministratore CA Service.
Amministratore servizio CA
roles/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 servizio CA eredita le autorizzazioni dai ruoli Gestore operazioni servizio CA e Gestore certificati servizio CA. Questo ruolo può eseguire tutte le azioni in CA Service. Un amministratore di servizio CA può impostare i criteri IAM per il pool di CA e creare bucket Cloud Storage. Ti consigliamo di assegnare questo ruolo raramente dopo aver stabilito il servizio. In questo ruolo, le persone possono eseguire tutti gli aspetti dell'amministrazione, tra cui l'assegnazione di diritti ad altri e la gestione delle richieste di certificati nel servizio CA. Ti consigliamo di implementare un controllo e un accesso speciali a questo account del ruolo per impedire l'accesso o l'utilizzo non autorizzati.

Ruolo Agente di servizio CA

Quando fornisci le chiavi di firma Cloud KMS o i bucket Cloud Storage esistenti durante la creazione della CA, all'account di servizio dell'agente di servizio del servizio CA (service-PROJECT_NUMBER@gcp-sa-privateca.iam.gserviceaccount.com) deve essere concesso 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 i CRL in un bucket. roles/storage.legacyBucketReader è necessario per monitorare il bucket per l'integrazione con Cloud Monitoring. Per ulteriori informazioni, consulta Ruoli IAM per Cloud Storage.

Quando accedi al servizio tramite l'API, esegui questi comandi.

  1. 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.
  2. Concedi al tuo account di servizio i ruoli roles/cloudkms.signerVerifier e roles/viewer utilizzando il seguente comando gcloud.

    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'
    

    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 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 di cui il chiamante 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.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 un certificato CA o CA.
privateca.certificateAuthorities.list Elenca le CA in un progetto.
privateca.certificateAuthorities.update Aggiornare una CA, incluse l'attivazione, l'abilitazione, la disabilitazione 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 Aggiornare i metadati di un certificato, inclusa la revoca.
privateca.certificateRevocationLists.get Recuperare un elenco di revoche dei certificati (CRL) in un'autorità di certificazione.
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 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 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.