Importation des certificats SSL / TLS

Vous pouvez utiliser IBM Cloud® Secrets Manager pour importer des certificats SSL / TLS que vous pouvez utiliser pour vos applications ou services.

Un certificat SSL/TLS est un type de certificat numérique utilisé pour établir la confidentialité des communications entre un serveur et un client. Les certificats sont délivrés par des autorités de certification(CA)Entreprise ou organisation tierce reconnue qui émet des certificats numériques. L'autorité de certification vérifie généralement l'identité des individus qui reçoivent un certificat unique. et contiennent des informations utilisées pour créer des connexions fiables et sécurisées entre les points d'extrémité. Une fois que vous avez ajouté un certificat à votre instance Secrets Manager, vous pouvez l'utiliser pour sécuriser les communications réseau pour vos déploiements cloud ou local. Votre certificat est stocké en toute sécurité dans votre instance de service Secrets Manager dédiée, où vous pouvez gérer de manière centralisée son cycle de vie.

Dans Secrets Manager, les certificats que vous importez dans le service sont des certificats importés (imported_cert). Les certificats que vous commandez via Secrets Manager auprès d'une autorité de certification tierce sont des certificats publics (public_cert). Les certificats que vous créez en utilisant une autorité de certification privée sont des certificats privés (private_cert).

Pour en savoir plus sur les types de secrets que vous pouvez gérer sur Secrets Manager, voir Qu'est-ce qu'un secret?

Avant de commencer

Avant de commencer, vérifiez que vous disposez du niveau d'accès requis. Pour créer ou ajouter des secrets, vous devez utiliser le rôle de service Auteur ou supérieur.

Avant d'importer un certificat, veillez à:

  • Créez un certificat compatible X.509 avec une clé privée correspondante (facultatif).
  • Convertissez vos fichiers au format "Privacy-enhanced electronic mail" ( PEM ).
  • Conservez la clé privée en clair afin de pouvoir l'importer dans Secrets Manager.

Importation de vos certificats existants

Vous pouvez utiliser Secrets Manager pour stocker les fichiers de certificat signés et émis par les autorités de certification externes. Une fois que vous avez importé vos fichiers de certificats, vous pouvez déployer le certificat sur vos applications et services, télécharger le certificat ou effectuer une tourner manuelle lorsqu'il est temps de le renouveler.

Importation de certificats dans l'interface utilisateur

Vous pouvez importer un certificat existant à l'aide de l'interface utilisateur Secrets Manager.

  1. Dans la console, cliquez sur l'icône Menu Icône de menu > Liste de ressources.

  2. Dans la liste des services, sélectionnez votre instance de Secrets Manager.

  3. Dans le tableau Secrets, cliquez sur Ajouter.

  4. Cliquez sur Suivant.

  5. Ajoutez un nom et une description pour facilement identifier votre secret.

  6. Sélectionnez le groupe de secrets que vous souhaitez affecter au secret.

    Vous n'avez pas de groupe de secrets ? Dans la zone Groupe de secrets, vous pouvez cliquer sur Créer pour fournir un nom et une description pour un nouveau groupe. Votre secret est automatiquement ajouté au nouveau groupe. Pour plus d'informations sur les groupes de secrets, consultez Organisation de vos secrets.

  7. Facultatif : ajoutez des étiquettes pour vous aider à rechercher des secrets similaires dans votre instance.

  8. Facultatif: ajoutez des métadonnées à votre secret ou à une version spécifique de votre secret.

    1. Téléchargez un fichier ou entrez les métadonnées et les métadonnées de version au format JSON.
  9. Cliquez sur Suivant.

  10. Sélectionnez la tuile Importer un certificat.

  11. Sélectionnez un fichier de certificat ou entrez sa valeur.

Vous pouvez stocker des fichiers certificat X.509 valides au format PEM. Si vous travaillez avec des certificats dans un format différent, vous pouvez utiliser des utilitaires de ligne de commande pour convertir vos certificats en .pem. Pour plus d'informations, voir Pourquoi ne puis-je pas importer mon certificat?

  1. Facultatif : sélectionnez un fichier de clé privée ou entrez sa valeur.

Si vous choisissez de stocker une clé privée, assurez-vous qu'elle correspond à votre certificat. La clé privée doit être non chiffrée pour que vous puissiez l'importer dans le service.

  1. Facultatif : sélectionnez un fichier de certificat intermédiaire ou entrez sa valeur.
  2. Cliquez sur Suivant.
  3. Passez en revue les détails de votre certificat.
  4. Cliquez sur Ajouter.

Importation de certificats à partir de l'interface de ligne de commande

Avant de commencer, suivez la documentation de l'interface de programmation pour définir votre point de terminaison API.

Pour importer un certificat à l'aide du plug-in d'interface de ligne de commande Secrets Manager, exécutez la commande ibmcloud secrets-manager secret-create. Par exemple, la commande suivante importe un certificat ainsi que sa clé privée et son certificat intermédiaire.

Vous pouvez importer des fichiers de certificat au format .pem. Veillez à convertir votre fichier de clés privées en un format à une seule ligne afin qu'il puisse être analysé correctement par l'interface de ligne de commande 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}

La commande génère en sortie la valeur d'ID du secret ainsi que d'autres métadonnées. Pour plus d'informations sur les options de commande, voir ibmcloud secrets-manager secret-create.

Importation de certificats à l'aide de l'API

Vous pouvez importer des certificats à l'aide d'un programme en appelant l'API Secrets Manager.

L'exemple suivant présente une requête que vous pouvez utiliser afin d'importer un certificat existant. Lorsque vous appelez l'API, remplacez les variables d'ID et le jeton IAM par les valeurs spécifiques à votre instance Secrets Manager.

Vous pouvez stocker des métadonnées adaptées aux besoins de votre organisation à l'aide des paramètres de demande custom_metadata et version_custom_metadata. Les valeurs de version_custom_metadata sont renvoyées uniquement pour les versions d'un secret. Les métadonnées personnalisées de votre secret sont stockées comme toutes les autres métadonnées, pour un maximum de 50 versions, et vous ne devez pas inclure de données confidentielles.

Vous pouvez importer des fichiers de certificat au format .pem. Veillez à convertir votre fichier de clés privées en un format à une seule ligne afin qu'il puisse être analysé correctement par l'API 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"

Une réponse ayant abouti renvoie la valeur d'ID du secret ainsi que d'autres métadonnées. Pour plus d'informations sur les paramètres de demande obligatoires et facultatifs, voir Créer un secret.

Importation de certificats avec Terraform

Vous pouvez importer des certificats à l'aide d'un programme en utilisant Terraform pour Secrets Manager.

L'exemple suivant présente une requête que vous pouvez utiliser afin d'importer un certificat existant.

    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")
    }

Gérer efficacement les certificats importés en utilisant les modules Terraform IBM (TIM) pour Secrets Manager Secret pour la gestion déclarative de l'infrastructure. Consultez la documentation de Terraform IBM Modules.

Création d'une demande de signature de certificat

Vous pouvez utiliser un secret de certificat importé pour générer une demande de signature de certificat (CSR) que vous pouvez ensuite signer en externe avec votre autorité de certification et l'ajouter à votre secret de certificat importé.

Le secret de certificat importé est créé à l'état de préactivation. Pour l'activer, vous devez télécharger le fichier CSR, le signer avec votre autorité de certification et ajouter le certificat signé en tant que nouvelle version secrète.

Création de demandes de signature de certificat dans l'interface utilisateur

Vous pouvez créer une demande de signature de certificat en utilisant l'interface utilisateur Secrets Manager.

  1. Dans la console, cliquez sur l'icône Menu Icône de menu > Liste de ressources.

  2. Dans la liste des services, sélectionnez votre instance de Secrets Manager.

  3. Dans le tableau Secrets, cliquez sur Ajouter.

  4. Dans la liste des types de secret, cliquez sur la tuile Certificat importé.

  5. Cliquez sur Suivant.

  6. Ajoutez un nom et une description pour facilement identifier votre secret.

  7. Sélectionnez le groupe de secretsEnvironnement et contraintes auxquels les secrets contenus doivent adhérer. Un utilisateur peut être associé à un groupe de secrets pour activer l'accès et la collaboration. que vous souhaitez attribuer au secret.

    Vous n'avez pas de groupe de secrets ? Dans la zone Groupe de secrets, vous pouvez cliquer sur Créer pour fournir un nom et une description pour un nouveau groupe. Votre secret est automatiquement ajouté au nouveau groupe. Pour plus d'informations sur les groupes de secrets, consultez Organisation de vos secrets.

  8. Facultatif : ajoutez des étiquettes pour vous aider à rechercher des secrets similaires dans votre instance.

  9. Facultatif: ajoutez des métadonnées à votre secret ou à une version spécifique de votre secret.

    Téléchargez un fichier ou entrez les métadonnées et les métadonnées de version au format JSON.

  10. Cliquez sur Suivant.

  11. Sélectionnez la vignette Créer une demande de signature de certificat (CSR ).

  12. Ajouter un nom commun.

  13. Facultatif : ajouter des champs de sujet.

  14. Facultatif : Sélectionner un algorithme de clé. Si cette option n'est pas sélectionnée, RSA est utilisé par défaut.

  15. Facultatif : sélectionner un rôle de certificat.

  16. Cliquez sur Suivant.

  17. Vérifiez les détails de votre demande de signature de certificat.

  18. Cliquez sur Ajouter.

Mise à jour et téléchargement des demandes de signature de certificat dans l'interface utilisateur

  1. Dans la ligne correspondant au secret que vous souhaitez mettre à jour, cliquez sur le menu Actions Icône d'actions > Détails.

  2. Dans la page Détails, utilisez l'onglet CSR géré pour modifier les champs de la demande de signature de certificat.

    Lors de la mise à jour du nom commun ou des noms alternatifs du sujet, conservez au moins un des noms inchangé pour maintenir la cohérence du sujet du certificat.

  3. Cliquez sur Update.

  4. Ouvrez l'onglet Managed CSR et cliquez sur Download CSR pour télécharger le fichier de demande de signature de certificat.

    Avec le fichier de demande de signature de certificat en main, vous devez vous adresser à votre autorité de certification de signature et signer votre fichier CSR pour obtenir le certificat signé.

Réintégration du certificat signé dans l'interface utilisateur

Ajoutez le fichier de certificat signé à votre secret dans votre instance d' Secrets Manager, en suivant la procédure décrite dans Rotation manuelle des certificats importés avec une CSR gérée.

Création de demandes de signature de certificat avec l'API

Vous pouvez créer une demande de signature de certificat par programmation en appelant l'API Secrets Manager.
Lorsque vous appelez l'API, remplacez les variables d'ID et le jeton IAM par les valeurs spécifiques à votre instance Secrets Manager.

Vous pouvez stocker des métadonnées adaptées aux besoins de votre organisation à l'aide des paramètres de demande custom_metadata et version_custom_metadata. Les valeurs de version_custom_metadata sont renvoyées uniquement pour les versions d'un secret. Les métadonnées personnalisées de votre secret sont stockées comme toutes les autres métadonnées, pour un maximum de 50 versions, et vous ne devez pas inclure de données confidentielles.

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"

Une réponse ayant abouti renvoie la valeur d'ID du secret ainsi que d'autres métadonnées. Pour plus d'informations sur les paramètres de demande obligatoires et facultatifs, voir Créer un secret.

Mise à jour et téléchargement des demandes de signature de certificat avec l'API

Vous pouvez mettre à jour une demande de signature de certificat par programmation en appelant l'API Secrets Manager.
Lorsque vous appelez l'API, remplacez les variables d'ID et le jeton IAM par les valeurs spécifiques à votre instance 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"

Une réponse ayant abouti renvoie la valeur d'ID du secret ainsi que d'autres métadonnées. Pour plus d'informations sur les paramètres de demande obligatoires et facultatifs, voir Créer un secret.

Ajout du certificat signé avec l'API

Ajoutez le fichier de certificat signé à votre secret dans votre instance d' Secrets Manager, en suivant la procédure décrite dans Rotation manuelle des certificats importés.

Création de demandes de signature de certificat à partir de l'interface de ligne de commande

Avant de commencer, suivez la documentation de l'interface de programmation pour définir votre point de terminaison API.

Pour créer une demande de signature de certificat à l'aide du plug-in CLI Secrets Manager, exécutez la commande ibmcloud secrets-manager secret-create commande. Par exemple, la commande suivante crée une demande de signature de certificat avec l'option --imported-cert-managed-csr pour ajouter le champ common_name avec la valeur example.com. Consultez la documentation de l'API Secrets Manager pour obtenir la liste complète des champs facultatifs pris en charge.

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

Mise à jour et téléchargement des demandes de signature de certificat à partir de la CLI

Avant de commencer, suivez la documentation de l'interface de programmation pour définir votre point de terminaison API.

Pour mettre à jour une demande de signature de certificat à l'aide du plug-in CLI d' Secrets Manager, exécutez la ibmcloud secrets-manager secret-metadata-update commande. Par exemple, la commande suivante met à jour une demande de signature de certificat avec l'option --imported-cert-managed-csr pour ajouter le champ alt_names avec la valeur alt1. Consultez la documentation de l'API Secrets Manager pour obtenir la liste complète des champs facultatifs pris en charge.

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

Pour obtenir la demande de signature de certificat à l'aide du plug-in CLI d' Secrets Manager, exécutez la ibmcloud secrets-manager secret-metadata commande.

ibmcloud secrets-manager secret-metadata --id SECRET_ID

Ajout du certificat signé en retour depuis l'interface de ligne de commande

Ajoutez le fichier de certificat signé à votre secret dans votre instance d' Secrets Manager, en suivant la procédure décrite dans Rotation manuelle des certificats importés.