Importação de certificados SSL / TLS

Você pode usar IBM Cloud® Secrets Manager para importar certificados SSL / TLS que podem ser usados em seus aplicativos ou serviços.

Um certificado SSL/TLS é um tipo de certificado digital que é usado para estabelecer a privacidade de comunicação entre um servidor e um cliente. Os certificados são emitidos por autoridades de certificação(CA)Uma organização ou empresa de terceiro confiável que emite os certificados digitais. A autoridade de certificação geralmente verifica a identidade dos indivíduos que recebem o certificado exclusivo. e contêm informações que são usadas para criar conexões confiáveis e seguras entre endpoints. Depois de incluir um certificado em sua instância do Secrets Manager, ele poderá ser usado para proteger comunicações de rede para suas implementações em nuvem ou no local. Seu certificado é armazenado de forma segura em sua instância de serviço dedicada do Secrets Manager, na qual é possível gerenciar centralmente seu ciclo de vida.

Em Secrets Manager, os certificados que você importa para o serviço são certificados importados (imported_cert). Os certificados que você solicita por meio do site Secrets Manager de uma autoridade de certificação de terceiros são certificados públicos (public_cert). Os certificados que você cria usando uma autoridade de certificação privada são certificados privados (private_cert).

Para saber mais sobre os tipos de segredos que você pode gerenciar em Secrets Manager, consulte O que é um segredo?

Antes de Iniciar

Antes de começar, certifique-se de ter o nível de acesso necessário. Para criar ou incluir segredos, é necessária a função de serviço Gravador ou superior.

Antes de importar um certificado, certifique-se de que:

  • Crie um certificado compatível com X.509 com uma chave privada correspondente (opcional).
  • Converta seus arquivos para o formato de correio eletrônico com privacidade aprimorada ( PEM ).
  • Mantenha a chave privada não criptografada para garantir que ela possa ser importada para Secrets Manager.

Importando seus certificados existentes

É possível usar o Secrets Manager para armazenar arquivos de certificados que são assinados e emitidos por autoridades de certificação externas. Após importar seus arquivos de certificado, será possível implementar o certificado em seus aplicativos e serviços, fazer download do certificado ou girá-lo manualmente quando for a hora de renovar.

Importando certificados na IU

É possível importar um certificado existente 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 tabela Segredos, clique em Incluir.

  4. Clique em Avançar.

  5. Inclua um nome e uma descrição para identificar facilmente o segredo.

  6. Selecione o grupo de segredos que você deseja designar ao segredo.

    Você não tem um grupo de segredos? No campo Grupo de segredos, é possível clicar em Criar para fornecer um nome e uma descrição para um novo grupo. Seu segredo é incluído no novo grupo automaticamente. Para obter mais informações sobre grupos de segredos, confira Organizando seus segredos.

  7. Opcional: inclua rótulos para ajudar a procurar segredos semelhantes em sua instância.

  8. Opcional: inclua metadados em seu segredo ou em uma versão específica do seu segredo.

    1. Faça o upload de um arquivo ou insira os metadados e os metadados da versão no formato JSON.
  9. Clique em Avançar.

  10. Selecione o bloco Importar um certificado.

  11. Selecione um arquivo de certificado ou insira o seu valor.

É possível armazenar arquivos de certificado X.509 não vencidos que estão no formato PEM. Se estiver trabalhando com certificados em um formato diferente, poderá usar utilitários de linha de comando para converter seus certificados para .pem. Para obter mais informações, consulte Por que não consigo importar meu certificado?

  1. Opcional: selecione um arquivo de chave privada ou insira o seu valor.

Se você optar por armazenar uma chave privada, certifique-se de que ela corresponda ao seu certificado. A chave privada deve ser decriptografada antes que você possa importá-la para o serviço.

  1. Opcional: selecioneum arquivo de certificado intermediário ou insira seu valor.
  2. Clique em Avançar.
  3. Revise os detalhes do certificado.
  4. Clique em Incluir.

Importando certificados da CLI

Antes de começar, siga os documentos da CLI para definir seu endpoint de API.

Para importar um certificado usando o plug-in da CLI do Secrets Manager, execute o comando ibmcloud secrets-manager secret-create. Por exemplo, o comando a seguir importa um certificado juntamente com sua chave privada e seu certificado intermediário.

É possível importar arquivos de certificado que estão no formato .pem. Assegure-se de converter seus arquivos PEM para o formato de linha única para que eles possam ser analisados corretamente pela CLI do Secrets Manager.

certificate=$(cat cert.pem)
private_key=$(cat key.pem)

ibmcloud secrets-manager secret-create --secret-name example-imported-cert-secret --secret-type imported_cert --imported-cert-certificate ${certificate} --imported-cert-private-key ${private_key}

O comando gera o valor do ID do segredo, além de outros metadados. Para obter mais informações sobre as opções de comando, consulte ibmcloud secrets-manager secret-create.

Importando certificados com a API

É possível importar certificados programaticamente chamando a API do Secrets Manager.

O exemplo a seguir mostra uma consulta que pode ser usada para importar um certificado existente. Ao chamar a API, substitua as variáveis de ID e o token IAM pelos valores que são específicos para a sua instância do Secrets Manager.

Você pode armazenar metadados que são relevantes para as necessidades de sua organização com os parâmetros de solicitação custom_metadata e version_custom_metadata. Os valores do version_custom_metadata são retornados apenas para as versões de um segredo. Os metadados personalizados do seu segredo são armazenados como todos os outros metadados, para versões de até 50 bits e você não deve incluir dados confidenciais.

É possível importar arquivos de certificado que estão no formato .pem. Assegure-se de converter seus arquivos PEM para formato de linha única para que eles possam ser analisados corretamente pela API do Secrets Manager.

curl -X POST  
    -H "Authorization: Bearer {iam_token}" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -d '{
            "name": "example-imported-certificate",
            "description": "description of my imported certificate.",
            "secret_type": "imported_cert",
            "secret_group_id": "67d025e1-0248-418f-83ba-deb0ebfb9b4a",
            "labels": [
                "dev",
                "us-south"
            ],
            "certificate": "-----BEGIN CERTIFICATE-----\nMIIE3jCCBGSgAwIBAgIUZfTbf3adn87l5J2Q2Aw+6Vk/qhowCgYIKoZIzj0EAwIw\n-----END CERTIFICATE-----",
            "intermediate": "-----BEGIN CERTIFICATE-----\nMIIE3DCCBGKgAwIBAgIUKncnp6BdSUKAFGBcP4YVp/gTb7gwCgYIKoZIzj0EAwIw\n-----END CERTIFICATE-----",
            "private_key": "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAqcRbzV1wp0nVrPtEpMtnWMO6Js1q3rhREZluKZfu0Q8SY4H3\n-----END RSA PRIVATE KEY-----",
            "custom_metadata": {
                "metadata_custom_key": "metadata_custom_value"
            },
            "version_custom_metadata": {
                "custom_version_key": "custom_version_value"
            }
        }' \
    "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets"

Uma resposta bem-sucedida retorna o valor de ID do segredo, além de outros metadados. Para obter mais informações sobre os parâmetros de solicitação obrigatórios e opcionais, consulte Criar um segredo.

Importando certificados com o Terraform

É possível importar certificados programaticamente usando o Terraform for Secrets Manager.

O exemplo a seguir mostra uma consulta que pode ser usada para importar um certificado existente.

    resource "ibm_sm_imported_certificate" "sm_imported_certificate" {
        instance_id = local.instance_id
        region = local.region
        name = "test-imported-certificate"
        secret_group_id = "default"
        certificate  = file("path_to_certificate_file")
        intermediate = file("path_to_intermediate_certificate_file")
        private_key  = file("path_to_private_key_file")
    }

Gerencie certificados importados com eficiência usando o Terraform IBM Modules (TIM) para Secrets Manager Secret para gerenciamento declarativo da infraestrutura. Consulte a documentação do Terraform IBM Modules.

Criando um Certificate Signing Request

Você pode usar um segredo de certificado importado para gerar uma solicitação de assinatura de certificado (CSR) que pode ser assinada externamente com a autoridade de certificação e adicionada novamente ao segredo de certificado importado.

O segredo do certificado importado é criado no estado de pré-ativação. Para ativá-lo, você deve baixar o arquivo CSR, assiná-lo com sua autoridade de certificação e adicionar o certificado assinado novamente como uma nova versão secreta.

Criação de solicitações de assinatura de certificado na interface do usuário

Você pode criar uma solicitação de assinatura de certificado usando a interface do usuário 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 tabela Segredos, clique em Incluir.

  4. Na lista de tipos de segredo, clique no bloco Certificado importado.

  5. Clique em Avançar.

  6. Inclua um nome e uma descrição para identificar facilmente o segredo.

  7. Selecione o grupo secretoO 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 ao segredo.

    Você não tem um grupo de segredos? No campo Grupo de segredos, é possível clicar em Criar para fornecer um nome e uma descrição para um novo grupo. Seu segredo é incluído no novo grupo automaticamente. Para obter mais informações sobre grupos de segredos, confira Organizando seus segredos.

  8. Opcional: inclua rótulos para ajudar a procurar segredos semelhantes em sua instância.

  9. Opcional: inclua metadados em seu segredo ou em uma versão específica do seu segredo.

    Faça o upload de um arquivo ou insira os metadados e os metadados da versão no formato JSON.

  10. Clique em Avançar.

  11. Selecione o bloco Criar uma solicitação de assinatura de certificado (CSR).

  12. Adicione um nome comum.

  13. Opcional: adicione campos de assunto.

  14. Opcional: Selecione um algoritmo de chave. Se não for selecionado, o RSA será usado como padrão.

  15. Opcional: selecione uma função de certificado.

  16. Clique em Avançar.

  17. Revise os detalhes de sua solicitação de assinatura de certificado.

  18. Clique em Incluir.

Atualização e download das solicitações de assinatura de certificado na interface do usuário

  1. Na linha do segredo que você deseja atualizar, clique no menu Ações , ícone Ações > Detalhes.

  2. Na página Details (Detalhes ), use a guia Managed CSR (CSR gerenciado ) para editar os campos da solicitação de assinatura de certificado.

    Ao atualizar o nome comum ou os nomes alternativos do assunto, mantenha pelo menos um dos nomes inalterado para manter a consistência do assunto do certificado.

  3. Clique em Atualizar.

  4. Abra a guia Managed CSR e clique em Download CSR para fazer o download do arquivo de solicitação de assinatura de certificado.

    Com o arquivo de solicitação de assinatura de certificado em mãos, você deve entrar em contato com a autoridade de certificação de assinatura e assinar o arquivo CSR para obter o certificado assinado.

Adicionar o certificado assinado de volta à interface do usuário

Adicione o arquivo de certificado assinado de volta ao seu segredo na instância Secrets Manager usando o processo descrito em Rotação manual de certificados importados com CSR gerenciado.

Criação de solicitações de assinatura de certificado com a API

Você pode criar uma solicitação de assinatura de certificado programaticamente chamando a API Secrets Manager.
Ao chamar a API, substitua as variáveis de ID e o token IAM pelos valores que são específicos para a sua instância do Secrets Manager.

Você pode armazenar metadados que são relevantes para as necessidades de sua organização com os parâmetros de solicitação custom_metadata e version_custom_metadata. Os valores do version_custom_metadata são retornados apenas para as versões de um segredo. Os metadados personalizados do seu segredo são armazenados como todos os outros metadados, para versões de até 50 bits e você não deve incluir dados confidenciais.

curl -X POST  
    -H "Authorization: Bearer {iam_token}" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -d '{
            "name": "example-csr",
            "description": "description of my csr.",
            "secret_type": "imported_cert",
            "secret_group_id": "67d025e1-0248-418f-83ba-deb0ebfb9b4a",
            "labels": [
                "dev",
                "us-south"
            ],
            "managed_csr": {
              "require_cn": true,
              "common_name": "example.com",
              "ip_sans": "127.0.0.1",
              "uri_sans": "https://www.example.com/test",
              "other_sans": "2.5.4.5;UTF8:*.example.com",
              "exclude_cn_from_sans": false
            },
            "custom_metadata": {
                "metadata_custom_key": "metadata_custom_value"
            },
            "version_custom_metadata": {
                "custom_version_key": "custom_version_value"
            }
        }' \
    "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets"

Uma resposta bem-sucedida retorna o valor de ID do segredo, além de outros metadados. Para obter mais informações sobre os parâmetros de solicitação obrigatórios e opcionais, consulte Criar um segredo.

Atualização e download das solicitações de assinatura de certificado com a API

Você pode atualizar uma solicitação de assinatura de certificado programaticamente, chamando a API Secrets Manager.
Ao chamar a API, substitua as variáveis de ID e o token IAM pelos valores que são específicos para a sua instância do Secrets Manager.

curl -X POST  
    -H "Authorization: Bearer {iam_token}" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -d '{
            "name": "example-csr",
            "description": "description of my csr.",
            "secret_type": "imported_cert",
            "secret_group_id": "67d025e1-0248-418f-83ba-deb0ebfb9b4a",
            "labels": [
                "dev",
                "us-south"
            ],
            "managed_csr": {
              "alt_names": "alt1"
            }
        }' \
    "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets"

Uma resposta bem-sucedida retorna o valor de ID do segredo, além de outros metadados. Para obter mais informações sobre os parâmetros de solicitação obrigatórios e opcionais, consulte Criar um segredo.

Adicionar o certificado assinado de volta à API

Adicione o arquivo de certificado assinado de volta ao seu segredo na instância Secrets Manager usando o processo descrito em Rotação manual de certificados importados.

Criação de solicitações de assinatura de certificado na CLI

Antes de começar, siga os documentos da CLI para definir seu endpoint de API.

Para criar uma solicitação de assinatura de certificado usando o plug-in Secrets Manager CLI, execute o comando ibmcloud secrets-manager secret-create comando. Por exemplo, o comando a seguir cria uma solicitação de assinatura de certificado com a opção --imported-cert-managed-csr para adicionar o campo common_name com o valor example.com. Consulte os documentos da API Secrets Manager para obter uma lista completa dos campos de assunto opcionais compatíveis.

ibmcloud secrets-manager secret-create --secret-name example-imported-cert-csr-secret --secret-type imported_cert --imported-cert-managed-csr '{"common_name":"example.com"}'

Atualização e download das solicitações de assinatura de certificado da CLI

Antes de começar, siga os documentos da CLI para definir seu endpoint de API.

Para atualizar uma solicitação de assinatura de certificado usando o plug-in Secrets Manager CLI, execute o comando ibmcloud secrets-manager secret-metadata-update comando. Por exemplo, o comando a seguir atualiza uma solicitação de assinatura de certificado com a opção --imported-cert-managed-csr para adicionar o campo alt_names com o valor alt1. Consulte os documentos da API Secrets Manager para obter uma lista completa dos campos de assunto opcionais compatíveis.

ibmcloud secrets-manager secret-metadata-update --id SECRET_ID --imported-cert-managed-csr '{"alt_names":"alt1"}'

Para obter a solicitação de assinatura de certificado usando o plug-in Secrets Manager CLI, execute o comando ibmcloud secrets-manager secret-metadata comando.

ibmcloud secrets-manager secret-metadata --id SECRET_ID

Adicionar o certificado assinado de volta a partir da CLI

Adicione o arquivo de certificado assinado de volta ao seu segredo na instância Secrets Manager usando o processo descrito em Rotação manual de certificados importados.