Control de acceso con la gestión de identidades y accesos
En esta página se describen los roles de gestión de identidades y accesos del Servicio de Autoridades de Certificación.
Servicio de Autoridades de Certificación usa roles de gestión de identidades y accesos (IAM) para el control de acceso. Con IAM, puedes controlar el acceso definiendo qué usuario (identidad) tiene qué acceso (rol) a qué recurso. Los roles de gestión de identidades y accesos contienen un conjunto de permisos que permiten a los usuarios realizar acciones específicas en los Google Cloud recursos. Si sigues el principio de los mínimos privilegios al asignar roles de gestión de identidades y accesos, puedes proteger la integridad de los recursos de Servicio de Autoridades de Certificación y gestionar la seguridad del grupo de autoridades de certificación y de la infraestructura de clave pública (PKI) en general.
Para saber cómo asignar roles de gestión de identidades y accesos a un usuario o una cuenta de servicio, consulta el artículo Conceder, cambiar y revocar acceso a recursos de la documentación de gestión de identidades y accesos.
Funciones predefinidas
En la siguiente tabla se indican los roles de gestión de identidades y accesos predefinidos y los permisos asociados a cada uno de ellos:
| Rol | Permisos | Descripción |
|---|---|---|
Auditor del Servicio de Autoridades de Certificaciónroles/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
|
El rol Auditor del servicio de AC tiene acceso de solo lectura a todos los recursos del servicio de AC y puede obtener y enumerar las propiedades del grupo de ACs, la AC, los certificados, las listas de revocación, las políticas de gestión de identidades y accesos y los proyectos. Te recomendamos que asignes este rol a personas responsables de validar la seguridad y las operaciones del grupo de CAs, pero que no tengan responsabilidades diarias asignadas para administrar el servicio. |
Solicitante del certificado del Servicio de Autoridades de Certificaciónroles/privateca.certificateRequester |
privateca.certificates.create
|
Un rol Solicitante del certificado del Servicio de Autoridades de Certificación puede enviar solicitudes de certificados a un grupo de autoridades de certificación. Te recomendamos que asignes este rol a personas de confianza que tengan permiso para solicitar certificados. Un usuario con este rol puede solicitar certificados arbitrarios sujetos a la política de emisión. A diferencia del rol Administrador de certificados del servicio de CA, este rol no permite al usuario obtener ni enumerar el certificado recién emitido, ni obtener información sobre el grupo de CAs. |
Solicitante de certificados de carga de trabajo del servicio de CAroles/privateca.workloadCertificateRequester |
privateca.certificates.createForSelf
|
Un solicitante de certificados de carga de trabajo del Servicio de Autoridades de Certificación puede solicitar certificados del Servicio de Autoridades de Certificación con la identidad de la persona que llama. |
Administrador de certificados del Servicio de Autoridades de Certificaciónroles/privateca.certificateManager |
Todos los permisos de roles/privateca.auditor, más:privateca.certificates.create
|
Un administrador de certificados del Servicio de Autoridades de Certificación puede enviar solicitudes de emisión de certificados a un grupo de autoridades de certificación, como el solicitante de certificados del Servicio de Autoridades de Certificación. Además, este rol también hereda los permisos del rol Auditor de servicio de AC. Te recomendamos que asignes este rol a las personas responsables de crear, monitorizar y revisar las solicitudes de certificados de un grupo de CAs, como un gestor o un ingeniero jefe. |
Usuario de plantilla de certificado del servicio de CAroles/privateca.templateUser |
privateca.certificateTemplates.getprivateca.certificateTemplates.listprivateca.certificateTemplates.use
|
Un usuario de plantilla de certificado de servicio de AC puede leer, enumerar y usar plantillas de certificado. |
Gestor operativo del Servicio de Autoridades de Certificaciónroles/privateca.caManager |
Todos los permisos de roles/privateca.auditor, más: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 gestor de operaciones del Servicio de Autoridades de Certificación puede crear, actualizar y eliminar grupos de autoridades de certificación y autoridades de certificación. Este rol también puede revocar certificados y crear segmentos de Cloud Storage. También incluye las mismas funciones que el auditor del servicio de AC. En este rol, los usuarios son responsables de configurar e implementar grupos de AC en la organización, así como de configurar la política de emisión del grupo de AC. Este rol no permite crear certificados. Para ello, usa los roles Solicitante del certificado del Servicio de Autoridades de Certificación, Administrador de certificados del Servicio de Autoridades de Certificación o Administrador del Servicio de Autoridades de Certificación. |
Lector del pool del servicio de CAroles/privateca.poolReader |
privateca.caPools.get |
Un usuario con el rol Lector de grupos de AC del Servicio de AC puede leer grupos de AC en el Servicio de AC. |
Administrador del Servicio de Autoridades de Certificaciónroles/privateca.admin |
Todos los permisos de roles/privateca.certificateManager
y roles/privateca.caManager, además de los siguientes:privateca.*.setIamPolicyprivateca.caPools.useprivateca.operations.cancelprivateca.operations.deleteresourcemanager.projects.getresourcemanager.projects.liststorage.buckets.create
|
El rol Administrador del Servicio de Autoridades de Certificación hereda permisos de los roles Gestor de Operaciones del Servicio de Autoridades de Certificación y Gestor de Certificados del Servicio de Autoridades de Certificación. Este rol puede realizar todas las acciones en el Servicio de Autoridades de Certificación. Un administrador del Servicio de Autoridades de Certificación puede definir políticas de gestión de identidades y accesos para el grupo de autoridades de certificación y crear segmentos de Cloud Storage. Te recomendamos que asignes este rol en contadas ocasiones una vez que se haya establecido el servicio. Con este rol, los usuarios pueden llevar a cabo todas las tareas de administración, como asignar derechos a otros usuarios y gestionar solicitudes de certificados en el servicio de AC. Te recomendamos que implementes un control especial y acceso a esta cuenta de rol para evitar accesos o usos no autorizados. |
Rol de agente de servicio de CA
Cuando proporciones claves de Cloud KMS o segmentos de Cloud Storage, debes conceder acceso a la cuenta de servicio del agente de servicio de la AC (service-PROJECT_NUMBER@gcp-sa-privateca.iam.gserviceaccount.com) al recurso correspondiente.
En Cloud KMS, se necesita roles/cloudkms.signerVerifier para usar la clave de firma y leer la clave pública. Se necesita roles/viewer para monitorizar la clave de integración de Cloud Monitoring.
Para las claves de cifrado gestionadas por el cliente (CMEK) que se usan para cifrar datos en reposo, se requiere el rol roles/cloudkms.cryptoKeyEncrypterDecrypter. Esto permite al agente de servicio cifrar y descifrar datos en reposo.
En Cloud Storage, se necesita roles/storage.objectAdmin para escribir el certificado de la AC y las CRLs en un segmento. roles/storage.legacyBucketReader es necesario para monitorizar el bucket de integración de Cloud Monitoring. Para obtener más información, consulta Roles de gestión de identidades y accesos para Cloud Storage.
Cuando accedas al servicio a través de la API, ejecuta los siguientes comandos.
Crea una cuenta de servicio con el rol Agente de servicio.
gcloud
gcloud beta services identity create --service=privateca.googleapis.com --project=PROJECT_IDDonde:
- PROJECT_ID es el identificador único del proyecto en el que se crea el grupo de CAs.
Asigna los roles necesarios a tu cuenta de servicio con el siguiente comando
gcloud.Si se proporcionan claves de Cloud KMS:
gcloud
Para las claves de firma de 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'En el caso de las claves de cifrado de 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'Donde:
- "KEY_NAME" es el nombre de tu llave.
- "KEYRING_NAME" es el nombre de tu conjunto de claves.
- "LOCATION" es la ubicación de Cloud KMS en la que has creado el conjunto de claves.
- "PROJECT_NUMBER" es el número de proyecto del Google Cloud proyecto que contiene la clave.
Asigna a tu cuenta de servicio los roles
roles/storage.objectAdminyroles/storage.legacyBucketReadermediante el siguiente comandogcloud.Si se proporcionan segmentos de Cloud Storage ya creados:
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.objectAdminDonde:
- BUCKET_NAME es el nombre de tu segmento de Cloud Storage.
- PROJECT_NUMBER es el identificador único de tu cuenta de servicio.
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
Permisos de APIs
En la siguiente tabla se indican los permisos que debe tener el llamante para invocar cada método de la API del servicio de CA:
| Permiso | Descripción |
|---|---|
privateca.caPools.create |
Crea un grupo de autoridades de certificación. |
privateca.caPools.update |
Actualiza un grupo de AC. |
privateca.caPools.list |
Muestra los grupos de AC de un proyecto. |
privateca.caPools.get |
Recuperar un grupo de autoridades de certificación. |
privateca.caPools.delete |
Elimina un grupo de autoridades de certificación. |
privateca.caPools.use |
Usar un grupo de ACs. |
privateca.caPools.getIamPolicy |
Recupera la política de gestión de identidades y accesos del grupo de CAs. |
privateca.caPools.setIamPolicy |
Define una política de gestión de identidades y accesos para el grupo de CAs. |
privateca.certificateAuthorities.create |
Crea una AC. |
privateca.certificateAuthorities.delete |
Programar la eliminación de una AC. |
privateca.certificateAuthorities.get |
Obtén una AC o una solicitud de firma de certificado de AC. |
privateca.certificateAuthorities.list |
Mostrar las autoridades certificadoras de un proyecto. |
privateca.certificateAuthorities.update |
Actualizar una AC, lo que incluye activarla, habilitarla, inhabilitarla y restaurarla. |
privateca.certificates.create |
Solicita certificados del Servicio de Autoridades de Certificación. |
privateca.certificates.createForSelf |
Solicita certificados del Servicio de Autoridades de Certificación con la identidad de la persona que llama. |
privateca.certificates.get |
Obtener un certificado y sus metadatos. |
privateca.certificates.list |
Lista todos los certificados de una AC. |
privateca.certificates.update |
Actualizar los metadatos de un certificado, incluida la revocación. |
privateca.certificateRevocationLists.get |
Obtener una lista de revocación de certificados (CRL) de una CA. |
privateca.certificateRevocationLists.getIamPolicy |
Obtiene la política de gestión de identidades y accesos de una CRL. |
privateca.certificateRevocationLists.list |
Lista todas las CRLs de una AC. |
privateca.certificateRevocationLists.setIamPolicy |
Define la política de gestión de identidades y accesos de una CRL. |
privateca.certificateRevocationLists.update |
Actualiza una CRL. |
privateca.certificateTemplates.create |
Crea una plantilla de certificado. |
privateca.certificateTemplates.get |
Recupera una plantilla de certificado. |
privateca.certificateTemplates.list |
Muestra todas las plantillas de certificado. |
privateca.certificateTemplates.update |
Actualiza una plantilla de certificado. |
privateca.certificateTemplates.delete |
Elimina una plantilla de certificado. |
privateca.certificateTemplates.getIamPolicy |
Obtiene la política de gestión de identidades y accesos de una plantilla de certificado. |
privateca.certificateTemplates.setIamPolicy |
Defina la política de gestión de identidades y accesos de una plantilla de certificado. |
privateca.certificateTemplates.use |
Usa una plantilla de certificado. |
privateca.operations.cancel |
Cancela una operación de larga duración. |
privateca.operations.delete |
Elimina una operación de larga duración. |
privateca.operations.get |
Obtiene una operación de larga duración. |
privateca.operations.list |
Muestra las operaciones de larga duración de un proyecto. |
Siguientes pasos
- Consulta cómo IAM centraliza la gestión de permisos y ámbitos de acceso para los recursos de Google Cloud .
- Consulta cómo configurar políticas de gestión de identidades y accesos.
- Consulta más información sobre las claves de cifrado gestionadas por el cliente (CMEK).