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.

  1. No console, clique no ícone Menu Ícone do menu > Lista de Recursos.

  2. Na lista de serviços, selecione sua instância do Secrets Manager.

  3. Na página Mecanismos de segredos, clique na guia Certificados privados.

  4. 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.

  5. Clique na guia Modelos para exibir seus modelos de certificado existentes.

  6. Clique em Incluir modelo para associar um novo modelo.

  7. Forneça um nome para identificar facilmente o seu modelo.

  8. 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.

  9. Opcional: selecione o algoritmo de chave que você deseja usar para gerar as chaves para seus certificados gerados.

  10. 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.

  1. Opcional: ativar opções avançadas para certificados privados gerados.

  2. Configurações de domínio: inclua domínios específicos, subdomínios ou curingas para aplicar em seus certificados privados gerados.

  3. Funções do certificado: sinalize seus certificados privados gerados para usos específicos.

  4. Nome do assunto: aplique os campos de parâmetro Nome do assunto aos seus certificados privados gerados.

  5. 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.

  1. No mecanismo secreto Certificados públicos, clique no menu Ações ícone Ações para abrir uma lista de opções para sua configuração do mecanismo.
  2. Para visualizar o valor da configuração, clique em View configuration (Exibir configuração ).
  3. 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