Création de secrets d'identification personnalisés

Le type de secret "custom credentials" permet aux utilisateurs de IBM Cloud® Secrets Manager de gérer en toute sécurité des informations d'identification pour des systèmes externes (tels que Artifactory ou PagerDuty ) par le biais d'API et d'intégrations Secrets Manager. Pour créer ces secrets, vous déployez une tâche IBM Cloud® Code Engine qui fait office de passerelle entre Secrets Manager et le service externe. Ces tâches s'exécutent selon un calendrier fixe et gèrent les informations d'identification de manière asynchrone à l'aide de tâches secrètes.

Le processus de création d'informations d'identification personnalisées est asynchrone de par sa conception. Lorsqu'un nouveau secret est ajouté, il entre d'abord dans un état de pré-activation. Si le secret est créé avec succès dans le fournisseur d'informations d'identification externe, son état devient automatiquement actif sur le site Secrets Manager.

Le processus de création des secrets d'identification personnalisés est asynchrone. Après l'ajout d'un secret, celui-ci commence dans l'état pre-activation et, s'il est créé avec succès dans le fournisseur d'informations d'identification, son état passe à active dans Secrets Manager.

Avant de commencer

Avant de commencer, assurez-vous que vous avez.. :

Création d'un secret d'identification personnalisé dans la console

Pour ajouter un secret :

  1. Dans le tableau Secrets, cliquez sur Ajouter.
  2. Dans la liste des types de secret, cliquez sur la tuile Informations d'identification personnalisées.
  3. Cliquez sur Suivant.
  4. Ajoutez un nom et une description pour facilement identifier votre secret.
  5. Sélectionnez le groupe secretEnvironnement 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 avez créé précédemment.
  6. Facultatif : ajoutez des étiquettes pour vous aider à rechercher des secrets similaires dans votre instance.
  7. Facultatif : Ajoutez des métadonnées à votre secret ou à une version spécifique de votre secret.
    1. Téléchargez un fichier ou saisissez les métadonnées et les métadonnées de version au format JSON.
  8. Cliquez sur Suivant.
  9. Sélectionnez la configuration du moteur d'identification personnalisé à utiliser pour ce secret.
  10. Saisissez les valeurs requises sous Paramètres.
  11. Cliquez sur Suivant.
  12. Facultatif : Activez la durée minimale et la rotation automatique de votre secret.
  13. Cliquez sur Suivant.
  14. Passez en revue les détails de votre secret.
  15. Cliquez sur Ajouter.

Vous pouvez modifier la valeur des paramètres ultérieurement. La modification a lieu après la création d'une nouvelle version secrète. Il n'est pas possible d'ajouter ou de soustraire de nouveaux paramètres sans créer une nouvelle configuration.

Affichage et mise à jour des détails du secret dans la console

Comme pour tout autre secret, vous pouvez accéder aux détails de votre secret en cliquant sur l' icône Actions du menu Actions > Détails. Dans les écrans de détail, vous pouvez obtenir des informations sur les points suivants

Création d'un secret d'identification personnalisé à partir de l'interface de programmation

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

Pour créer un secret d'identification personnalisé à l'aide du plug-in CLI Secrets Manager, exécutez la commande ibmcloud secrets-manager secret-create commande.

ibmcloud secrets-manager secret-create --secret-type custom_credentials --secret-name "example-custom-credential-secret" --secret-description "Description of my custom credential secret" --secret-rotation '{"auto_rotate": true,"interval": 30,"unit": "day"}' --custom-credentials-parameters '{"my_input_parameter":"my_param_value"}' --custom-credentials-configuration '{"my_custom_credential_config"}' --secret-custom-metadata '{"metadata_custom_key": "metadata_custom_value"},"version_custom_metadata": {"custom_version_key": "custom_version_value"}}'

Création d'un secret d'identification personnalisé à l'aide de l'API

Vous pouvez créer un justificatif d'identité personnalisé par programme 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.

Les paramètres de requête custom_metadata et version_custom_metadata vous permettent de stocker des métadonnées correspondant aux besoins de votre organisation. Les valeurs de version_custom_metadata ne sont renvoyées que 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 y 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-custom-credential-secret",
      "description": "Description of my custom credential secret",
      "secret_type": "custom_credentials",
      "secret_group_id": "bfc0a4a9-3d58-4fda-945b-76756af516aa",
      "labels": [
        "dev",
        "us-south"
      ],
      "rotation": {
        "auto_rotate": true,
        "interval": 30,
        "unit": "day"
      },
      "configuration": "my_custom_credential_config",
      "parameters": {
        "user_name": "username",
        "scope": "admin"
      },
      "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"

Création d'un secret d'identification personnalisé à l'aide de Terraform

Vous pouvez créer des secrets d'identification personnalisés de manière programmatique en utilisant Terraform for Secrets Manager. L'exemple suivant montre une configuration que vous pouvez utiliser pour créer un secret d'identification personnalisé.

La création de secrets d'identification personnalisés est un processus asynchrone qui peut potentiellement prendre beaucoup de temps en fonction du cas d'utilisation, c'est pourquoi les délais potentiels doivent être pris en compte lors de la planification de l'utilisation de Terraform.

resource "ibm_sm_custom_credentials_secret" "sm_custom_credentials_secret" {
  instance_id   = ibm_resource_instance.sm_instance.guid
  region        = "us-south"
  name 			= "secret-name"
  secret_group_id = ibm_sm_secret_group.sm_secret_group.secret_group_id
  custom_metadata = {"key":"value"}
  description = "Extended description for this secret."
  labels = ["my-label"]
  configuration = "my_custom_credentials_configuration"
  parameters {
    int_values = {
        example_param_1 = 17
    }
    string_values = {
        example_param_2 = "str2"
        example_param_3 = "str3"
    }
    bool_values = {
        example_param_4 = false
    }
  }
  rotation {
      auto_rotate = true
      interval = 3
      unit = "day"
  }
  ttl = "864000"
}

Tirez parti des modules Terraform IBM (TIM) pour Secrets Manager Custom Credentials Engine afin de définir des informations d'identification personnalisées sous forme de code avec des configurations reproductibles. Démarrez avec Terraform IBM Modules.