Crear una autoridad de certificación raíz
En esta página se describe cómo crear una autoridad de certificación (CA) raíz en un grupo de CAs.
Una autoridad de certificación raíz se encuentra en la parte superior de una jerarquía de infraestructura de clave pública (PKI) y es responsable de formar el anclaje de confianza de la PKI. Para participar correctamente y usar certificados en una PKI, un dispositivo, un software o un componente debe confiar en la PKI. Para ello, se configura el dispositivo, el software o el componente para que confíe en la AC raíz. Por lo tanto, todos los certificados emitidos por la AC raíz son de confianza.
Antes de empezar
- Asegúrate de tener el rol de gestión operativa del servicio de AC (
roles/privateca.caManager
) o el rol de administrador del servicio de AC (roles/privateca.admin
) de IAM. Para obtener información, consulta Configurar políticas de gestión de identidades y accesos. - Crea un grupo de autoridades de certificación.
- Determina la configuración de la autoridad de certificación.
Crear una CA raíz
Una AC raíz tiene un certificado autofirmado que debes distribuir a los almacenes de confianza de tus clientes. El certificado de la AC raíz se encuentra en la parte superior de la cadena de certificados. Ninguna otra AC puede revocar el certificado de la AC. La CRL de la AC raíz solo se aplica a los demás certificados que ha emitido la AC raíz, pero no a sí misma.
Puedes crear una AC raíz en un grupo de ACs que ya tengas o en uno nuevo. En las siguientes instrucciones se usa un grupo ya creado.
Consola
Para crear una AC raíz en un grupo de ACs, sigue estos pasos:
Ve a la página Servicio de autoridad de certificación en la consola deGoogle Cloud .
Haga clic en la pestaña Administrador de autoridades de certificación.
Haz clic en la flecha del menú desplegable Crear AC
y, a continuación, selecciona Crear AC en un grupo de ACs.
Seleccionar grupo de autoridades de certificación
Selecciona un grupo de CAs de la lista y haz clic en Continuar.
Seleccionar el tipo de autoridad de certificación
- En Type (Tipo), selecciona Root CA (Autoridad de certificación raíz).
- En el campo Válido durante, introduce la duración durante la que quieres que sean válidos los certificados emitidos por el certificado de AC.
- En Estado inicializado, selecciona el estado operativo de la AC que se va a crear.
- Haz clic en Continuar.
- En el campo Organización (O), introduce el nombre de tu empresa.
- Opcional: En el campo Unidad organizativa (UO), introduce el departamento empresarial o la unidad de negocio.
- Opcional: En el campo Nombre del país (C), introduce el código de dos letras del país.
- Opcional: En el campo Nombre del estado o de la provincia, introduce el nombre de tu estado.
- Opcional: En el campo Nombre de la localidad, introduce el nombre de tu ciudad.
- En el campo Nombre común de la autoridad de certificación (NC), introduce el nombre de la autoridad de certificación.
- Haz clic en Continuar.
- Elige el algoritmo de claves que mejor se adapte a tus necesidades. Para obtener información sobre cómo elegir el algoritmo de claves adecuado, consulta Elegir un algoritmo de claves.
- Haz clic en Continuar.
- Elige si quieres usar un segmento de Cloud Storage gestionado por Google o por el cliente.
- En el caso de un segmento de Cloud Storage gestionado por Google, CA Service crea un segmento gestionado por Google en la misma ubicación que la CA.
- En el caso de un segmento de Cloud Storage gestionado por el cliente, haga clic en Examinar y seleccione uno de los segmentos de Cloud Storage.
- Haz clic en Continuar.
Los siguientes pasos son opcionales.
Si quieres añadir etiquetas a la AC, haz lo siguiente:
- Haz clic en Añadir elemento.
- En el campo Clave 1, introduce la clave de la etiqueta.
- En el campo Valor 1, introduce el valor de la etiqueta.
- Si quiere añadir otra etiqueta, haga clic en Añadir elemento. A continuación, añade la clave y el valor de la etiqueta, tal como se indica en los pasos 2 y 3.
- Haz clic en Continuar.
Revisa detenidamente todos los ajustes y haz clic en Hecho para crear la AC.
gcloud
Para crear una CA raíz en un grupo de CAs, ejecuta el siguiente comando:
gcloud privateca roots create ROOT_CA_ID \ --location=LOCATION \ --pool=POOL_ID \ --key-algorithm=KEY_ALGORITHM \ --subject="CN=my-ca, O=Test LLC"
Haz los cambios siguientes:
- ROOT_CA_ID: el nombre de la autoridad de certificación.
- LOCATION: la ubicación del grupo de autoridades de certificación.
- POOL_ID: el nombre del grupo de autoridades de certificación.
- KEY_ALGORITHM: algoritmo que se usará para crear una clave de Cloud KMS. Esta marca es opcional. Si no incluyes esta marca, el algoritmo de claves será
rsa-pkcs1-4096-sha256
de forma predeterminada. Para obtener más información, consulta la marca --key-algorithm.
De forma predeterminada, la AC se crea en el estado
STAGED
. Para habilitar una CA de forma predeterminada, incluye la marca--auto-enable
.Si quieres usar un segmento de Cloud Storage gestionado por el cliente para publicar certificados de AC y CRLs, añade
--bucket bucket-name
al comando. Sustituye bucket-name por el nombre del segmento de Cloud Storage.Para ver la lista completa de ajustes, ejecuta el siguiente comando:
gcloud privateca roots create --help
Terraform
Para crear una AC raíz con una clave de cifrado y propiedad de Google con tecnología de Google Cloud, usa la siguiente configuración de ejemplo:
Para crear una CA raíz con una clave autogestionada, usa la siguiente configuración de ejemplo:
Go
Para autenticarte en el servicio de AC, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Java
Para autenticarte en el servicio de AC, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
Para autenticarte en el servicio de AC, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
API REST
Crea una CA raíz.
Método HTTP y URL:
POST https://privateca.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/caPools/POOL_ID/certificateAuthorities?certificate_authority_id=ROOT_CA_ID
Cuerpo JSON de la solicitud:
{ "type": "SELF_SIGNED", "lifetime": { "seconds": 315576000, "nanos": 0 }, "config": { "subject_config": { "subject": { "organization": "ORGANIZATION_NAME", "common_name": "COMMON_NAME" } }, "x509_config":{ "ca_options":{ "is_ca":true }, "key_usage":{ "base_key_usage":{ "cert_sign":true, "crl_sign":true } } } }, "key_spec":{ "algorithm":"RSA_PKCS1_4096_SHA256" } }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID", "metadata": {...}, "done": false }
Consulta el estado de la operación hasta que se haya completado.
Método HTTP y URL:
GET https://privateca.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID", "metadata": {...}, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.security.privateca.v1.CertificateAuthority", "name": "...", } }
Una vez que hayas verificado que la CA funciona correctamente, puedes habilitarla para que empiece a emitir certificados con equilibrio de carga para el grupo de CAs.
Habilitar una AC raíz
gcloud
Para habilitar una CA raíz, ejecuta el siguiente comando gcloud
:
gcloud privateca roots enable ROOT_CA_ID --location=LOCATION --pool=POOL_ID
Haz los cambios siguientes:
- ROOT_CA_ID: el nombre de la autoridad de certificación.
- LOCATION: la ubicación del grupo de autoridades de certificación. Para ver la lista completa de ubicaciones, consulta Ubicaciones.
- POOL_ID: el nombre del grupo de autoridades de certificación.
Terraform
Si usas Terraform para crear una AC raíz, esta se habilitará al crearla. Para crear una AC raíz en el estado STAGED
, defina el campo desired_state
en STAGED
al crear la AC.
Puedes definir el campo desired_state
como ENABLED
o DISABLED
después de crear la CA.
Go
Para autenticarte en el servicio de AC, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Java
Para autenticarte en el servicio de AC, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
Para autenticarte en el servicio de AC, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
API REST
Permite que la AC emita certificados desde el grupo de ACs.
Método HTTP y URL:
POST https://privateca.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/caPools/POOL_ID/certificateAuthorities/ROOT_CA_ID:enable
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID", "metadata": {...}, "done": false }
Consulta el estado de la operación hasta que se haya completado.
Método HTTP y URL:
GET https://privateca.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID", "metadata": {...}, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.security.privateca.v1.CertificateAuthority", "name": "...", } }
Probar una CA
Para verificar que una CA puede emitir certificados, solicita un certificado del grupo de CAs asociado y menciona explícitamente el nombre de la CA que quieras probar con la marca --ca
.
Puede usar los siguientes métodos para solicitar un certificado de un pool de ACs:
- Pedirle al servicio de AC que cree una clave privada o pública.
- Genera tu propia clave privada o pública y envía una solicitud de firma de certificado (CSR).
Es más fácil usar una clave privada o pública generada automáticamente para solicitar un certificado a una AC de un grupo de ACs. En esta sección se proporciona información sobre cómo probar una CA con ese método.
Para usar una clave privada o pública generada automáticamente para solicitar un certificado a una AC de un grupo de ACs, ejecuta el siguiente comando gcloud
:
gcloud privateca certificates create \
--issuer-pool=POOL_ID \
--issuer-location=ISSUER_LOCATION \
--ca=ROOT_CA_ID \
--generate-key \
--key-output-file=KEY_FILENAME \
--cert-output-file=CERT_FILENAME \
--dns-san=DNS_NAME
Haz los cambios siguientes:
- POOL_ID: el nombre del grupo de autoridades de certificación.
- ISSUER_LOCATION: la ubicación de la autoridad de certificación (CA) que emitió el certificado digital.
- ROOT_CA_ID: identificador único de la CA que quieres probar.
- KEY_FILENAME: el archivo en el que se escribe la clave generada en formato PEM.
- CERT_FILENAME: el archivo en el que se escribe el archivo de cadena de certificados codificado en PEM resultante. El orden de la cadena de certificados es de hoja a raíz.
DNS_NAME: uno o varios nombres alternativos de asunto (SAN) de DNS separados por comas.
La marca
--generate-key
genera una nueva clave privada RSA-2048 en tu máquina.
Para usar una solicitud de firma de certificado (CSR) para solicitar un certificado de una AC en un grupo de ACs o para obtener más información sobre cómo solicitar certificados, consulta Solicitar un certificado y ver los certificados emitidos.
Clonar autoridades de certificación
Para clonar una CA y renovarla, o para crear una CA con la misma configuración, ejecuta el siguiente comando:
gcloud privateca roots create NEW_CA_ID \
--location=LOCATION \
--pool=POOL_ID \
--from-ca=EXISTING_CA_ID \
--key-algorithm "ec-p384-sha384"
Haz los cambios siguientes:
- NEW_CA_ID: identificador único de la nueva CA.
- LOCATION: la ubicación del grupo de autoridades de certificación.
- POOL_ID: el nombre del grupo de autoridades de certificación en el que quieras crear la nueva autoridad de certificación.
- EXISTING_CA_ID: el ID de la AC de origen o el identificador completo de la AC de origen.
El indicador --from-ca
se puede usar para crear AC raíces y subordinadas. La CA actual debe estar en el mismo grupo de CAs que la nueva CA.
La marca --key-algorithm
copia toda la configuración de la AC de la AC que ya tengas (excepto la versión de la clave de Cloud KMS y el segmento de Cloud Storage).
Sin embargo, puede anular cualquiera de los valores de configuración de la nueva AC
proporcionando explícitamente la marca adecuada. Por ejemplo, puedes seguir especificando
`--subject SUBJECT para usar un nuevo asunto.
Si omites la marca --key-algorithm
, el algoritmo se aplicará de forma predeterminada de la siguiente manera:
rsa-pkcs1-4096-sha256
para las AC raíces.rsa-pkcs1-2048-sha256
para las ACs subordinadas.
Para obtener más información sobre este comando gcloud
, consulta gcloud privateca roots
create.
Siguientes pasos
- Consulta cómo crear una CA subordinada.
- Consulta cómo solicitar certificados.
- Consulta información sobre las plantillas y las políticas de emisión.