Emitir um certificado usando a Google Cloud CLI

Nesta página, explicamos como criar um pool de autoridade de certificação (AC) e emitir um certificado usando a Google Cloud CLI.

O CA Service permite implantar e gerenciar ACs particulares sem gerenciar a infraestrutura.

Antes de começar

  • Instale a Google Cloud CLI e inicialize-a executando o seguinte comando:

    gcloud init

  • Crie ou selecione um projeto do Google Cloud.

    • Crie um projeto do Google Cloud:

      gcloud projects create PROJECT_ID

      Substitua PROJECT_ID por um nome para o projeto do Google Cloud que você está criando.

    • Selecione o projeto do Google Cloud que você criou:

      gcloud config set project PROJECT_ID

      Substitua PROJECT_ID pelo nome do projeto do Google Cloud.

  • Ative a API Certificate Authority Service:

    gcloud services enable privateca.googleapis.com

  • Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  • Configure um local padrão para uso nos comandos gcloud deste guia de início rápido.

    gcloud config set privateca/location LOCATION
    

    Os recursos do CA Service, como pools e CAs, residem em um único local do Google Cloud que não pode ser alterado depois da criação desses recursos.

Criar um pool de CA

Um pool de autoridades certificadoras (CA) é um conjunto de várias CAs. Com um pool de ACs, é possível alternar as cadeias de confiança sem interrupção ou inatividade das cargas de trabalho.

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

gcloud privateca pools create POOL_ID --tier "enterprise"

Substitua POOL_ID pelo nome do pool de ACs.

Os nomes de todos os recursos de serviço de CA precisam conter apenas os caracteres permitidos, que são letras, números, hífen e sublinhado. O comprimento máximo permitido de um nome é de 63 caracteres.

Crie uma AC raiz:

Um pool de AC fica vazio no momento da criação. Para solicitar certificados de um pool de ACs, adicione uma AC nele.

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

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

Substitua:

  • CA_ID: o nome da AC raiz.
  • POOL_ID: o nome do pool de ACs.

O CA Service retorna o seguinte comando quando cria a CA raiz:

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

Ative a CA raiz inserindo y quando solicitado pela CLI gcloud.

Agora que você tem um pool de ACs com uma AC raiz, prossiga e crie certificados.

Criar um certificado

Para usar a CA 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 CA Service 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 da AC.

  2. Para permitir que o SDK Google Cloud use a biblioteca de criptografia Pyca, ative os pacotes do site.

    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 \
          --subject "CN=Example Prod,O=Google" \
          --generate-key \
          --key-output-file=./key \
          --cert-output-file=./cert.pem
    

    Substitua POOL_ID pelo ID do recurso do pool de ACs que você criou.

    O CA Service 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 ACs, a AC e o projeto que você criou 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
        

      Substitua:

      • CERT_NAME: o nome do certificado que você quer revogar.
      • POOL_ID: o nome do pool de ACs que emitiu o certificado.
  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
      

      Substitua:

      • CA_ID: o ID do recurso da AC.
      • POOL_ID: o ID do recurso do pool de ACs.
    2. Exclua a AC.

      gcloud privateca roots delete CA_ID --pool=POOL_ID
      

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

  3. Exclua o pool de ACs.

    Só é possível excluir um pool de ACs após a AC nele ser excluída permanentemente.

    gcloud privateca pools delete POOL_ID
    
  4. Exclua o projeto.

      Exclua um projeto do Google Cloud:

      gcloud projects delete PROJECT_ID

A seguir