Criando autoridades de certificação intermediárias
Uma autoridade de certificação intermediária (CA) é uma autoridade de certificação de nível mais baixo que pode assinar e emitir certificados para uma entidade final, como um app ou website. No IBM Cloud® Secrets Manager, é possível usar uma autoridade de certificação intermediária para criar certificados privados.
Se você já criou uma autoridade de certificação pai em sua instância do Secrets Manager, por exemplo uma autoridade de certificação raiz ou uma autoridade de certificação intermediária, será possível usá-la para assinar e emitir uma autoridade de certificação intermediária. Se você criou a autoridade de certificação pai em outro lugar fora do Secrets Manager, também é possível usar essa autoridade de certificação para assinar uma autoridade de certificação intermediária.
É possível criar até 10 autoridades de certificação intermediárias por instância. Para visualizar uma lista das configurações que estão disponíveis para sua instância, acesse a página Mecanismos de segredo > Certificados privados na IU do Secrets Manager.
Antes de Iniciar
Antes de começar, certifique-se de ter o nível de acesso necessário. Para gerenciar as configurações de mecanismo para sua instância, é necessária a função de serviço Gerenciador ou superior.
Métodos de assinatura suportados
O serviço oferece duas opções:
| Opções de assinatura | Quando usar o |
|---|---|
| Assinado internamente | Você está construindo uma cadeia de certificados que usa uma autoridade de certificação pai existente, por exemplo uma autoridade de certificação raiz ou outra autoridade de certificação intermediária, conforme sua âncora de confiança. A autoridade de certificação pai foi criada anteriormente na mesma instância do Secrets Manager. |
| Assinado externamente | Se você criou uma autoridade de certificação pai off-line ou em outra instância de serviço do Secrets Manager, é possível usar a autoridade de certificação externa para assinar e emitir uma autoridade de certificação intermediária. |
Ações de configuração não suportadas no Terraform.
Não há suporte para as seguintes ações.
- Girar CRL
- Revogar CA
Criando uma autoridade de certificação intermediária com assinatura interna na IU
Uma autoridade de certificação intermediária com assinatura interna usa um autoridade de certificação pai que foi criada anteriormente em sua instância do Secrets Manager como sua âncora de confiança. É possível criar uma autoridade de certificação intermediária com assinatura interna usando a IU do Secrets Manager.
-
No console, clique no ícone Menu
> Lista de Recursos.
-
Na lista de serviços, selecione sua instância do Secrets Manager.
-
Na página Mecanismos de segredos, clique na guia Certificados privados.
-
Na tabela Autoridades de certificação, clique em Criar autoridade de certificação para iniciar o assistente de criação.
-
Especificar o tipo de autoridade de certificação e as opções.
- Selecione Autoridade de certificação intermediária como o tipo de Autoridade.
- Selecione Assinatura interna. Na lista de Autoridades de Certificação configuradas, escolha a CA que você deseja usar como emissor do certificado de CA intermediário.
- Digite um nome para identificar facilmente sua autoridade de certificação.
- Selecione um tempo de vida máximo (TTL) para o certificado a ser gerado para esta autoridade de certificação. O TTL determina por quanto tempo o certificado da autoridade de certificação permanece válido.
- Selecione o número máximo de certificados de entidade final que podem existir na cadeia.
- Para codificar a URL do certificado da autoridade de certificação emissora em certificados de entidade final, configure a opção Codificar URL como Ativado.
-
Insira os campos de nome do assunto para o seu certificado de autoridade de certificação raiz.
-
Selecione o serviço de gerenciamento de chaves. Escolha o serviço Secrets Manager para criar as chaves de autoridade de certificado raiz internamente pelo serviço ou escolha Hyper Protect Crypto Services (HPCS). Caso o HPCS seja selecionado, execute as seguintes tarefas:
-
Selecione sua instância HPCS ou digite o CRN da instância HPCS manualmente
-
Selecione o segredo de credenciais do IAM que foi criado anteriormente para autenticação com o HPCS.
Uma vez que a credencial do IAM tenha sido definida na configuração da CA, ela não poderá ser substituída posteriormente.
-
Selecione o repositório de chaves privado HPCS na lista de repositórios de chaves ou digite a ID do repositório de chaves manualmente.
-
Escolha usar as chaves existentes ou gerar novas chaves. No caso de selecionar uma chave privada HPCS existente ou inserir um ID de chave privada manualmente, certifique-se de que exista uma chave pública e que ela tenha o mesmo ID da chave privada no repositório de chaves privadas.
Se você optar por gerar novas chaves, essas chaves não serão excluídas pelo site Secrets Manager caso a configuração seja excluída.
-
-
Selecione o algoritmo de chave que você deseja usar para gerar a chave pública e privada para o seu certificado de autoridade de certificação.
-
Determine se irá ativar os pontos de construção e distribuição da lista de revogação de certificado (CRL) para o seu certificado de autoridade de certificação.
Uma LCR é uma lista de certificados que são revogados pela autoridade certificadora emissora antes da data de expiração programada. Um certificado que é listado como parte de uma CRL não pode mais ser confiável por aplicativos.
- Para criar uma CRL para sua CA intermediária com cada solicitação de certificado, defina a opção de criação de CRL como Ativado.
- Para codificar a URL da lista de revogação no certificado da autoridade de certificação intermediária, configure a opção Pontos de distribuição de CRL como Ativado.
- Selecione um tempo de vida (TTL) da CRL gerada. O TTL determina por quanto tempo a CRL permanece válida.
-
Revise suas seleções. Para criar a autoridade de certificação intermediária, clique em Criar.
Agora é possível selecionar essa autoridade de certificação intermediária para gerar um certificado privado. Para modificar ou remover
uma configuração existente, clique no menu Ações na linha da autoridade de certificação que deseja atualizar.
Criação de uma CA intermediária com assinatura interna com a API
Uma autoridade de certificação intermediária com assinatura interna usa um autoridade de certificação pai que foi criada anteriormente em sua instância do Secrets Manager como sua âncora de confiança. Você pode criar uma CA intermediária com assinatura interna usando a API Secrets Manager.
Etapa 1: Criar uma CA intermediária com assinatura interna
O exemplo a seguir mostra uma consulta que pode ser usada para criar uma CA intermediária com assinatura interna. No corpo da solicitação, configure o valor do atributo signing_method como internal. Use o atributo
issuer para especificar a autoridade de certificação pai.
curl -X POST
--H "Authorization: Bearer {iam_token}" \
--H "Accept: application/json" \
--H "Content-Type: application/json" \
--d '{
"config_type": "private_cert_configuration_intermediate_ca",
"name": "example-intermediate-CA",
"common_name": "example.com",
"crl_disable": false,
"crl_distribution_points_encoded": true,
"crl_expiry": "72h",
"issuer": "example-root-CA",
"issuing_certificates_urls_encoded": true,
"max_ttl": "26300h",
"signing_method": "internal"
}' \
"https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/configurations"
Se você estiver trazendo seu próprio HSM, inclua o seguinte na solicitação:
"crypto_key": {
"label": "my_key",
"allow_generate_key": true,
"provider": {
"type": "hyper_protect_crypto_services",
"instance_crn": "replace_with_hpcs_crn::",
"pin_iam_credentials_secret_id": "replace_with_iam_credentials_secret_guid",
"private_keystore_id": "replace_with_keystore_id"
}
}
Etapa 2: assinar a autoridade de certificação intermediária
O exemplo a seguir mostra uma consulta que pode ser usada para assinar a CA intermediária que você criou na etapa 1.
curl -X POST
--H "Authorization: Bearer {iam_token}" \
--H "Accept: application/json" \
--H "Content-Type: application/json" \
--d -d '{
"action_type": "private_cert_configuration_action_sign_intermediate",
"intermediate_certificate_authority": "example-intermediate-CA"
}' \
"https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/configurations/example-root-CA/actions"
Criando uma autoridade de certificação intermediária com assinatura externa na IU
Uma autoridade de certificação intermediária com assinatura externa usa uma autoridade de certificação pai por meio de um sistema PKI externo, ou até mesmo outra instância do Secrets Manager, conforme sua âncora de confiança. A autoridade de certificação pai pode ser uma autoridade de certificação raiz ou uma autoridade de certificação intermediária.
Etapa 1: Criar uma autoridade de certificação intermediária e solicitação de assinatura
É possível criar um certificado de autoridade de certificação intermediária que usa assinatura externa na IU do Secrets Manager.
-
No console, clique no ícone Menu
> Lista de Recursos.
-
Na lista de serviços, selecione sua instância do Secrets Manager.
-
Na página Mecanismos de segredos, clique na guia Certificados privados.
-
Na tabela Autoridades de certificação, clique em Criar autoridade de certificação para iniciar o assistente de criação.
-
Especificar o tipo de autoridade de certificação e as opções.
- Selecione Autoridade de certificação intermediária como o tipo de Autoridade.
- Selecione Assinatura externa.
- Digite um nome para identificar facilmente sua autoridade de certificação.
- Selecione um tempo de vida máximo (TTL) para o certificado a ser gerado para esta autoridade de certificação. O TTL determina por quanto tempo o certificado da autoridade de certificação permanece válido.
- Para codificar a URL do certificado da autoridade de certificação emissora em certificados de entidade final, configure a opção Codificar URL como Ativado.
-
Insira os campos de nome do assunto para o seu certificado da autoridade de certificação intermediária.
-
Selecione o serviço de gerenciamento de chaves. Escolha o serviço Secrets Manager para criar as chaves de autoridade de certificado raiz internamente pelo serviço ou escolha Hyper Protect Crypto Services (HPCS). Caso o HPCS seja selecionado, execute as seguintes tarefas:
-
Selecione sua instância HPCS ou digite o CRN da instância HPCS manualmente
-
Selecione o segredo de credenciais do IAM que foi criado anteriormente para autenticação com o HPCS.
Uma vez que a credencial do IAM tenha sido definida na configuração da CA, ela não poderá ser substituída posteriormente.
-
Selecione o repositório de chaves privado HPCS na lista de repositórios de chaves ou digite a ID do repositório de chaves manualmente.
-
Escolha usar as chaves existentes ou gerar novas chaves. No caso de selecionar uma chave privada HPCS existente ou inserir um ID de chave privada manualmente, certifique-se de que exista uma chave pública e que ela tenha o mesmo ID da chave privada no repositório de chaves privadas.
Se você optar por gerar novas chaves, essas chaves não serão excluídas pelo site Secrets Manager caso a configuração seja excluída.
-
-
Selecione o algoritmo de chave que você deseja usar para gerar a chave pública e privada para o seu certificado de autoridade de certificação.
-
Determine se irá ativar os pontos de construção e distribuição da lista de revogação de certificado (CRL) para o seu certificado de autoridade de certificação.
Uma CRL é uma lista de certificados que foram revogados pela autoridade de certificação emissora antes de sua data de expiração planejada. Um certificado que é listado como parte de uma CRL não pode mais ser confiável por aplicativos.
- Para criar uma CRL para sua CA intermediária com cada solicitação de certificado, defina a opção de criação de CRL como Ativado.
- Para codificar a URL da lista de revogação no certificado da autoridade de certificação intermediária, configure a opção Pontos de distribuição de CRL como Ativado.
- Selecione um tempo de vida (TTL) da CRL gerada. O TTL determina por quanto tempo a CRL permanece válida.
-
Revise suas seleções. Para criar a autoridade de certificação intermediária, clique em Criar.
A autoridade de certificação intermediária é incluída na sua lista de configurações para a sua instância com um status Assinatura requerida. Antes de usar esta autoridade de certificação intermediária para emitir certificados privados, deve-se assiná-lo usando o certificado da autoridade de certificação pai que você criou em seu sistema PKI externo.
Etapa 2: Assine uma autoridade de certificação intermediária com uma autoridade de certificação externa
Quando você cria uma CA intermediária em Secrets Manager que deseja assinar usando uma CA externa, é gerada uma solicitação de assinatura de certificado(CSR)Uma mensagem eletrônica que uma organização envia para uma autoridade de certificação (CA) para obter um certificado. O pedido inclui uma chave pública e recebe uma chave privada; o CA retorna o certificado depois de assinar com sua própria chave privada.. É possível usar o CSR para assinar e emitir seu certificado de autoridade de certificação intermediária.
-
Na IU do Secrets Manager, acesse Mecanismos de segredos > Certificados privados.
-
Na linha da autoridade de certificação intermediária que você deseja assinar, clique no menu Ações
> Assinar certificado.
-
Copie ou faça download do CSR.
-
Use o CSR para assinar seu certificado de autoridade de certificação intermediária.
É possível escolher entre várias ferramentas, como
openssl, para assinar um arquivo CSR. Por exemplo, o comandoopenssla seguir considera um arquivo CSR que você transferiu por download por meio do Secrets Manager e usa um arquivo de autoridade de certificação codificado por PEM e sua chave privada associada para emitir um certificado de autoridade de certificação assinado.openssl x509 -req -in <intermediate-ca-csr-file> -CA <external-parent-ca-file> -CAkey <external-ca-key-file> -out <signed-intermediate-ca-file>O comando gera a saída de um arquivo de certificado autoridade de certificação intermediária assinado que pode, então, ser importado para a sua instância do Secrets Manager para concluir o processo de assinatura.
Etapa 3: Importar um certificado de autoridade de certificação intermediária assinado para a sua instância
Depois de assinar um certificado de autoridade de certificação intermediária usando uma autoridade de certificação pai externa, é possível importá-lo para sua instância usando a IU do Secrets Manager.
-
Na IU do Secrets Manager, acesse Mecanismos de segredos > Certificados privados.
-
Na linha da autoridade de certificação intermediária que você assinou, clique no menu Ações
> Assinar certificado.
-
Selecione ou digite o arquivo do certificado de autoridade de certificação intermediária assinado que você assinou na etapa anterior.
-
Clique em Assinar para concluir o processo de assinatura externa.
A autoridade de certificação intermediária assinada é incluída na sua lista de configurações para a sua instância com um status Ativo. Agora é possível usar esta autoridade de certificação intermediária para criar certificados privados para seus aplicativos. Para modificar ou remover uma configuração existente, clique no menu Ações
na linha da autoridade de certificação que deseja atualizar.
Criação de uma CA intermediária com assinatura externa com a API
Uma autoridade de certificação intermediária com assinatura externa usa uma autoridade de certificação pai por meio de um sistema PKI externo, ou até mesmo outra instância do Secrets Manager, conforme sua âncora de confiança. A autoridade de certificação pai pode ser uma autoridade de certificação raiz ou uma autoridade de certificação intermediária. Você pode criar uma CA intermediária com assinatura externa usando a API Secrets Manager.
Etapa 1: Criar uma autoridade de certificação intermediária e solicitação de assinatura
O exemplo a seguir mostra uma consulta que pode ser usada para criar uma CA intermediária com assinatura externa. No corpo da solicitação, configure o valor do atributo signing_method como external.
curl -X POST
--H "Authorization: Bearer {iam_token}" \
--H "Accept: application/json" \
--H "Content-Type: application/json" \
--d '{
"config_type": "private_cert_configuration_intermediate_ca",
"name": "example-intermediate-CA",
"common_name": "example.com",
"crl_disable": false,
"crl_distribution_points_encoded": true,
"crl_expiry": "72h",
"issuer": "example-root-CA",
"issuing_certificates_urls_encoded": true,
"max_ttl": "26300h",
"signing_method": "external"
}' \
"https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/configurations"
Se você estiver trazendo seu próprio HSM, inclua o seguinte na solicitação:
"crypto_key": {
"label": "my_key",
"allow_generate_key": true,
"provider": {
"type": "hyper_protect_crypto_services",
"instance_crn": "replace_with_hpcs_crn::",
"pin_iam_credentials_secret_id": "replace_with_iam_credentials_secret_guid",
"private_keystore_id": "replace_with_keystore_id"
}
}
Copie o CSR dos dados JSON de resposta. O valor CSR é aninhado no valor do atributo data da resposta. Também é possível usar a API get configuration para obter a CSR dos dados da CA intermediária recém-criada.
Etapa 2: Assine uma autoridade de certificação intermediária com uma autoridade de certificação externa
Use o CSR copiado na etapa 1 para assinar seu certificado de autoridade de certificação intermediário. Coloque o CSR em um arquivo a ser usado para assinatura
É possível escolher entre várias ferramentas, como openssl, para assinar um arquivo CSR. Por exemplo, o comando openssl a seguir pega um arquivo CSR e usa um arquivo CA codificado em PEM e sua chave privada associada
para emitir um certificado CA assinado.
openssl x509 -req -in <intermediate-ca-csr-file> -CA <external-parent-ca-file> -CAkey <external-ca-key-file> -out <signed-intermediate-ca-file>
O comando gera um arquivo de certificado assinado que você pode importar em sua configuração de CA intermediária para concluir o processo de assinatura.
Se a autoridade de certificação pai for uma autoridade de certificação raiz ou uma autoridade de certificação intermediária de outra instância do Secrets Manager, será possível assinar a CSR usando a ação sign-csr. O exemplo a
seguir mostra uma consulta que você pode usar para assinar o CSR.
curl -X POST
--H "Authorization: Bearer {iam_token}" \
--H "Accept: application/json" \
--H "Content-Type: application/json" \
--d '{
"action_type": "private_cert_configuration_action_sign_csr",
"csr": "-----BEGIN CERTIFICATE REQUEST-----\nMIICiDCCAXACAQAwGDEWMBQGA1UEAxMNct5ANo8jybxCwNjHOA==\n-----END CERTIFICATE REQUEST-----"
}' \
"https://{other_instance_ID}.{other_instance_region}.secrets-manager.appdomain.cloud/api/v2/configurations/example-intermediate-CA/actions"
Copie o valor do campo certificate da resposta para usá-lo na próxima etapa.
Etapa 3: importar uma CA intermediária assinada em sua configuração de CA intermediária
Depois de assinar um certificado de CA intermediária usando uma CA pai externa, você pode importá-lo para a configuração da CA intermediária usando a ação set-signed. O exemplo a seguir mostra uma consulta que você pode usar para
importar o certificado assinado externamente.
curl -X POST
--H "Authorization: Bearer {iam_token}" \
--H "Accept: application/json" \
--H "Content-Type: application/json" \
--d '{
"action_type": "private_cert_configuration_action_set_signed",
"certificate": "-----BEGIN CERTIFICATE-----\nMIIGRjCCBS6gAwIBAgIUSKW6zI+E9JU4bva\n-----END CERTIFICATE-----"
}' \
"https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/configurations/example-intermediate-CA/actions"
Criação de uma CA intermediária com assinatura interna a partir da CLI
Uma autoridade de certificação intermediária com assinatura interna usa um autoridade de certificação pai que foi criada anteriormente em sua instância do Secrets Manager como sua âncora de confiança. Você pode criar uma CA intermediária com assinatura interna usando a CLI do Secrets Manager.
Etapa 1: Criar uma CA intermediária com assinatura interna
Para criar uma CA intermediária com assinatura interna, execute o comando ibmcloud secrets-manager configuration-create.
No protótipo de configuração, configure o valor do atributo signing_method como internal. Use o atributo issuer para especificar a autoridade de certificação pai. Por exemplo, o comando a seguir cria
uma CA intermediária com assinatura interna.
ibmcloud secrets-manager configuration-create
--configuration-prototype='{
"config_type": "private_cert_configuration_intermediate_ca",
"name": "example-intermediate-CA",
"max_ttl": "26300h",
"signing_method": "internal",
"issuer": "example-root-CA",
"crl_expiry": "72h",
"crl_disable": false,
"crl_distribution_points_encoded": true,
"issuing_certificates_urls_encoded": true,
"common_name": "example.com",
"alt_names": [
"alt-name-1","alt-name-2"
],
"ip_sans": "127.0.0.1",
"uri_sans": "https://www.example.com/test",
"other_sans": ["1.2.3.5.4.3.201.10.4.3;utf8:test@example.com"],
"format": "pem",
"private_key_format": "der",
"key_type": "rsa",
"key_bits": 4096,
"exclude_cn_from_sans": false
}'
Se você estiver trazendo seu próprio HSM, inclua o seguinte na solicitação:
"crypto_key": {
"label": "my_key",
"allow_generate_key": true,
"provider": {
"type": "hyper_protect_crypto_services",
"instance_crn": "replace_with_hpcs_crn::",
"pin_iam_credentials_secret_id": "replace_with_iam_credentials_secret_guid",
"private_keystore_id": "replace_with_keystore_id"
}
}
Etapa 2: assinar a autoridade de certificação intermediária
Para assinar a autoridade de certificação intermediária da CLI do Secrets Manager, aplique a ação sign-intermediate executando o comando ibmcloud secrets-manager configuration-action-create.
Transmita o nome da autoridade de certificação de assinatura (o emissor) com a opção de comando --name
ibmcloud secrets-manager configuration-action-create --name example-root-CA
--config-action-prototype='{
"action_type": "private_cert_configuration_action_sign_intermediate",
"intermediate_certificate_authority": "example-intermediate-CA"
}'
Criação de uma CA intermediária com assinatura externa a partir da CLI
Uma autoridade de certificação intermediária com assinatura externa usa uma autoridade de certificação pai por meio de um sistema PKI externo, ou até mesmo outra instância do Secrets Manager, conforme sua âncora de confiança. A autoridade de certificação pai pode ser uma autoridade de certificação raiz ou uma autoridade de certificação intermediária. Você pode criar uma CA intermediária com assinatura externa usando a CLI do Secrets Manager.
Etapa 1: Criar uma autoridade de certificação intermediária e solicitação de assinatura
Para criar uma CA intermediária e uma solicitação de assinatura por meio da CLI do Secrets Manager, execute o comando ibmcloud secrets-manager configuration-create.
No protótipo de configuração, configure o valor do atributo signing_method como external. Use a opção --output json para obter uma resposta completa que inclua o valor do atributo csr Por
exemplo, o comando a seguir cria uma CA intermediária com assinatura externa.
ibmcloud secrets-manager configuration-create --output json
--configuration-prototype='{
"config_type": "private_cert_configuration_intermediate_ca",
"name": "example-intermediate-CA",
"max_ttl": "26300h",
"signing_method": "external",
"crl_expiry": "72h",
"crl_disable": false,
"crl_distribution_points_encoded": true,
"issuing_certificates_urls_encoded": true,
"common_name": "example.com",
"alt_names": [
"alt-name-1","alt-name-2"
],
"ip_sans": "127.0.0.1",
"uri_sans": "https://www.example.com/test",
"other_sans": ["1.2.3.5.4.3.201.10.4.3;utf8:test@example.com"],
"format": "pem",
"private_key_format": "der",
"key_type": "rsa",
"key_bits": 4096,
"exclude_cn_from_sans": false
}'
Copie o CSR dos dados JSON de resposta. O valor CSR é aninhado no valor do atributo data da resposta. Também é possível obter os dados da CA intermediária recém-criada executando o comando ibmcloud secrets-manager configuration com a opção --output json. Por exemplo:
ibmcloud secrets-manager configuration --name example-intermediate-CA --output json
Etapa 2: Assine uma autoridade de certificação intermediária com uma autoridade de certificação externa
Use o CSR copiado na etapa 1 para assinar seu certificado de autoridade de certificação intermediário. Coloque o CSR em um arquivo a ser usado para assinatura
É possível escolher entre várias ferramentas, como openssl, para assinar um arquivo CSR. Por exemplo, o comando openssl a seguir pega um arquivo CSR e usa um arquivo CA codificado em PEM e sua chave privada associada
para emitir um certificado CA assinado.
openssl x509 -req -in <intermediate-ca-csr-file> -CA <external-parent-ca-file> -CAkey <external-ca-key-file> -out <signed-intermediate-ca-file>
O comando gera um arquivo de certificado assinado que você pode importar em sua configuração de CA intermediária para concluir o processo de assinatura.
Se a autoridade de certificação pai for uma autoridade de certificação raiz ou uma autoridade de certificação intermediária de outra instância do Secrets Manager, será possível assinar a CSR aplicando a ação sign-csr. Para aplicar
a ação execute o comando ibmcloud secrets-manager configuration-action-create.
Copie o valor do campo certificate da saída de comando para usá-lo na próxima etapa. Por exemplo, se a autoridade de certificação pai for a autoridade de certificação raiz com o nome example-root-CA em outra instância
do Secrets Manager, o comando seria o seguinte.
ibmcloud secrets-manager configuration-action-create --name example-root-CA --output json
--config-action-prototype='{
"action_type": "private_cert_configuration_action_sign_csr",
"csr": "-----BEGIN CERTIFICATE REQUEST-----\nMIICiDCCAXACAQAwGDEWMBQGA1UEAxMNct5ANo8jybxCwNjHOA==\n-----END CERTIFICATE REQUEST-----"
}'
Para a ação sign-csr, você precisa direcionar a outra instância Secrets Manager onde reside a CA principal. Antes de executar o comando, exporte a variável de ambiente SECRETS_MANAGER_URL para ter como destino a outra
instância.
Etapa 3: importar uma CA intermediária assinada em sua configuração de CA intermediária
Depois de assinar um certificado de autoridade de certificação intermediário usando uma autoridade de certificação pai externa, é possível importá-lo em sua configuração de autoridade de certificação intermediárias, aplicando a ação set-signed à sua configuração de autoridade de certificação intermediária Para aplicar a ação execute o comando ibmcloud secrets-manager configuration-action-create.
Por exemplo:
ibmcloud secrets-manager configuration-action-create --name example-intermediate-CA
--config-action-prototype='{
"action_type": "private_cert_configuration_action_set_signed",
"certificate": "-----BEGIN CERTIFICATE-----\nMIIGRjCCBS6gAwIBAgIUSKW6zI+E9JU4bva\n-----END CERTIFICATE-----"
}'
Criando uma autoridade de certificação intermediária com assinatura interna com o Terraform
Uma autoridade de certificação intermediária com assinatura interna usa um autoridade de certificação pai que foi criada anteriormente em sua instância do Secrets Manager como sua âncora de confiança. Você pode criar uma CA intermediária com assinatura interna usando o Terraform para Secrets Manager.
O exemplo a seguir mostra uma configuração que pode ser usada para criar uma CA intermediária com assinatura interna.
resource "ibm_sm_private_certificate_configuration_intermediate_ca" "my_intermediate_ca" {
instance_id = local.instance_id
signing_method = "internal"
name = "example-intermediate-ca"
common_name = "example.com"
issuer = ibm_sm_private_certificate_configuration_root_ca.my_root_ca.name
max_ttl = "180000"
}
Se você estiver trazendo seu próprio HSM, inclua o seguinte na configuração:
crypto_key {
label = "my_key"
allow_generate_key = true
provider {
type = "hyper_protect_crypto_services"
instance_crn = "replace_with_hpcs_crn::"
pin_iam_credentials_secret_id = "replace_with_iam_credentials_secret_guid"
private_keystore_id = "replace_with_keystore_id"
}
}
Ao usar a assinatura interna, o emissor definido está assinando automaticamente o certificado de CA intermediário recém-criado.
Criação de uma CA intermediária com assinatura externa com o Terraform
Uma autoridade de certificação intermediária com assinatura externa usa uma autoridade de certificação pai por meio de um sistema PKI externo, ou até mesmo outra instância do Secrets Manager, conforme sua âncora de confiança. A autoridade de certificação pai pode ser uma autoridade de certificação raiz ou uma autoridade de certificação intermediária. É possível criar uma CA intermediária com assinatura externa usando o Terraform for Secrets Manager.
O exemplo a seguir mostra uma configuração que pode ser usada para criar uma CA intermediária com assinatura externa. A configuração é composta por três recursos. O recurso ibm_sm_private_certificate_configuration_intermediate_ca cria a configuração de CA intermediária e a solicitação de assinatura de certificado. O recurso ibm_sm_private_certificate_configuration_action_sign_csr assina o CSR com uma CA raiz de outra instância do Secrets Manager. O recurso
ibm_sm_private_certificate_configuration_action_set_signed importa o certificado assinado para o recurso de CA intermediário.
resource "ibm_sm_private_certificate_configuration_intermediate_ca" "my_intermediate_ca" {
instance_id = local.instance_id
name = "example-intermediate-ca"
signing_method = "external"
common_name = "example.com"
max_ttl = "180000"
}
resource "ibm_sm_private_certificate_configuration_action_sign_csr" "my_sign_action" {
instance_id = local.another_instance_id
name = ibm_sm_private_certificate_configuration_root_ca.my_root_ca.name
csr = ibm_sm_private_certificate_configuration_intermediate_ca.my_intermediate_ca.data[0].csr
}
resource "ibm_sm_private_certificate_configuration_action_set_signed" "my_set_signed_action" {
instance_id = local.instance_id
name = ibm_sm_private_certificate_configuration_intermediate_ca.my_intermediate_ca.name
certificate = ibm_sm_private_certificate_configuration_action_sign_csr.my_sign_action.data[0].certificate
}
Neste exemplo, usamos assinatura externa porque a CA raiz está em outra instância do Secrets Manager. Para usar uma CA principal de um sistema de PKI externo, use outro método para assinar a CSR, em vez do recurso ibm_sm_private_certificate_configuration_action_sign_csr.
Por exemplo, você pode usar o recurso tls_locally_signed_cert do provedor tls.
Se você estiver trazendo seu próprio HSM, inclua o seguinte na configuração:
crypto_key {
label = "my_key"
allow_generate_key = true
provider {
type = "hyper_protect_crypto_services"
instance_crn = "replace_with_hpcs_crn::"
pin_iam_credentials_secret_id = "replace_with_iam_credentials_secret_guid"
private_keystore_id = "replace_with_keystore_id"
}
}
Recuperando uma CA intermediária na IU
É possível recuperar o valor de CA intermediário usando a IU do Secrets Manager.
- No mecanismo secreto Certificados públicos, clique no menu Ações
para abrir uma lista de opções para sua configuração do mecanismo.
- Para visualizar o valor da configuração, clique em View configuration (Exibir configuração).
- Clique em Confirmar depois de assegurar que você esteja em um ambiente seguro.
O valor secreto é exibido por 15 segundos, em seguida, o diálogo é fechado.
Recuperando uma CA intermediária usando a CLI
É possível recuperar o valor de CA intermediário usando a CLI do Secrets Manager. No comando de exemplo a seguir, substitua o nome da configuração do mecanismo pelo nome da sua configuração
ibmcloud secrets-manager configuration --name EXAMPLE_CONFIG --service-url https://{instance_ID}.{region}.secrets-manager.appdomain.cloud
Substitua {instance_ID} e {region} pelos valores que se aplicam à sua instância de serviço do Secrets Manager. Para localizar a URL de terminal específica para sua instância, é possível copiá-la da página Terminais na IU do Secrets Manager. Para obter mais informações, consulte Visualizando suas URLs de terminal
Recuperando uma autoridade de certificação intermediária usando API
É possível recuperar o valor de CA intermediário usando a API Secrets Manager. Na solicitação de exemplo a seguir, substitua o nome de configuração do mecanismo por seu nome de configuração.
curl -X GET --location --header "Authorization: Bearer {iam_token}" \
--header "Accept: application/json" \
"https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/configurations/{name}"
Substitua {instance_ID} e {region} pelos valores que se aplicam à sua instância de serviço do Secrets Manager. Para localizar a URL de terminal específica para sua instância, é possível copiá-la da página Terminais na IU do Secrets Manager. Para obter mais informações, consulte Visualizando suas URLs de terminal
Uma resposta bem-sucedida retorna o valor da configuração do mecanismo, juntamente com outros metadados. Para obter mais informações sobre os parâmetros de solicitação obrigatórios e opcionais, consulte Obter um segredo.