Emitir un certificado con Google Cloud CLI

En esta página, se explica cómo puedes crear un grupo de autoridades certificadoras (AC) y emitir un certificado con Google Cloud CLI.

CA Service te permite implementar y administrar AC privadas sin administrar de Google Cloud.

Antes de comenzar

  • Install the Google Cloud CLI, then initialize it by running the following command:

    gcloud init

  • Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  • Enable the Certificate Authority Service API:

    gcloud services enable privateca.googleapis.com

  • Make sure that billing is enabled for your Google Cloud project.

  • Configura una ubicación predeterminada para usarla en los comandos gcloud de esta guía de inicio rápido.

    gcloud config set privateca/location LOCATION
    

    Los recursos del servicio de AC, como los grupos de AC y las AC, se encuentran en una sola ubicación de Google Cloud que no puedes cambiar después de crearlos.

Crear grupo de CA

Un grupo de autoridades certificadoras (AC) es un conjunto de varias AC. Un grupo de AC ofrece la capacidad de rotar cadenas de confianza sin interrupciones ni tiempos de inactividad en las cargas de trabajo.

Para crear un grupo de AC en el nivel Enterprise, ejecuta el siguiente comando:

gcloud privateca pools create POOL_ID --tier "enterprise"

Reemplaza POOL_ID por el nombre del grupo de AC.

Los nombres de todos los recursos del servicio de CA deben contener solo el caracteres permitidos, que son todas las letras, números, guiones y guiones bajos. La longitud máxima permitida para un nombre es de 63 caracteres.

Crea una AC raíz:

Un grupo de AC estará vacío durante su creación. Para solicitar certificados de un grupo de AC, debes agregar una AC en él.

Para crear una AC raíz y agregarla al grupo de AC que creaste, ejecuta el siguiente comando:

gcloud privateca roots create CA_ID --pool POOL_ID --subject "CN=Example Prod Root CA, O=Google"

Reemplaza lo siguiente:

  • CA_ID: Es el nombre de la AC raíz.
  • POOL_ID: Es el nombre del grupo de AC.

CA Service muestra el siguiente comando cuando crea la AC raíz:

Created Certificate Authority [projects/PROJECT_ID/locations/LOCATION/caPools/POOL_ID/certificateAuthorities/CA_ID]

Para habilitar la AC raíz, ingresa y cuando gcloud CLI lo solicite.

Ahora que tienes un grupo de AC con una AC raíz, puedes continuar con la creación certificados.

Crear un certificado

Si deseas usar la AC recién creada para crear un certificado, haz lo siguiente:

  1. Instala la biblioteca de criptografía de Pyca con el comando pip.

      pip install --user "cryptography>=2.2.0"
    

    El servicio de AC usa la biblioteca de criptografía de Pyca para generar y almacenar un nuevo par de claves asimétricas en tu máquina local. Esta clave nunca se enviados al servicio de CA.

  2. Para permitir que el SDK de Google Cloud use la biblioteca de criptografía de Pyca, debes habilitar los paquetes del sitio.

    macOS o Linux

    export CLOUDSDK_PYTHON_SITEPACKAGES=1
    

    Windows

    set CLOUDSDK_PYTHON_SITEPACKAGES=1
    
  3. Crea un certificado.

      gcloud privateca certificates create \
          --issuer-pool POOL_ID \
          --subject "CN=Example Prod,O=Google" \
          --generate-key \
          --key-output-file=./key \
          --cert-output-file=./cert.pem
    

    Reemplaza POOL_ID por el ID de recurso de la AC. que creaste.

    El servicio de AC muestra la siguiente respuesta:

      Created Certificate [projects/PROJECT_ID/locations/LOCATION/caPools/POOL_ID/certificates/CERTIFICATE_ID]
    

Limpia

Para realizar la limpieza, borra el grupo de AC, la AC y el proyecto que creaste para esta guía de inicio rápido.

  1. Revocar el certificado.

      Para revocar un certificado, ejecuta el siguiente comando:

        gcloud privateca certificates revoke --certificate CERT_NAME --issuer-pool POOL_ID
        

      Reemplaza lo siguiente:

      • CERT_NAME: El nombre del certificado que deseas revocar.
      • POOL_ID: Es el nombre del grupo de AC que emitió el certificado.
  2. Borra la AC.

    Solo puedes borrar una AC después de revocar todos los certificados que emitió.

    1. Inhabilita la AC.

      gcloud privateca roots disable CA_ID --pool=POOL_ID
      

      Reemplaza lo siguiente:

      • CA_ID: Es el ID de recurso de la AC.
      • POOL_ID: Es el ID de recurso del grupo de AC.
    2. Borra la AC.

      gcloud privateca roots delete CA_ID --pool=POOL_ID
      

    El estado de la AC cambia a Deleted. Borraciones permanentes de CA Service la AC 30 días después de iniciar la eliminación.

  3. Borra el grupo de AC.

    Puedes borrar un grupo de AC solo después de que su AC esté en forma permanente borrar.

    gcloud privateca pools delete POOL_ID
    
  4. Borra el proyecto.

      Delete a Google Cloud project:

      gcloud projects delete PROJECT_ID

¿Qué sigue?