Incluindo modelos de certificado
Um modelo de certificado ajuda a definir os parâmetros a serem aplicáveis aos certificados privados que são criados em sua instância de serviço do IBM Cloud® Secrets Manager. Ao usar um modelo de certificado, é possível incluir parâmetros para controlar nomes comuns de certificado, nomes alternativos, os usos de chave para os quais eles são válidos e muito mais.
É possível definir até 10 modelos de certificado por instância. Para visualizar uma lista de modelos que estão disponíveis para uma autoridade de certificação específica, acesse a página Mecanismos de segredos > Certificados privados na IU do Secrets Manager.
É possível definir até 10 modelos de certificado por instância. Para obter uma lista de modelos que estão disponíveis para uma autoridade de certificação específica, é possível usar a API de Configurações de lista.
Especificando domínios permitidos para certificados gerados
É possível especificar os domínios que são permitidos para os certificados gerados.
- Use a seção Configurações de Domínios para incluir os domínios que o modelo permite Em seguida, a lista é usada com as opções Permitir domínio bare e Permitir subdomínios para determinar o tipo de correspondência entre esses domínios e os domínios para os qual os clientes podem solicitar certificados
- Ative a opção Permitir domínios bare para especificar se os clientes podem solicitar certificados que correspondam aos domínios que o modelo permite
- Ative a opção Permitir subdomínios para indicar se os clientes podem solicitar certificados que correspondam a subdomínios dos domínios que esse modelo permite Subdomínios curingas são incluídos nesta opção
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.
Incluindo um modelo de certificado na IU
Depois de criar uma autoridade de certificação intermediária para sua instância, é possível criar um modelo de certificado 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, expanda a linha da autoridade de certificação intermediária que você deseja utilizar como a autoridade de certificação emissora para seus certificados privados.
-
Clique na guia Modelos para exibir seus modelos de certificado existentes.
-
Clique em Incluir modelo para associar um novo modelo.
-
Forneça um nome para identificar facilmente o seu modelo.
-
Opcional: configure um tempo de vida (TTL) para os certificados gerados.
Ao configurar um TTL, você determina por quanto tempo os certificados emitidos pela autoridade de certificação permanecem válidos. Após o certificado atingir o término de seu lease, ele é revogado automaticamente.
O período de TTL ou de validade que você define em um modelo de certificado não pode exceder o valor máximo de TTL que é definido para a autoridade de certificação associada. Para obter mais informações, consulte Escolhendo um período de validade para seus certificados.
-
Opcional: selecione o algoritmo de chave que você deseja usar para gerar as chaves para seus certificados gerados.
-
Opcional: Selecione os grupos secretosO ambiente e as restrições que contêm segredos em uma instância devem estar em conformidade com ele. Um usuário pode ser associado a um grupo de segredos para ativar o acesso e a colaboração. que você deseja atribuir aos certificados gerados.
Ao selecionar um ou mais grupos de segredos da lista, você restringe a criação de certificados privados a esses grupos apenas. Para obter mais informações sobre grupos de segredos, confira Organizando seus segredos.
-
Opcional: ativar opções avançadas para certificados privados gerados.
-
Configurações de domínio: inclua domínios específicos, subdomínios ou curingas para aplicar em seus certificados privados gerados.
-
Funções do certificado: sinalize seus certificados privados gerados para usos específicos.
-
Nome do assunto: aplique os campos de parâmetro Nome do assunto aos seus certificados privados gerados.
-
Para confirmar suas seleções, clique em Incluir.
Incluindo um modelo de certificado com a API
É possível criar um modelo de certificado para sua instância de serviço chamando a API do Secrets Manager.
O exemplo a seguir mostra uma consulta que você pode usar para criar um modelo de certificado e associá-lo a uma autoridade de certificação intermediária existente que esteja configurada para sua instância.
curl -X POST
--H "Authorization: Bearer {iam_token}" \
--H "Accept: application/json" \
--H "Content-Type: application/json" \
--d '{
"config_type": "private_cert_configuration_template",
"name": "test-certificate-template",
"allow_any_name": true,
"allowed_uri_sans": [
"https://www.example.com/test"
],
"certificate_authority": "test-intermediate-CA",
"enforce_hostnames": false,
"max_ttl": "8760h"
}' \
"https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/configurations"
Uma resposta bem-sucedida inclui a configuração do modelo em sua instância de serviço.
{
"allow_any_name": true,
"allow_bare_domains": false,
"allow_glob_domains": false,
"allow_ip_sans": true,
"allow_localhost": true,
"allow_subdomains": false,
"allowed_domains": [],
"allowed_domains_template": false,
"allowed_other_sans": [],
"allowed_uri_sans": [
"https://www.example.com/test"
],
"basic_constraints_valid_for_non_ca": false,
"certificate_authority": "test-intermediate-CA",
"client_flag": true,
"code_signing_flag": false,
"config_type": "private_cert_configuration_template",
"created_at": "2022-06-27T11:58:15Z",
"created_by": "iam-ServiceId-e4a2f0a4-3c76-4bef-b1f2-fbeae11c0f21",
"country": [],
"email_protection_flag": false,
"enforce_hostnames": false,
"ext_key_usage": [],
"ext_key_usage_oids": [],
"key_bits": 2048,
"key_type": "rsa",
"key_usage": [
"DigitalSignature",
"KeyAgreement",
"KeyEncipherment"
],
"locality": [],
"max_ttl_seconds": 31536000,
"name": "test-certificate-template",
"not_before_duration_seconds": 30,
"organization": [],
"ou": [],
"policy_identifiers": [],
"postal_code": [],
"province": [],
"require_cn": true,
"secret_type": "private_cert",
"server_flag": true,
"street_address": [],
"ttl_seconds": 43200,
"updated_at": "2022-10-05T21:33:11Z",
"use_csr_common_name": true,
"use_csr_sans": true
}
Incluindo um modelo de certificado por meio da CLI
É possível criar um modelo de certificado para a sua instância de serviço usando o comando ibmcloud secrets-manager configuration-create
O exemplo a seguir mostra um comando que pode ser usado para criar um modelo de certificado e associá-lo a uma autoridade de certificação intermediária existente que esteja configurada para a sua instância.
ibmcloud secrets-manager configuration-create
--configuration-prototype='{
"config_type": "private_cert_configuration_template",
"name": "example-certificate-template",
"allow_any_name": true,
"allow_bare_domains": true,
"allow_glob_domains": true,
"allow_ip_sans": true,
"allow_localhost": true,
"allow_subdomains": false,
"allow_wildcard_certificates": true,
"allowed_domains": ["example.com","acme.com"],
"allowed_domains_template": true,
"allowed_other_sans": [
"1.2.3.5.4.3.201.10.4.3;utf8:test@example.com",
"1.3.6.1.4.1.201.10.5.5;UTF-8:*"
],
"allowed_secret_groups": "d898bb90-82f6-4d61-b5cc-b079b66cfa76",
"allowed_uri_sans": ["example.com","acme://*"],
"certificate_authority": "example-intermediate-CA",
"client_flag": true,
"code_signing_flag": false,
"email_protection_flag": false,
"enforce_hostnames": false,
"key_bits": 2048,
"key_type": "rsa",
"key_usage": [
"DigitalSignature",
"KeyAgreement",
"KeyEncipherment"
],
"max_ttl": "24h",
"server_flag": true,
"ttl": "8h",
"use_csr_common_name": true,
"use_csr_sans": true
}'
Incluindo um modelo de certificado com o Terraform
É possível criar um modelo de certificado para sua instância de serviço usando o Terraform for Secrets Manager.
O exemplo a seguir mostra uma configuração que pode ser usada para criar um modelo de certificado e associá-lo a uma autoridade de certificação intermediária existente que esteja configurada para a sua instância.
resource "ibm_sm_private_certificate_configuration_template" "test_ca_template" {
instance_id = local.instance_id
region = local.region
name = "test-ca-template"
certificate_authority = ibm_sm_private_certificate_configuration_intermediate_ca.test_int_ca.name
allowed_domains = ["example1.com", "my.example.com"]
allow_any_name = true
}
Para obter mais informações sobre os parâmetros de solicitação obrigatórios e opcionais, consulte Adicionar uma configuração.
Recuperação de um modelo de certificado na interface do usuário
É possível recuperar o valor do modelo de certificado usando a UI 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 um modelo de certificado usando a CLI
É possível recuperar o valor do modelo de certificado 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 um modelo de certificado usando a API
É possível recuperar o valor do modelo de certificado usando a API do 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.
Próximas etapas
- Criar um certificado privado
- Implante modelos de certificado como código usando o Terraform IBM Modules (TIM) para o Secrets Manager Private Certificate Engine.