Emitir um certificado usando a CLI do Google Cloud
Nesta página, explicamos como gerar ou emitir certificados pelo serviço de autoridade certificadora 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.
Opcional: criar um pool de CAs subordinadas
Para criar um pool de ACs subordinadas, execute o seguinte comando:
gcloud privateca pools create SUBORDINATE_POOL_ID
--location LOCATION
--tier TIER
Substitua:
- SUBORDINATE_POOL_ID: o ID do pool de AC subordinada.
- LOCATION: o local do pool de ACs subordinadas. Para conferir a lista completa de locais, consulte Locais.
- TIER: o nível de AC subordinada, devops ou empresa.
Opcional: crie uma AC subordinada assinada por uma AC raiz armazenada em Google Cloud
Para criar uma AC subordinada no pool de AC subordinada criado na etapa anterior, execute o seguinte comando:
gcloud privateca subordinates create SUBORDINATE_CA_ID \
--location=LOCATION \
--pool=SUBORDINATE_POOL_ID \
--issuer-pool=POOL_ID \
--issuer-location=ISSUER_LOCATION \
--from-ca=EXISTING_CA_ID \
--kms-key-version projects/PROJECT_ID /locations/LOCATION_ID /keyRings/KEY_RING /cryptoKeys/KEY /cryptoKeyVersions/KEY_VERSION \"
Substitua:
- SUBORDINATE_CA_ID: o ID da AC subordinada.
- LOCATION: o local da AC subordinada. Para ver a lista completa de locais, consulte Locais.
- SUBORDINATE_POOL_ID: o ID do pool de AC subordinada criado na seção anterior.
- POOL_ID: o ID do pool de ACs pai.
- ISSUER_LOCATION: o local do certificado.
- EXISTING_CA_ID: o ID da AC de origem.
- PROJECT_ID: o ID do projeto.
- LOCATION_ID: a localização do keyring.
- KEY_RING: o nome do keyring em que a chave está localizada.
- KEY: o nome da chave;
- KEY_VERSION: a versão da chave.
A declaração a seguir é retornada quando a AC subordinada é criada.
Created Certificate Authority [projects/my-project-pki/locations/us-west1/caPools/SUBORDINATE_POOL_ID /certificateAuthorities/SUBORDINATE_CA_ID ].
Para ativar a AC subordinada, digite y
quando solicitado pela
gcloud CLI.
Criar um certificado
Para usar a AC recém-criada para criar um certificado, faça o seguinte:
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.
Para permitir que o SDK do Google Cloud use a biblioteca criptográfica Pyca, é necessário ativar os pacotes de sites.
export CLOUDSDK_PYTHON_SITEPACKAGES=1
set CLOUDSDK_PYTHON_SITEPACKAGES=1
Crie um certificado.
gcloud privateca certificates create \ --issuer-pool
POOL_ID \ --issuer-locationISSUER_LOCATION \ --subject "CN=Example Prod,O=Google" \ --generate-key \ --key-output-file=./key \ --cert-output-file=./cert.pemSubstitua:
- 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.
Revogue o certificado.
- 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.
Para revogar um certificado, execute o seguinte comando:
gcloud privateca certificates revoke --certificate
CERT_NAME --issuer-poolPOOL_ID --locationLOCATION Substitua:
Exclua a AC.
Só é possível excluir uma AC depois de revogar todos os certificados emitidos por ela.
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.
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.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 Exclua o projeto.
Delete a Google Cloud project:
gcloud projects deletePROJECT_ID
A seguir
- Saiba mais sobre pools de ACs.
- Saiba como criar um pool de CAs.
- Saiba mais sobre como criar ACs.
- Saiba mais sobre como solicitar certificados.
- Saiba como controlar o tipo de certificados que um pool de ACs pode emitir.