Criar uma autoridade certificadora subordinada
Nesta página, descrevemos como criar autoridades certificadoras (CAs) subordinadas em um pool de CAs.
As CAs subordinadas são responsáveis por emitir certificados diretamente para entidades finais, como usuários, computadores e dispositivos. As CAs subordinadas são assinadas criptograficamente por uma CA pai, que geralmente é a CA raiz. Como resultado, os sistemas que confiam na CA raiz confiam automaticamente nas CAs subordinadas e nos certificados de entidade final que elas emitem.
Antes de começar
- Verifique se você tem o papel do IAM de Gerente de operações do CA Service (
roles/privateca.caManager) ou de Administrador do CA Service (roles/privateca.admin). Para mais informações, consulte Configurar políticas do IAM. - Criar um pool de CA.
- Selecione a CA raiz.
- Se o pool de CAs que contém sua CA raiz emissora tiver uma
política de emissão de certificados
configurada, verifique se as
baselineValuespermitem a emissão de certificados de CAcaOptions.isCa: true,keyUsage.baseKeyUsage.certSign: trueekeyUsage.baseKeyUsage.crlSign: true. Caso contrário, a ativação da CA subordinada vai falhar com a mensagem de erroFields in the CSR were modified or removed in the signed CA certificate.
Criar uma CA subordinada
As CAs subordinadas são mais fáceis de revogar e alternar do que as CAs raiz. Se você tiver vários cenários de emissão de certificados, poderá criar uma CA subordinada para cada um deles. Adicionar várias CAs subordinadas a um pool de CAs ajuda você a conseguir um melhor balanceamento de carga das solicitações de certificado e um QPS total efetivo mais alto.
Para criar uma CA subordinada, faça o seguinte:
Console
Acesse a página Serviço de autoridade certificadora no console doGoogle Cloud .
Clique na guia Gerenciador de CA.
Clique em Criar CA.
Selecionar o tipo de CA
- Clique em CA subordinada.
- Clique em A CA raiz está no Google Cloud.
- No campo Válido por, insira a duração que você quer que o certificado de CA seja válido.
- Opcional: escolha o nível da CA. O nível padrão é Enterprise. Para mais informações, consulte Selecionar os níveis de operação.
- Clique em Região para selecionar um local para a AC. Para mais informações, consulte Locais.
- Opcional: em Estado inicializado, selecione o estado operacional em que a CA será criada.
- Opcional: em Configurar um cenário de emissão, clique em Perfil do certificado e selecione na lista o perfil que melhor atende aos seus requisitos. Para mais informações, consulte Perfis de certificado.
- Clique em Próxima.
- Opcional: no campo Organização (O), digite o nome da sua empresa.
- Opcional: no campo Unidade organizacional (UO), insira a subdivisão da empresa ou unidade de negócios.
- Opcional: no campo Nome do país (C), insira um código de país de duas letras.
- Opcional: no campo Nome do estado ou da província, insira o nome do seu estado.
- Opcional: no campo Nome da localidade, insira o nome da sua cidade.
- No campo Nome comum da CA (CN), insira o nome da CA.
- Clique em Continuar.
- Escolha o algoritmo de chave que melhor atende às suas necessidades. Para mais detalhes sobre as opções de chave de assinatura, consulte Configurar chaves de assinatura de CA.
- Para usar uma chave de assinatura gerenciada pelo cliente, selecione Chave gerenciada pelo cliente e forneça a versão da chave criptográfica do Cloud Key Management Service.
- Clique em Continuar.
- Escolha se você quer usar um bucket do Cloud Storage gerenciado pelo Google ou pelo cliente.
- Para um bucket do Cloud Storage gerenciado pelo Google, o CA Service cria um bucket gerenciado pelo Google no mesmo local da CA.
- Para um bucket do Cloud Storage gerenciado pelo cliente, clique em "Procurar" e selecione um dos buckets do Cloud Storage.
- Clique em Continuar.
As etapas a seguir são opcionais.
Se você quiser adicionar rótulos à CA, faça o seguinte:
- Clique em Adicionar item.
- No campo Chave 1, insira a chave do rótulo.
- No campo Valor 1, insira o valor do rótulo.
- Se quiser adicionar outro rótulo, clique em Adicionar item. Em seguida, adicione a chave e o valor do rótulo, conforme mencionado nas etapas 2 e 3.
- Clique em Continuar.
Revise todas as configurações com atenção e clique em Concluído para criar a CA.
gcloud
Crie um pool de CAs para a CA subordinada:
gcloud privateca pools create SUBORDINATE_POOL_ID --location=LOCATIONSubstitua:
- SUBORDINATE_POOL_ID: o nome do pool de CAs
- LOCATION: o local em que você quer criar o pool de CAs. Para ver a lista completa de locais, consulte Locais.
Para mais informações sobre como criar pools de CAs, consulte Criar um pool de CAs.
Para mais informações sobre o comando
gcloud privateca pools create, consulte gcloud privateca pools create.Crie uma CA subordinada no pool de CAs criado.
Verifique se
--issuer-poolespecifica o ID do pool de CAs emissor (não o ID de recurso da CA raiz). Além disso, se o pool de CAs emissor tiver uma política de emissão configurada, obaselineValuesprecisará permitir certificados de CA:baselineValues: caOptions: isCa: true keyUsage: baseKeyUsage: certSign: true crlSign: trueSe o pool de CAs emissoras restringir a emissão a certificados de entidade final, a ativação da CA subordinada vai falhar com a mensagem de erro
Fields in the CSR were modified or removed in the signed CA certificate.gcloud privateca subordinates create SUBORDINATE_CA_ID \ --pool=SUBORDINATE_POOL_ID \ --location=LOCATION \ --issuer-pool=ISSUER_POOL_ID \ --issuer-location=ISSUER_LOCATION \ --key-algorithm="ec-p256-sha256" \ --subject="CN=Example Server TLS CA, O=Example LLC"Substitua:
- SUBORDINATE_CA_ID: o identificador exclusivo da CA subordinada
- SUBORDINATE_POOL_ID: o nome do pool de CAs
- LOCATION: o local do pool de CAs
- ISSUER_POOL_ID: o nome do pool de CAs que contém a CA emissora.
ISSUER_LOCATION: o local do pool de CAs que contém a CA emissora.
A flag
--key-algorithmespecifica o algoritmo criptográfico que você quer usar para criar uma chave gerenciada do Cloud HSM para a CA.A sinalização
--subjectespecifica o nome X.501 do assunto do certificado.
Para criar uma CA subordinada usando uma chave de assinatura gerenciada pelo cliente, execute o seguinte comando:
gcloud privateca subordinates create SUBORDINATE_CA_ID \ --pool=SUBORDINATE_POOL_ID \ --location=LOCATION \ --issuer-pool=ISSUER_POOL_ID \ --issuer-location=ISSUER_LOCATION \ --kms-key-version=KMS_KEY_VERSION \ --subject="CN=Example Server TLS CA, O=Example LLC"Substitua:
- SUBORDINATE_POOL_ID: o nome do pool de CAs
- LOCATION: o local do pool de CAs
- ISSUER_POOL_ID: o nome do pool de CAs que contém a CA emissora.
- ISSUER_LOCATION: o local do pool de CAs que contém a CA emissora.
- KMS_KEY_VERSION: o ID de recurso completo de uma versão de chave criptográfica do Cloud KMS gerenciada pelo cliente para usar como chave de assinatura.
Para mais detalhes sobre as opções de chave de assinatura e como preparar uma chave de assinatura gerenciada pelo cliente, consulte Configurar chaves de assinatura de CA.
A seguinte instrução é retornada quando a CA subordinada é criada.
Created Certificate Authority [projects/my-project-pki/locations/us-west1/caPools/SUBORDINATE_POOL_ID/certificateAuthorities/SUBORDINATE_CA_ID].
Para especificar URLs de acesso personalizados de Authority Information Access (AIA) e CRL Distribution Point (CDP), use as flags
--custom-aia-urlse--custom-cdp-urls. Se especificados, esses URLs serão incluídos em todos os certificados emitidos pela CA e substituirão os URLs de acesso padrão do bucket do Cloud Storage.Para ver uma lista completa de configurações, execute o seguinte comando
gcloud:gcloud privateca subordinates create --helpO comando retorna exemplos para criar uma CA subordinada cujo emissor está localizado no CA Service ou em outro lugar.
Terraform
Java
Para autenticar no CA Service, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para autenticar no CA Service, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Ativar uma CA subordinada
Para ativar uma CA subordinada, faça o seguinte:
Console
Acesse a página Serviço de autoridade certificadora no console doGoogle Cloud .
Clique na guia Gerenciador de CA.
Em Autoridades de certificação, selecione a AC que você quer ativar.
Clique em play_circleAtivar.
gcloud
Para ativar uma CA subordinada recém-criada, execute o seguinte comando:
gcloud privateca subordinates enable SUBORDINATE_CA_ID \
--pool=SUBORDINATE_POOL_ID \
--location=LOCATION
Substitua:
- SUBORDINATE_CA_ID: o identificador exclusivo da CA subordinada
- SUBORDINATE_POOL_ID: o nome do pool de CAs que contém a CA subordinada
- LOCATION: o local do pool de CAs. Para ver a lista completa de locais, consulte Locais.
Para mais informações sobre o comando gcloud privateca subordinates enable, consulte gcloud privateca subordinates enable.
Terraform
Defina o campo desired_state como ENABLED na CA subordinada e execute
terraform apply.
Java
Para ativar a CA subordinada usando um certificado assinado, chame a RPC ActivateCertificateAuthority:
Para ativar a CA subordinada para que ela possa emitir certificados, chame a RPC EnableCertificateAuthority:
Python
Para ativar a CA subordinada usando um certificado assinado, chame a RPC ActivateCertificateAuthority:
Para ativar a CA subordinada para que ela possa emitir certificados, chame a RPC EnableCertificateAuthority:
A seguir
- Saiba como solicitar certificados.
- Saiba como enviar uma solicitação de certificado usando uma CSR.
- Saiba mais sobre modelos e políticas de emissão.