Crea una autoridad certificadora raíz
En esta página, se describe cómo crear una autoridad certificadora (AC) raíz en un grupo de AC.
Una CA 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 ancla de confianza de la PKI. Para participar y usar certificados de forma adecuada en una PKI, un dispositivo, software o componente debe confiar en la PKI. Esto se logra configurando el dispositivo, el software o el componente para que confíe en la CA raíz. Como resultado, todos los certificados emitidos por la CA raíz son de confianza.
Antes de comenzar
- Asegúrate de tener el rol de IAM de administrador de operaciones del servicio de AC (
roles/privateca.caManager
) o administrador del servicio de AC (roles/privateca.admin
). Para obtener más información, consulta Configura políticas de IAM. - Crea un grupo de CA.
- Determina la configuración de tu CA.
Crea una AC raíz:
Una CA raíz tiene un certificado autofirmado que debes distribuir a los almacenes de confianza de tus clientes. El certificado de la CA raíz se encuentra en la parte superior de la cadena de certificados. Ninguna otra CA puede revocar el certificado de CA. La CRL de la CA raíz solo se aplica a los otros certificados que emitió la CA raíz, pero no a sí misma.
Puedes crear una CA raíz en un grupo de CA existente o en uno nuevo. En las siguientes instrucciones, se usa un grupo existente.
Console
Para crear una CA raíz en un grupo de CA existente, haz lo siguiente:
Ve a la página Certificate Authority Service en la consola deGoogle Cloud .
Haz clic en la pestaña Administrador de CA.
Haz clic en la flecha del Create CA
para expandir el menú y, luego, selecciona Create CA in an existing CA pool.
Selecciona un grupo de CA
Selecciona un grupo de CA existente de la lista y haz clic en Continuar.
Selecciona un tipo de CA
- En Tipo, selecciona CA raíz.
- En el campo Válido durante, ingresa la duración durante la que deseas que sean válidos los certificados emitidos por el certificado de CA.
- En Estado inicializado, selecciona el estado operativo en el que se creará la AC.
- Haz clic en Continuar.
- En el campo Organización (O), ingresa el nombre de tu empresa.
- Opcional: En el campo Unidad organizativa (UO), ingresa la subdivisión de la empresa o la unidad de negocios.
- Opcional: En el campo Nombre del país (C), 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 CA (CN), ingresa el nombre de la CA.
- Haz clic en Continuar.
- Elige el algoritmo de clave que mejor se adapte a tus necesidades. Para obtener información sobre cómo decidir el algoritmo de clave adecuado, consulta Elige un algoritmo de clave.
- Haz clic en Continuar.
- Elige si deseas usar un bucket de Cloud Storage administrado por Google o por el cliente.
- En el caso de un bucket de Cloud Storage administrado por Google, CA Service crea un bucket administrado por Google en la misma ubicación que la CA.
- En el caso de un bucket de Cloud Storage administrado por el cliente, haz clic en Explorar y selecciona uno de los buckets de Cloud Storage existentes.
- Haz clic en Continuar.
Los siguientes pasos son opcionales.
Si deseas agregar etiquetas a la CA, haz lo siguiente:
- Haz clic en Agregar elemento.
- En el campo Clave 1, ingresa la clave de la 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 mencionó en los pasos 2 y 3.
- Haz clic en Continuar.
Revisa cuidadosamente todos los parámetros de configuración y, luego, haz clic en Listo para crear la CA.
gcloud
Para crear una nueva CA raíz en un grupo de CA existente, 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"
Reemplaza lo siguiente:
- ROOT_CA_ID: Es el nombre de la CA.
- LOCATION: Es la ubicación del grupo de AC.
- POOL_ID: Es el nombre del grupo de AC.
- KEY_ALGORITHM: Es el algoritmo que se usará para crear una clave de Cloud KMS. Esta marca es opcional. Si no incluyes esta marca, el algoritmo de clave se establece de forma predeterminada en
rsa-pkcs1-4096-sha256
. Para obtener más información, consulta la marca --key-algorithm.
De forma predeterminada, la CA se crea en el estado
STAGED
. Para habilitar una CA de forma predeterminada, incluye la marca--auto-enable
.Si quieres usar un bucket de Cloud Storage administrado por el cliente para publicar certificados de CA y CRL, agrega
--bucket bucket-name
al comando. Reemplaza bucket-name por el nombre del bucket de Cloud Storage.Para ver la lista exhaustiva de parámetros de configuración, ejecuta el siguiente comando:
gcloud privateca roots create --help
Terraform
Para crear una AC raíz con una propiedad de Google y administrada por Google potenciada por Google Cloud, usa la siguiente configuración de ejemplo:
Para crear una CA raíz con una clave autoadministrada, usa la siguiente configuración de ejemplo:
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
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 espera, puedes habilitarla para que comience a emitir certificados balanceados por carga para el grupo de AC.
Habilita una CA 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
Reemplaza lo siguiente:
- ROOT_CA_ID: Es el nombre de la CA.
- LOCATION: Es la ubicación del grupo de AC. Para obtener la lista completa de ubicaciones, consulta Ubicaciones.
- POOL_ID: Es el nombre del grupo de AC.
Terraform
Si usas Terraform para crear una CA raíz, esta se habilita en el momento de la creación. Para crear una CA raíz en el estado STAGED
, establece el campo desired_state
en STAGED
cuando crees la CA.
Puedes establecer el campo desired_state
en ENABLED
o DISABLED
después de la creación de la CA.
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 CA para que emita certificados desde el grupo de CA.
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": "...", } }
Cómo probar una CA
Para verificar que una CA pueda emitir certificados, solicita uno del grupo de CA asociado y menciona de forma explícita el nombre de la CA que deseas probar con la marca --ca
.
Puedes usar los siguientes métodos para solicitar un certificado de un grupo de CA:
- Permite que el servicio de CA cree una clave privada o pública para 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 un certificado de una CA en un grupo de CA. En esta sección, se proporciona información para probar una CA con ese método.
Para usar una clave privada o pública generada automáticamente para solicitar un certificado de una CA en un grupo de CA, 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
Reemplaza lo siguiente:
- POOL_ID: Es el nombre del grupo de AC.
- ISSUER_LOCATION: Es la ubicación de la autoridad certificadora (AC) que emitió el certificado digital.
- ROOT_CA_ID: Es el identificador único de la CA 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 codificado con PEM resultante. El orden de la cadena de certificados es de hoja a raíz.
DNS_NAME: Uno o más nombres alternativos del sujeto (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 CA en un grupo de CA o para obtener más información sobre cómo solicitar certificados, consulta Solicita un certificado y consulta los certificados emitidos.
Clona autoridades certificadoras
Para clonar una CA existente y renovarla, o bien para crear una CA nueva 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"
Reemplaza lo siguiente:
- NEW_CA_ID: Es el identificador único de la nueva CA.
- LOCATION: Es la ubicación del grupo de AC.
- POOL_ID: Es el nombre del grupo de AC en el que deseas crear la nueva CA.
- EXISTING_CA_ID: Es el ID de la CA de origen o el identificador completamente calificado de la CA de origen.
La marca --from-ca
es compatible con la creación de CA raíz y subordinada. La CA existente debe estar en el mismo grupo de CA que la CA nueva.
La marca --key-algorithm
copia toda la configuración de la CA existente (excepto la versión de la clave de Cloud KMS y el bucket de Cloud Storage).
Sin embargo, puedes anular cualquiera de los valores de configuración de la nueva CA si proporcionas explícitamente la marca adecuada. Por ejemplo, aún puedes especificar "--subject SUBJECT" para usar un asunto nuevo.
Si omites la marca --key-algorithm
, el algoritmo se establece de forma predeterminada en lo siguiente:
rsa-pkcs1-4096-sha256
para las AC raíz.rsa-pkcs1-2048-sha256
para las AC subordinadas.
Para obtener más información sobre este comando gcloud
, consulta gcloud privateca roots create.
¿Qué sigue?
- Obtén más información para crear una CA subordinada.
- Obtén más información para solicitar certificados.
- Obtén información sobre las plantillas y las políticas de emisión.