Stockage des données d'identification de l'utilisateur
Vous pouvez utiliser IBM Cloud® Secrets Manager pour stocker un nom d'utilisateur et un mot de passe que vous pouvez utiliser pour vous connecter et accéder à un service protégé à l'intérieur ou à l'extérieur de IBM Cloud.
Les données d'identification de l'utilisateur se composent de valeurs de nom d'utilisateur et de mot de passe que vous pouvez utiliser pour vous connecter ou accéder à un service ou à une application externe. Votre secret est stocké de manière sécurisée dans votre instance de service Secrets Manager dédiée. Dans l'instance, vous pouvez gérer de manière centralisée son cycle de vie et contrôler la durée de vie du secret en définissant une date d'expiration, des règles de rotation automatique, etc.
Dans les informations d'identification de l'utilisateur, seule la valeur du mot de passe dans le peut être modifiée. Une fois que la valeur du nom d'utilisateur est définie, elle ne peut plus être modifiée.
Pour en savoir plus sur les types de secrets que vous pouvez gérer dans 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.
Ajout de données d'identification utilisateur dans l'interface utilisateur
Pour stocker un nom d'utilisateur et un mot de passe à l'aide de l'interface utilisateur Secrets Manager, procédez comme suit.
-
Dans la console, cliquez sur l'icône Menu
> Liste de ressources.
-
Dans la liste des services, sélectionnez votre instance de Secrets Manager.
-
Dans le tableau Secrets, cliquez sur Ajouter.
-
Dans la liste des types de secret, sélectionnez le carreau Informations d'identification de l'utilisateur.
-
Cliquez sur Suivant.
-
Ajoutez un nom et une description pour facilement identifier votre secret.
-
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.
-
Facultatif : ajoutez des étiquettes pour vous aider à rechercher des secrets similaires dans votre instance.
-
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.
-
Cliquez sur Suivant.
-
Entrez le nom d'utilisateur et le mot de passe que vous souhaitez associer au secret.
Si vous choisissez de générer un mot de passe, Secrets Manager remplace la valeur existante par un mot de passe de 32 caractères généré de manière aléatoire et contenant des lettres majuscules, des lettres minuscules, des chiffres et des symboles. Vous pouvez choisir de personnaliser davantage le mot de passe généré en configurant sa longueur (12 à 256 caractères) et en indiquant s'il convient d'inclure des nombres, des symboles et des lettres majuscules.
- Facultatif : activez les options d'expiration et rotation pour contrôler le cycle de vie du secret.
- Pour définir une date d'expiration pour le secret, basculez le bouton d'expiration sur Oui.
- Pour faire pivoter votre secret à 30, 60 ou 90 jours d'intervalle, mettez l'option Rotation automatique du secret sur Oui.
- Cliquez sur Suivant.
- Passez en revue les détails de votre secret.
- Cliquez sur Ajouter.
Ajout de données d'identification utilisateur à 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 stocker un nom d'utilisateur et un mot de passe à l'aide du plug-in Secrets Manager CLI, exécutez la commande ibmcloud secrets-manager secret-create.
ibmcloud secrets-manager secret-create \
--secret-name example-username-password-secret \
--secret-description "Description of my user credentials secret" \
--secret-type username_password \
--secret-group-id bfc0a4a9-3d58-4fda-945b-76756af516aa \
--secret-labels dev,us-south \
--username-password-username example-username \
--username-password-password example-password \
--secret-rotation '{"auto_rotate": true, "interval": 10, "unit": "day"}' \
--secret-custom-metadata '{"metadata_custom_key": "metadata_custom_value"}' \
--secret-version-custom-metadata '{"custom_version_key": "custom_version_value"}'
Génération d'un mot de passe aléatoire depuis l'interface de ligne de commande
Vous pouvez choisir de personnaliser davantage le mot de passe généré en configurant sa longueur (12 à 256 caractères) et en indiquant s'il convient d'inclure des nombres, des symboles et des lettres majuscules. Pour générer un mot de passe
aléatoire à l'aide du plug-in d'interface de ligne de commande Secrets Manager, exécutez la commande ibmcloud secrets-manager secret-create et incluez la zone password_generation_policy.
ibmcloud secrets-manager secret-create \
--secret-name example-username-password-secret \
--secret-description "Description of my user credentials secret" \
--secret-type username_password \
--secret-group-id bfc0a4a9-3d58-4fda-945b-76756af516aa \
--secret-labels dev,us-south \
--username-password-username example-username \
--username-password-password example-password \
--secret-rotation '{"auto_rotate": true, "interval": 10, "unit": "day"}' \
--username-password-policy '{"length": 24, "include_digits": true, "include_symbols": false, "include_uppercase": true}' \
--secret-custom-metadata '{"metadata_custom_key": "metadata_custom_value"}' \
--secret-version-custom-metadata '{"custom_version_key": "custom_version_value"}'
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.
Ajout de données d'identification utilisateur à l'aide de l'API
Vous pouvez stocker un nom d'utilisateur et un mot de passe à l'aide d'un programme en appelant l'API Secrets Manager.
L'exemple suivant montre une requête que vous pouvez utiliser pour créer un secret de nom d'utilisateur et mot de passe. 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-username-password-secret",
"description": "Description of my user credentials secret",
"secret_type": "username_password",
"secret_group_id": "bfc0a4a9-3d58-4fda-945b-76756af516aa",
"labels": [
"dev",
"us-south"
],
"username": "example-username",
"password": "example-password",
"rotation": {
"auto_rotate": true,
"interval": 10,
"unit": "day"
},
"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"
Génération d'un mot de passe aléatoire avec l'API
Vous pouvez choisir de personnaliser davantage le mot de passe généré en configurant sa longueur (12 à 256 caractères) et en indiquant s'il convient d'inclure des nombres, des symboles et des lettres majuscules. Lors de l'appel de l'API Secrets
Manager, incluez la zone password_generation_policy.
curl -X POST
-H "Authorization: Bearer {IAM_token}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"name": "example-username-password-secret",
"description": "Description of my user credentials secret",
"secret_type": "username_password",
"secret_group_id": "bfc0a4a9-3d58-4fda-945b-76756af516aa",
"labels": [
"dev",
"us-south"
],
"username": "example-username",
"password": "example-password",
"rotation": {
"auto_rotate": true,
"interval": 10,
"unit": "day"
},
"password_generation_policy": {
"length": 24,
"include_digits": true,
"include_symbols": false,
"include_uppercase": true
},
"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"
Ajout de données d'identification utilisateur à l'aide de Terraform
Vous pouvez stocker un nom d'utilisateur et un mot de passe à l'aide d'un programme en utilisant Terraform pour Secrets Manager.
Vous pouvez fournir un mot de passe en définissant l'argument facultatif password dans la configuration Terraform ou choisir de générer un mot de passe aléatoire. Si vous omettez l'argument password, Secrets Manager
génère un mot de passe aléatoire de 32 caractères qui contient des lettres majuscules, des lettres minuscules, des chiffres et des symboles. Vous pouvez choisir de personnaliser davantage le mot de passe généré en configurant sa longueur (12
à 256 caractères) et en indiquant s'il convient d'inclure des nombres, des symboles et des lettres majuscules.
Si vous configurez le secret avec une règle de rotation automatique, il est recommandé d'omettre l'argument password pour que le mot de passe initial soit également généré automatiquement. Cela permet d'éviter une situation de dérive
de Terraform, où après la rotation automatique, Terraform détecte que le mot de passe a été modifié en dehors de Terraform.
L'exemple suivant montre une requête que vous pouvez utiliser pour créer un nom d'utilisateur et un mot de passe secret avec un mot de passe généré de manière aléatoire et une rotation automatique activée. Cet exemple montre également comment spécifier une politique de génération de mot de passe autre que celle par défaut pour le secret.
resource "ibm_sm_username_password_secret" "test_username_password_secret" {
instance_id = local.instance_id
region = local.region
secret_group_id = "default"
name = "test-user-creds-secret"
username = "sm_username"
rotation {
auto_rotate = true
interval = 10
unit = "day"
}
password_generation_policy {
length = 24
include_digits = true
include_symbols = false
include_uppercase = true
}
}
L'exemple suivant montre une requête que vous pouvez utiliser pour créer un nom d'utilisateur et un mot de passe secret avec le mot de passe fourni dans la configuration de Terraform. La rotation automatique est désactivée dans cet exemple,
mais vous pouvez effectuer une rotation manuelle du mot de passe en modifiant la valeur de l'argument password dans la configuration.
resource "ibm_sm_username_password_secret" "test_username_password_secret" {
instance_id = local.instance_id
region = local.region
secret_group_id = "default"
name = "test-user-creds-secret"
username = "sm_username"
password = "sm_password"
}
Gérer les identifiants et les mots de passe de manière déclarative avec Terraform IBM Modules (TIM) pour Secrets Manager Secret. Explorez les modules Terraform IBM pour trouver des modèles.
Une réponse réussie 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, consultez la Référence des API.