Emitir um certificado usando a CLI do Google Cloud

Nesta página, explicamos como criar um pool de autoridades certificadoras (AC) e emitir um certificado usando a CLI do Google Cloud.

O serviço de AC permite implantar e gerenciar ACs privadas sem precisar gerenciar a infraestrutura.

Antes de começar

  • 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.

  • Configure um local padrão para uso nos comandos gcloud neste apresentação rápida.

    gcloud config set privateca/location LOCATION
    

    Os recursos do serviço de AC, como pools e ACs, ficam em um único localGoogle Cloud que não pode ser alterado após a criação desses recursos.

Criar um pool de CA

Um pool de autoridades certificadoras (ACs) é uma coleção de várias ACs. Um pool de ACs oferece a capacidade de alternar as cadeias de confiança sem interrupções ou inatividade das cargas de trabalho.

Para criar um pool de CAs no nível Enterprise, execute o seguinte comando:

gcloud privateca pools create POOL_ID --location LOCATION --tier "enterprise"

Substitua:

  • POOL_ID: o nome do pool de ACs.
  • LOCATION: o local do pool de ACs. Para conferir a lista completa de locais, consulte Locais.

Os nomes de todos os recursos do serviço de AC precisam conter apenas os caracteres permitidos, que são todas as letras, números, hifens e sublinhados. O comprimento máximo permitido de um nome é de 63 caracteres.

Crie uma AC raiz:

Um pool de AC está vazio na criação. Para solicitar certificados de um pool de AC, é necessário adicionar uma AC nele.

Para criar uma AC raiz e adicioná-la ao pool de ACs, execute o seguinte comando:

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

Substitua:

  • CA_ID: o nome da AC raiz.
  • POOL_ID: o nome do pool de ACs.
  • LOCATION: o local do pool de ACs. Para conferir a lista completa de locais, consulte Locais.

O serviço de AC retorna o seguinte comando quando cria a AC raiz:

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

Para ativar a AC raiz, digite y quando solicitado pela CLI da gcloud.

Agora que você tem um pool de ACs com uma AC raiz, pode criar certificados.

Criar um certificado

Para usar a AC recém-criada para criar um certificado, faça o seguinte:

  1. Instale a biblioteca de criptografia Pyca usando o comando pip.

      pip install --user "cryptography>=2.2.0"
    

    O serviço de AC usa a biblioteca de criptografia Pyca para gerar e armazenar um novo par de chaves assimétricas na máquina local. Essa chave nunca é enviada ao serviço de AC.

  2. Para permitir que o SDK do Google Cloud use a biblioteca criptográfica Pyca, é necessário ativar os pacotes de sites.

    macOS ou Linux

    export CLOUDSDK_PYTHON_SITEPACKAGES=1
    

    Windows

    set CLOUDSDK_PYTHON_SITEPACKAGES=1
    
  3. Crie um certificado.

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

    Substitua:

    • POOL_ID: o ID do recurso do pool de AC que você criou.
    • ISSUER_LOCATION: o local da autoridade certificadora que emitiu o certificado digital.

    O serviço de autoridade certificadora retorna a seguinte resposta:

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

Limpar

Faça uma limpeza excluindo o pool de AC, a AC e o projeto criado para este guia de início rápido.

  1. Revogue o certificado.

      Para revogar um certificado, execute o seguinte comando:

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

      Substitua:

      • CERT_NAME: o nome do certificado que você quer revogar.
      • POOL_ID: o nome do pool de ACs que emitiu o certificado.
      • LOCATION: o local do pool de ACs.
  2. Exclua a AC.

    Só é possível excluir uma AC depois de revogar todos os certificados emitidos por ela.

    1. Desative a AC.

      gcloud privateca roots disable CA_ID --pool=POOL_ID --location=LOCATION
      

      Substitua:

      • CA_ID: o ID do recurso da AC.
      • POOL_ID: o ID do recurso do pool de ACs.
      • LOCATION: o local do pool de ACs. Para conferir a lista completa de locais, consulte Locais.
    2. Exclua a AC.

      gcloud privateca roots delete CA_ID --pool=POOL_ID --location=LOCATION
      

    O estado da CA muda para Deleted. O serviço de CA exclui permanentemente a CA 30 dias após o início da exclusão.

  3. Exclua o pool de ACs.

    Só é possível excluir um pool de ACs depois que a AC nele for excluída permanentemente.

    gcloud privateca pools delete POOL_ID --location=LOCATION
    
  4. Exclua o projeto.

    Delete a Google Cloud project:

    gcloud projects delete PROJECT_ID

A seguir