Ajout de modèles de certificat

Un modèle de certificat vous aide à définir les paramètres à appliquer aux certificats privés que vous créez dans votre instance de service IBM Cloud® Secrets Manager . En utilisant un modèle de certificat, vous pouvez inclure des paramètres pour contrôler les noms communs des certificats, les noms de remplacement, la clé d'utilisation pour laquelle ils sont valides, et plus encore.

Vous pouvez définir jusqu'à 10 modèles de certificat par instance. Pour afficher la liste des modèles disponibles pour une autorité de certification spécifique, accédez à la page Moteurs Secrets > Certificats privés de l'interface utilisateur Secrets Manager .

Vous pouvez définir jusqu'à 10 modèles de certificat par instance. Pour obtenir la liste des modèles disponibles pour une autorité de certification spécifique, vous pouvez utiliser l'API Configurations de liste .

Spécification de domaines autorisés pour les certificats générés

Vous pouvez spécifier les domaines autorisés pour les certificats que vous générez.

  • Utilisez la section Paramètres des domaines pour ajouter les domaines autorisés par le modèle. Ensuite, la liste est utilisée avec les options Autoriser le domaine nu et Autoriser les sous-domaines pour déterminer le type de correspondance entre ces domaines et les domaines pour lesquels les clients peuvent demander des certificats.
  • Activez l'option Autoriser les domaines nus pour indiquer si les clients peuvent demander des certificats qui correspondent aux domaines autorisés par le modèle.
  • Activez l'option Autoriser les sous-domaines pour indiquer si les clients peuvent demander des certificats qui correspondent aux sous-domaines des domaines autorisés par ce modèle. Les sous-domaines génériques sont inclus dans cette option.

Avant de commencer

Avant de commencer, vérifiez que vous disposez du niveau d'accès requis. Pour gérer les configurations de moteur pour votre instance, vous devez utiliser le rôle de service Responsable ou supérieur.

Ajout d'un modèle de certificat dans l'interface utilisateur

Après avoir créé une autorité de certification intermédiaire pour votre instance, vous pouvez créer un modèle de certificat à 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 la page Moteurs Secrets , cliquez sur l'onglet Certificats privés .

  4. Dans le tableau des autorités de certification, développez la ligne de l'autorité de certification intermédiaire que vous souhaitez utiliser en tant qu'autorité de certification émettrice pour vos certificats privés.

  5. Cliquez sur l'onglet Modèles pour afficher vos modèles de certificat existants.

  6. Cliquez sur Ajouter un modèle pour associer un nouveau modèle.

  7. Indiquez un nom permettant d'identifier facilement votre modèle.

  8. Facultatif: Définir une durée de vie (TTL) pour les certificats générés.

    En définissant une durée de vie, vous déterminez la durée de validité des certificats émis par l'autorité de certification. Une fois que le certificat a atteint la fin de sa validité, il est automatiquement révoqué.

    La TTL ou la période de validité que vous définissez sur un modèle de certificat ne peut pas dépasser la valeur TTL maximale définie pour l'autorité de certification associée. Pour plus d'informations, voir Choix d'une période de validité pour vos certificats.

  9. Facultatif: Sélectionner l'algorithme clé que vous souhaitez utiliser pour générer les clés de vos certificats générés.

  10. En option : Sélectionnez les groupes 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 aux certificats générés.

En sélectionnant un ou plusieurs groupes secrets dans la liste, vous limitez la création de certificats privés à ces groupes uniquement. Pour plus d'informations sur les groupes de secrets, consultez la rubrique Organisation de vos secrets.

  1. Facultatif: Activer les options avancées pour les certificats privés générés.

  2. Paramètres de domaine: Ajoutez des domaines, des sous-domaines ou des caractères génériques spécifiques à vos certificats privés générés.

  3. Rôles de certificat: Marquez vos certificats privés générés pour des utilisations spécifiques.

  4. Nom du sujet: Appliquez les zones de paramètre de Nom de sujet à vos certificats privés générés.

  5. Pour confirmer vos sélections, cliquez sur Ajouter.

Ajout d'un modèle de certificat à l'API

Vous pouvez créer un modèle de certificat pour votre instance de service en appelant l'API Secrets Manager .

L'exemple suivant présente une requête que vous pouvez utiliser pour créer un modèle de certificat et l'associer à une autorité de certification intermédiaire existante configurée pour votre instance.

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"

Une réponse réussie ajoute la configuration de modèle à votre instance de service.

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

Ajout d'un modèle de certificat à partir de l'interface de ligne de commande

Vous pouvez créer un modèle de certificat pour votre instance de service à l'aide de la commande ibmcloud secrets-manager configuration-create.

L'exemple suivant montre une commande que vous pouvez utiliser pour créer un modèle de certificat et l'associer à une autorité de certification intermédiaire existante qui est configurée pour votre instance.

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
  }'

Ajout d'un modèle de certificat avec Terraform

Vous pouvez créer un modèle de certificat pour votre instance de service en utilisant Terraform pour Secrets Manager.

L'exemple suivant montre une configuration que vous pouvez utiliser pour créer un modèle de certificat et l'associer à une autorité de certification intermédiaire existante qui est configurée pour votre instance.

    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
    }

Pour plus d'informations sur les paramètres de demande obligatoires et facultatifs, voir Ajouter une configuration.

Récupération d'un modèle de certificat dans l'interface utilisateur

Vous pouvez extraire la valeur du modèle de certificat à l'aide de l'interface utilisateur Secrets Manager.

  1. Dans le moteur de secret Certificats publics, cliquez sur l'icône Actions du menu Actions pour ouvrir la liste des options de configuration de votre moteur.
  2. Pour afficher la valeur de la configuration, cliquez sur Afficher la configuration.
  3. Cliquez sur Confirmer après vous être assuré que vous êtes dans un environnement sécurisé.

La valeur confidentielle est affichée pendant 15 secondes, puis la boîte de dialogue se ferme.

Extraction d'un modèle de certificat à l'aide de l'interface CLI

Vous pouvez extraire la valeur du modèle de certificat à l'aide de l'interface de ligne de commande Secrets Manager. Dans l'exemple de commande suivant, remplacez le nom de la configuration du moteur par le nom de votre configuration.

ibmcloud secrets-manager configuration --name EXAMPLE_CONFIG --service-url https://{instance_ID}.{region}.secrets-manager.appdomain.cloud

Remplacez {instance_ID} et {region} par les valeurs qui s'appliquent à votre instance de service Secrets Manager. Pour trouver l'URL de point d'extrémité spécifique à votre instance, vous pouvez la copier à partir de la page Noeuds finaux de l'interface utilisateur Secrets Manager. Pour plus d'informations, voir Affichage de vos URL de point d'extrémité

Extraction d'un modèle de certificat à l'aide de l'API

Vous pouvez extraire la valeur du modèle de certificat à l'aide de l'API Secrets Manager. Dans l'exemple de demande suivant, remplacez le nom de la configuration du moteur par le nom de votre configuration.

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

Remplacez {instance_ID} et {region} par les valeurs qui s'appliquent à votre instance de service Secrets Manager. Pour trouver l'URL de point d'extrémité spécifique à votre instance, vous pouvez la copier à partir de la page Noeuds finaux de l'interface utilisateur Secrets Manager. Pour plus d'informations, voir Affichage de vos URL de point d'extrémité

Une réponse positive renvoie la valeur de la configuration du moteur, ainsi que d'autres métadonnées. Pour plus d'informations sur les paramètres de demande obligatoires et facultatifs, voir Obtenir un secret.

Etapes suivantes