Crea una autoridad de certificación raíz
En esta página, se describe cómo crear una autoridad de certificación (AC) raíz en un grupo de AC.
Una AC raíz se encuentra en la parte superior de la jerarquía de una infraestructura de clave pública (PKI) y es responsable de formar el ancla de confianza de la PKI. Para participar y usar certificados de forma correcta en una PKI, un dispositivo, un software o un componente deben confiar en la PKI. Esto se logra configurando el dispositivo, el software o el componente para que confíe en la AC raíz. Como resultado, todos los certificados emitidos por la AC raíz son de confianza.
Antes de comenzar
- Asegúrate de que cuentas con el Administrador de operaciones del Servicio de CA.
(
roles/privateca.caManager
) o el administrador del servicio de CA (roles/privateca.admin
) rol de IAM. Para obtener más información, consulta Configura políticas de IAM. - Crea un grupo de CA.
- Determina la configuración de tu AC.
Crea una AC raíz:
Una AC raíz tiene un certificado autofirmado que debes distribuir a la relación de confianza tiendas 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 AC. La CRL de la CA raíz se aplica solo a los otros certificados que emitió la AC raíz, pero no a a sí mismo.
Console
Para crear una AC raíz, haz lo siguiente:
Ve a la página de Certificate Authority Service la consola de Google Cloud.
Haz clic en la pestaña Administrador de AC.
Haz clic en Crear AC.
Selecciona el tipo de AC
Para establecer la configuración permanente de la AC, como el nivel, la ubicación, del ciclo de vida y el estado operativo en la creación, haz lo siguiente:
- Selecciona Root CA.
- En el campo Válido para, ingresa el período durante el cual deseas que sean válidos los certificados emitidos por la AC.
- Opcional: Selecciona un nivel para la AC.
- Haz clic en Región y, en la lista, selecciona la ubicación en la que deseas crear la AC. Te recomendamos que crees la AC geográficamente cerca de los clientes de tu aplicación. Para obtener más información, consulta Cómo elegir la mejor según la ubicación geográfica.
Opcional: Selecciona el estado operativo de la AC que se creará.
Opcional: Haz clic en Perfil de certificado. En la lista, selecciona el perfil de certificado que coincida con el tipo de certificados que deseas que emita la AC.
Haz clic en Siguiente.
- En el campo Organización (O), ingresa el nombre de tu empresa.
- Opcional: En el campo Unidad organizativa (UO), ingresa la empresa. subdivisión o unidad de negocios.
- Opcional: En el campo Nombre del país, ingresa un código de país de dos letras.
- Opcional: En el campo Nombre del estado o provincia, ingresa el nombre de tu estado.
- Opcional: En el campo Nombre de la localidad, ingresa el nombre de tu ciudad.
- En el campo Nombre común de la AC (CN), ingresa el nombre de la AC.
- En el campo ID de grupo, ingresa el nombre del grupo de AC. No puedes cambiar grupo de AC después de crear la AC.
- Haz clic en Siguiente.
- Elige el algoritmo de claves que mejor se adapte a tus necesidades. Información sobre cómo elegir el algoritmo de claves adecuado, consulta Elige un algoritmo clave.
- Haz clic en Siguiente.
Los siguientes pasos son opcionales. Si omites estos pasos, la configuración predeterminada se aplican parámetros de configuración.
- Elige si quieres usar una cuenta administrada por Google bucket de Cloud Storage.
- Elige si quieres inhabilitar la publicación de certificados listas de revocación (CRL) y certificados de la AC a Cloud Storage bucket.
- Haz clic en Siguiente.
Si no seleccionas un bucket autoadministrado de Cloud Storage, CA Service crea un bucket administrado por Google en el mismo que la AC.
La publicación de la CRL y un certificado de la AC en un bucket de Cloud Storage se habilita de forma predeterminada. Para inhabilitar estos parámetros de configuración, haz clic en los botones de activación.
Los siguientes pasos son opcionales.
Si deseas agregar etiquetas a la AC, haz lo siguiente:
- Haz clic en Agregar elemento.
- En el campo Clave 1, ingresa la clave de etiqueta.
- En el campo Valor 1, ingresa el valor de la etiqueta.
- Si deseas agregar otra etiqueta, haz clic en Agregar elemento Luego, agrega la clave y el valor de la etiqueta como se menciona en los pasos 2 y 3.
- Haz clic en Siguiente.
Revisa con cuidado toda la configuración y, luego, haz clic en Crear para crear la AC.
gcloud
Para crear un grupo de AC, ejecuta el siguiente comando:
gcloud privateca pools create POOL_ID
Reemplaza POOL_ID por el nombre del grupo de AC.
Para obtener más información, consulta Cómo crear una AC. grupo.
Para obtener más información sobre este comando
gcloud
, consulta gcloud privateca pool create.Crea una AC raíz nueva en el grupo de AC que creaste.
gcloud privateca roots create ROOT_CA_ID --pool=POOL_ID \ --key-algorithm=KEY_ALGORITHM \ --subject="CN=my-ca, O=Test LLC"
Reemplaza lo siguiente:
- ROOT_CA_ID: Es el nombre de la AC.
- POOL_ID: Es el nombre del grupo de AC.
- KEY_ALGORITHM: Es el algoritmo que se usará para crear un elemento.
clave de Cloud KMS. Esta marca es opcional. Si no incluyes
esta marca, el algoritmo de la clave se establece de forma predeterminada en
rsa-pkcs1-4096-sha256
. Para Para obtener más información, consulta marca--key-algorithm.
De forma predeterminada, la AC se crea en el estado
STAGED
. Para habilitar una AC, predeterminada, incluye la marca--auto-enable
.Si quieres usar un bucket de Cloud Storage administrado por el cliente publica certificados de la AC y CRL, agrega
--bucket bucket-name
al comando. Reemplaza bucket-name por el nombre del bucket de Cloud Storage.Para ver una lista completa de las opciones de configuración, ejecuta el siguiente comando:
gcloud privateca roots create --help
Terraform
Para crear una AC raíz con una clave de propiedad de Google y administrada por Google, usa el siguiente ejemplo actual:
Para crear una AC raíz con una clave autoadministrada, usa el siguiente ejemplo: actual:
Go
Para autenticarte en CA Service, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Para autenticarte en CA Service, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Para autenticarte en el servicio de AC, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
API de 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, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID", "metadata": {...}, "done": false }
Sondea la operación hasta que se complete.
Método HTTP y URL:
GET https://privateca.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID", "metadata": {...}, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.security.privateca.v1.CertificateAuthority", "name": "...", } }
Después de verificar que la AC funciona como se esperaba, puedes habilitarla para empezar a emitir certificados con balanceo de cargas para el grupo de AC.
Cómo habilitar una AC raíz
gcloud
Para habilitar una AC raíz, ejecuta el siguiente comando gcloud
:
gcloud privateca roots enable ROOT_CA_ID --pool=POOL_ID
Reemplaza lo siguiente:
- ROOT_CA_ID: Es el nombre de la AC.
- POOL_ID: Es el nombre del grupo de AC.
Terraform
Si usas Terraform para crear una AC raíz, esta se habilita en el momento de la creación. Para crear una AC raíz en el estado STAGED
, establece
el campo desired_state
en STAGED
cuando se crea la AC.
Puedes configurar el campo desired_state
como ENABLED
o DISABLED
después de la creación de la AC.
Go
Para autenticarte en CA Service, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Para autenticarte en CA Service, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Para autenticarte en CA Service, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
API de REST
Habilita la AC para que emita certificados del grupo de AC.
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, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID", "metadata": {...}, "done": false }
Sondea la operación hasta que se complete.
Método HTTP y URL:
GET https://privateca.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID", "metadata": {...}, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.security.privateca.v1.CertificateAuthority", "name": "...", } }
Prueba una AC
Para verificar que una AC pueda emitir certificados, solicita un certificado a
el grupo de AC asociado y menciona explícitamente el nombre de la AC que quieres
prueba con la marca --ca
.
Puedes usar los siguientes métodos para solicitar un certificado de un grupo de AC:
- Haz que el servicio de AC cree una clave privada o pública por ti.
- 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 una certificado de una AC en un grupo de AC. En esta sección, se proporciona información probar una AC con ese método.
Cómo usar una clave privada o pública generada automáticamente para solicitar un certificado
desde una AC en un grupo de AC, ejecuta el siguiente comando de gcloud
:
gcloud privateca certificates create \
--issuer-pool=POOL_ID \
--ca=ROOT_CA_ID \
--generate-key \
--key-output-file=KEY_FILENAME \
--cert-output-file=CERT_FILENAME \
--dns-san=DNS_NAME
Reemplaza lo siguiente:
- POOL_ID: Es el nombre del grupo de AC.
- ROOT_CA_ID: Es el identificador único de la AC que deseas probar.
- KEY_FILENAME: Es el archivo en el que se escribe la clave generada en formato PEM.
- CERT_FILENAME: Es el archivo en el que se escribe el archivo de cadena de certificados resultante con codificación PEM. El orden de la cadena de certificados va de la hoja a la raíz.
DNS_NAME: Uno o más nombres alternativos de asunto (SAN) separados por comas.
La marca
--generate-key
genera una clave privada RSA-2048 nueva en tu máquina.
Cómo usar una solicitud de firma de certificado (Certificate Signing Request, CSR) para solicitar un certificado de una AC en un grupo de AC. Para obtener más información sobre la solicitud de certificados, consulta Solicita un certificado y consulta los certificados emitidos.
Clona autoridades certificadoras
Para clonar una AC existente y renovarla, o crear una AC nueva con la misma configuración, ejecuta el siguiente comando:
gcloud privateca roots create NEW_CA_ID --pool=POOL_ID \
--from-ca=EXISTING_CA_ID \
--key-algorithm "ec-p384-sha384"
Reemplaza lo siguiente:
- NEW_CA_ID: Es el identificador único de la AC nueva.
- POOL_ID: El nombre del grupo de AC en el que deseas para crear la nueva AC.
La marca --from-ca
es compatible con la creación de AC subordinadas y raíz. El
La AC existente debe estar en el mismo grupo de AC que la AC nueva.
La marca --key-algorithm
copia toda la configuración de la AC existente.
(excepto por la versión de clave de Cloud KMS y el bucket de Cloud Storage). Sin embargo,
puedes anular cualquiera de los valores de configuración de la AC nueva si
proporcionas explícitamente la marca adecuada. Por ejemplo, puedes especificar `--subject SUBJECT para usar un asunto nuevo.
Si omites la marca --key-algorithm
, el algoritmo toma el siguiente valor predeterminado:
rsa-pkcs1-4096-sha256
para AC raíz.rsa-pkcs1-2048-sha256
para AC subordinadas
Para obtener más información sobre este comando gcloud
, consulta
gcloud privateca roots create;
¿Qué sigue?
- Aprende a crear una AC subordinada.
- Obtén información sobre cómo solicitar certificados.
- Obtén información sobre las plantillas y las políticas de emisión.