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 controlar el acceso. Con IAM, puedes controlar el acceso definiendo qué usuario (identidad) tiene qué acceso (rol) a qué recurso. Los roles de IAM contienen un conjunto de permisos que permiten a los usuarios realizar acciones específicas en Google Cloud recursos. Si sigues el principio de los mínimos privilegios al asignar roles de IAM, puedes proteger la integridad de los recursos de Servicio de Autoridades de Certificación y gestionar la seguridad del grupo de ACs y de la infraestructura de clave pública (ICP) 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 el 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.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
|
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, y 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 o 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 del certificado del Servicio de Autoridades de Certificación. Además, este rol también hereda los permisos del rol Auditor de servicio de CA. 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.get privateca.certificateTemplates.list privateca.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 los siguientes: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 gestor de operaciones del Servicio de Autoridades de Certificación puede crear, actualizar y eliminar grupos 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 se encargan 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.*.setIamPolicy privateca.caPools.use privateca.operations.cancel privateca.operations.delete resourcemanager.projects.get resourcemanager.projects.list storage.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 firma de Cloud KMS o segmentos de Cloud Storage durante la creación de la autoridad certificadora, debes conceder acceso a la cuenta de servicio del agente de servicio de la autoridad certificadora (service-PROJECT_NUMBER@gcp-sa-privateca.iam.gserviceaccount.com
) al recurso correspondiente.
En Cloud KMS, roles/cloudkms.signerVerifier
es necesario 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.
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 en la 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_ID
Donde:
- PROJECT_ID es el identificador único del proyecto en el que se crea el grupo de CAs.
Asigna los roles
roles/cloudkms.signerVerifier
yroles/viewer
a tu cuenta de servicio mediante el siguiente comandogcloud
.Si se proporcionan claves de firma de Cloud KMS:
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'
Donde:
- "CRYPTOKEY_NAME" es el nombre de tu clave.
- "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 nombre de tu cuenta de servicio.
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'
Asigna los roles
roles/storage.objectAdmin
yroles/storage.legacyBucketReader
a tu cuenta de servicio con 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.objectAdmin
Donde:
- BUCKET_NAME es el nombre de tu segmento de Cloud Storage.
- PROJECT_NUMBER es el identificador único de su 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 la persona que llama para invocar cada método de la API de servicio de CA:
Permiso | Descripción |
---|---|
privateca.caPools.create |
Crea un grupo de autoridades de certificación. |
privateca.caPools.update |
Actualiza un grupo de ACs. |
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 |
Lista de las CAs 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 |
Obtener 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 |
Obtener 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.