Criar uma autoridade certificadora raiz
Nesta página, descrevemos como criar uma autoridade de certificação (AC) raiz em um pool de ACs.
Uma AC raiz está no topo da hierarquia de uma infraestrutura de chave pública (ICP) e é responsável por formar a âncora confiável da PKI. Para participar adequadamente e usar certificados em uma ICP, um dispositivo, software ou componente precisa confiar na ICP. Isso é feito configurando o dispositivo, o software ou o componente para confiar na AC raiz. Como resultado, todos os certificados emitidos pela AC raiz são confiáveis.
Antes de começar
- Verifique se você tem o CA Service Operation Manager
(
roles/privateca.caManager
) ou o administrador de serviço de CA (roles/privateca.admin
) papel do IAM. Para mais informações, consulte Configurar políticas do IAM. - Criar um pool de CA.
- Determinar as configurações da AC.
Crie uma AC raiz:
Uma AC raiz tem um certificado autoassinado que você deve distribuir para a lojas de seus clientes. O certificado da AC raiz está no topo da cadeia de certificados. Nenhuma outra AC pode revogar o certificado da AC. A CRL da CA raiz se aplica apenas aos outros certificados emitidos pela CA raiz, mas não a ela mesma.
Console
Para criar uma AC raiz, faça o seguinte.
Acesse a página Certificate Authority Service em no console do Google Cloud.
Clique na guia Gerenciador de ACs.
Clique em Criar AC.
Selecionar o tipo de CA
Para definir as configurações permanentes da CA, como nível, localização, e o estado operacional na criação, faça o seguinte:
- Selecione CA raiz.
- No campo Válido para, insira a duração desejada certificados emitidos pelo certificado de CA para serem válidos.
- Opcional: selecione um nível para a AC.
- Clique em Região e, na lista, selecione o local em que você quer criar a AC. Recomendamos criar a AC geograficamente perto dos clientes do seu aplicativo. Para mais informações, consulte Como escolher local.
Opcional: selecione o estado operacional da AC a ser criada.
Opcional: clique em Perfil do certificado. Na lista, selecione o perfil de certificado que corresponda ao tipo de certificado para os quais você quer CA a ser emitido.
Clique em Próxima.
- No campo Organização (O), digite o nome da sua empresa.
- Opcional: no campo Unidade organizacional (UO), insira a subdivisão da empresa ou a unidade de negócios.
- Opcional: no campo Nome do país, insira um código de país com 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 AC (CN), insira o nome da AC.
- No campo ID do pool, digite o nome do pool de ACs. Não é possível mudar o pool de ACs depois de criar a AC.
- Clique em Próxima.
- Escolha o algoritmo de chave que melhor atenda às suas necessidades. Para informações sobre como decidir o algoritmo de chave adequado, consulte Escolher um algoritmo de chave.
- Clique em Próxima.
As etapas a seguir são opcionais. Se você pular essas etapas, as configurações padrão serão aplicadas.
- Escolha entre usar uma conta gerenciada pelo Google ou autogerenciada do bucket do Cloud Storage.
- Escolha se você quer desativar a publicação de listas de revogação de certificados (CRLs) e certificados de AC no bucket do Cloud Storage.
- Clique em Próxima.
Se você não selecionar um bucket autogerenciado do Cloud Storage, o CA Service vai criar um bucket gerenciado pelo Google no mesmo local que a AC.
A publicação de CRL e do certificado de AC em um bucket do Cloud Storage é ativada por padrão. Para desativar essas configurações, clique nos botões.
As etapas a seguir são opcionais.
Se você quiser adicionar rótulos à AC, 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 Próxima.
Revise cuidadosamente todas as configurações e clique em Criar para criar a CA.
gcloud
Para criar um pool de AC, execute o seguinte comando:
gcloud privateca pools create POOL_ID
Substitua POOL_ID pelo nome do pool de ACs.
Para mais informações, consulte Criar uma AC: pool.
Para mais informações sobre este comando
gcloud
, consulte gcloud privateca pools create.Crie uma nova AC raiz no pool de ACs que você criou.
gcloud privateca roots create ROOT_CA_ID --pool=POOL_ID \ --key-algorithm=KEY_ALGORITHM \ --subject="CN=my-ca, O=Test LLC"
Substitua:
- ROOT_CA_ID: o nome da AC.
- POOL_ID: o nome do pool de ACs.
- KEY_ALGORITHM: o algoritmo a ser usado para criar uma
chave do Cloud KMS. Essa sinalização é opcional. Se você não incluir
essa sinalização, o algoritmo da chave será definido como
rsa-pkcs1-4096-sha256
por padrão. Para Para mais informações, consulte --key-algorithm flag.
Por padrão, a CA é criada no estado
STAGED
. Para ativar uma AC padrão, inclua a sinalização--auto-enable
.Se você quiser usar um bucket do Cloud Storage gerenciado pelo cliente para publicar certificados de AC e CRLs, adicione
--bucket bucket-name
ao comando. Substitua bucket-name pelo do bucket do Cloud Storage.Para ver a lista completa de configurações, execute o seguinte comando:
gcloud privateca roots create --help
Terraform
Para criar uma CA raiz usando uma chave de propriedade e gerenciada pelo Google, use o exemplo a seguir configuração:
Para criar uma AC raiz usando uma chave autogerenciada, use o seguinte exemplo de configuração:
Go
Para autenticar no serviço de CA, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Para autenticar no serviço de CA, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para autenticar no serviço de CA, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
API REST
Crie uma CA raiz.
Método HTTP e URL:
POST https://privateca.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/caPools/POOL_ID/certificateAuthorities?certificate_authority_id=ROOT_CA_ID
Corpo JSON da solicitação:
{ "type": "SELF_SIGNED", "lifetime": { "seconds": 315576000, "nanos": 0 }, "config": { "subject_config": { "subject": { "organization": "ORGANIZATION_NAME", "common_name": "COMMON_NAME" } }, "x509_config":{ "ca_options":{ "is_ca":true }, "key_usage":{ "base_key_usage":{ "cert_sign":true, "crl_sign":true } } } }, "key_spec":{ "algorithm":"RSA_PKCS1_4096_SHA256" } }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID", "metadata": {...}, "done": false }
Pesquise a operação até que ela seja concluída.
Método HTTP e URL:
GET https://privateca.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID", "metadata": {...}, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.security.privateca.v1.CertificateAuthority", "name": "...", } }
Depois de confirmar que a AC funciona como esperado, ative-a para começar a emitir certificados com carga balanceada para o pool de ACs.
Ativar uma AC raiz
gcloud
Para ativar uma AC raiz, execute o seguinte comando gcloud
:
gcloud privateca roots enable ROOT_CA_ID --pool=POOL_ID
Substitua:
- ROOT_CA_ID: o nome da AC.
- POOL_ID: o nome do pool de ACs.
Terraform
Se você usar o Terraform para criar uma AC raiz, ela será ativada na criação. Para criar uma AC raiz no estado STAGED
, defina
o campo desired_state
como STAGED
ao criar a AC.
É possível definir o campo desired_state
como ENABLED
ou DISABLED
após a criação da AC.
Go
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.
Java
Para autenticar no serviço de CA, 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.
API REST
Permitir que a AC emita certificados do pool de ACs.
Método HTTP e URL:
POST https://privateca.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/caPools/POOL_ID/certificateAuthorities/ROOT_CA_ID:enable
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID", "metadata": {...}, "done": false }
Pesquise a operação até que ela seja concluída.
Método HTTP e URL:
GET https://privateca.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID", "metadata": {...}, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.security.privateca.v1.CertificateAuthority", "name": "...", } }
Testar uma AC
Para verificar se uma AC é capaz de emitir certificados, solicite um certificado de
o pool de AC associado e mencione explicitamente o nome da AC que você quer
teste usando a sinalização --ca
.
Use os seguintes métodos para solicitar um certificado de um pool de ACs:
- Peça para o serviço de AC criar uma chave privada ou pública para você.
- Gere sua própria chave pública ou privada e envie uma solicitação de assinatura de certificado (CSR).
É mais fácil usar uma chave privada gerada automaticamente ou uma chave pública para solicitar uma certificado de uma AC em um pool de ACs. Esta seção fornece informações sobre como testar uma AC usando esse método.
Para usar uma chave privada ou pública gerada automaticamente para solicitar um certificado
de uma AC em um pool de ACs, execute o comando gcloud
a seguir:
gcloud privateca certificates create \
--issuer-pool=POOL_ID \
--ca=ROOT_CA_ID \
--generate-key \
--key-output-file=KEY_FILENAME \
--cert-output-file=CERT_FILENAME \
--dns-san=DNS_NAME
Substitua:
- POOL_ID: o nome do pool de ACs.
- ROOT_CA_ID: o identificador exclusivo da AC que você quer testar.
- KEY_FILENAME: o arquivo em que a chave gerada está escrita no formato PEM.
- CERT_FILENAME: o arquivo em que o arquivo da cadeia de certificados codificado em PEM resultante é gravado. A ordem da cadeia de certificados é da folha para a raiz.
DNS_NAME: um ou mais nomes alternativos de assunto do DNS (SANs, na sigla em inglês) separados por vírgula.
A sinalização
--generate-key
gera uma nova chave privada RSA-2048 na sua máquina.
Para usar uma solicitação de assinatura de certificado (CSR) e solicitar um certificado de uma AC em um pool de AC ou para mais informações sobre como solicitar certificados, consulte Solicitar um certificado e conferir os certificados emitidos.
Clonar autoridades certificadoras
Para clonar uma CA atual e renová-la, ou para criar uma nova CA com a mesma , execute o seguinte comando:
gcloud privateca roots create NEW_CA_ID --pool=POOL_ID \
--from-ca=EXISTING_CA_ID \
--key-algorithm "ec-p384-sha384"
Substitua:
- NEW_CA_ID: o identificador exclusivo da nova AC.
- POOL_ID: o nome do pool de ACs em que você quer criar a nova AC.
A flag --from-ca
tem suporte para a criação de ACs raiz e subordinadas. A
AC existente precisa estar no mesmo pool de ACs que a nova AC.
A flag --key-algorithm
copia toda a configuração da AC da AC atual.
(exceto a versão da chave do Cloud KMS e o bucket do Cloud Storage). No entanto,
você ainda pode substituir qualquer um dos valores de configuração na nova AC fornecendo
explicitamente a flag apropriada. Por exemplo, ainda é possível
especifique `--subject SUBJECT para usar um novo assunto.
Se você omitir a flag --key-algorithm
, o algoritmo vai usar o padrão:
rsa-pkcs1-4096-sha256
para ACs raiz.rsa-pkcs1-2048-sha256
para ACs subordinadas.
Para mais informações sobre esse comando gcloud
, consulte
gcloud privateca roots create.
A seguir
- Saiba como criar uma AC subordinada.
- Saiba como solicitar certificados.
- Saiba mais sobre modelos e políticas de emissão.