Tous les produits
Search
Centre de documentation

Key Management Service:Gérer et utiliser les secrets ApsaraDB RDS

Dernière mise à jour :Sep 18, 2026

Les applications métier stockent généralement les mots de passe des comptes de base de données dans le code ou les fichiers de configuration, ce qui présente un risque de fuite. En déléguant la gestion des mots de passe des comptes RDS aux secrets KMS, les applications peuvent récupérer dynamiquement les valeurs des mots de passe via le SDK et prendre en charge la rotation automatique, réduisant ainsi efficacement le risque de fuite de secrets.

Fonctionnement

Avec les secrets RDS, les applications n'ont pas besoin d'intégrer en dur les identifiants de base de données dans le code ou les fichiers de configuration. Une fois qu'un administrateur a créé un secret RDS dans KMS, l'application appelle l'opération API GetSecretValue pour récupérer les informations du compte et du mot de passe de la base de données afin d'accéder à la base de données RDS. Voici quelques cas d'utilisation courants :

  • Accès aux bases de données des applications cloud : Les applications déployées sur des services Alibaba Cloud tels que ECS ou ACK nécessitent une gestion centralisée des identifiants d'accès à la base de données, évitant ainsi une gestion dispersée sur plusieurs instances.

  • Exigences régulières de conformité en matière de sécurité : Les politiques de sécurité des entreprises imposent une rotation régulière des mots de passe des bases de données. La rotation automatique via les secrets KMS répond aux exigences d'audit de conformité.

  • Gestion des identifiants multi-environnements : Les environnements de production, de test et de développement nécessitent des identifiants d'accès à la base de données isolés. Utilisez les tags de secret pour gérer les identifiants par dimension.

Important

Après avoir stocké les identifiants RDS dans KMS, ne modifiez pas et ne supprimez pas les identifiants dans ApsaraDB RDS afin d'éviter toute interruption de service.

image

Avant de commencer

  • Bases de données prises en charge : ApsaraDB RDS for MySQL, ApsaraDB RDS for MariaDB, ApsaraDB RDS for SQL Server (à l'exception de l'édition Cluster 2017) et ApsaraDB RDS for PostgreSQL.

  • Préparation de la clé KMS : Vous devez créer une clé symétrique dans l'instance KMS pour le chiffrement. La clé doit résider dans la même instance que le secret. Pour plus d'informations, reportez-vous à Gérer les autorisations des utilisateurs RAM.

  • Autorisations RAM : Si vous utilisez un utilisateur RAM ou un rôle RAM, le compte Alibaba Cloud doit attacher la stratégie système AliyunKMSSecretAdminAccess à l'utilisateur RAM ou au rôle RAM. Pour plus d'informations, reportez-vous à Accorder des autorisations à un rôle RAM ou Gérer les autorisations des utilisateurs RAM.

  • Limites d'utilisation : Ne déléguez pas le même compte de base de données RDS à plusieurs secrets RDS. Lors de la rotation des secrets, le mot de passe change, ce qui entraîne la détention d'un mot de passe obsolète par les autres secrets pour le même compte et provoque des échecs de connexion.

Créer un secret RDS

Vous pouvez configurer une rotation périodique automatique lors de la création d'un identifiant afin de réduire le risque de sécurité lié aux fuites d'identifiants.

  1. Connectez-vous à la console Key Management Service. Dans la barre de navigation supérieure, sélectionnez une région. Dans le volet de navigation de gauche, choisissez Resources > Secrets.

  2. Cliquez sur l'onglet Database Secrets, sélectionnez un Instance ID, puis cliquez sur Create Secret > Create Single Secret. Configurez les paramètres et cliquez sur Confirm.

    Remarque
    • Les secrets RDS ne prennent pas en charge la création par lot.

    • Nous vous recommandons d'activer la rotation automatique des secrets régulièrement afin de réduire le risque de fuite de secrets.

    Paramètre

    Description

    Database Type

    Sélectionnez ApsaraDB RDS Secrets.

    Secret Name

    Un nom d'identifiant personnalisé. Doit être unique dans la région actuelle.

    ApsaraDB RDS Instance

    Sélectionnez une instance RDS sous votre compte Alibaba Cloud.

    Account Management

    • Manage Dual Accounts (Recommandé) : Convient pour l'accès programmatique à la base de données. KMS gère deux comptes avec des autorisations identiques pour éviter toute interruption de connexion pendant la rotation.

      • Cliquez sur Create Account pour configurer le nom du compte, sélectionner une base de données et spécifier les autorisations.

        Remarque
        • La création et l'autorisation en un clic ne créent pas immédiatement le nouveau compte. Le compte est créé après que vous avez examiné et confirmé les informations d'identification.

        • Pour RDS PostgreSQL, vous ne pouvez pas obtenir le nom de la base de données lors de la création. Vous devez définir manuellement DBName.

      • Cliquez sur Import Existing Accounts pour sélectionner un nom d'utilisateur et configurer le mot de passe.

        Remarque

        Nous vous recommandons de définir le mot de passe sur celui utilisé lors de la création du compte utilisateur de l'instance RDS. Si le nom d'utilisateur et le mot de passe importés ne correspondent pas, vous pouvez obtenir le compte et le mot de passe corrects après la première rotation des identifiants.

    • Manage Single Account : Convient pour les comptes privilégiés ou les scénarios d'hébergement de comptes O&M manuels. La version actuelle de l'identifiant peut être temporairement indisponible immédiatement après la réinitialisation du mot de passe.

      • Cliquez sur Create Account pour configurer le nom du compte et sélectionner le type de compte.

        Prend en charge Standard Account et Privileged Account. Lorsque vous sélectionnez Standard Account, vous devez également sélectionner une base de données et spécifier les autorisations.

      • Cliquez sur l'onglet Import Existing Accounts pour sélectionner un nom d'utilisateur et configurer le mot de passe.

    CMK

    Sélectionnez la clé symétrique utilisée pour chiffrer la valeur de l'identifiant. La clé et l'identifiant doivent appartenir à la même instance KMS.

    Important
    • La clé et l'identifiant doivent appartenir à la même instance KMS, et la clé doit être une clé symétrique. Pour plus d'informations sur les clés symétriques prises en charge par KMS, reportez-vous à Types et spécifications de clés.

    • Si un utilisateur RAM ou un rôle RAM est utilisé, il doit disposer des autorisations pour effectuer l'opération GenerateDataKey à l'aide de la clé maître de chiffrement.

    Tags

    Ajoutez des tags à l'identifiant pour la classification. Chaque tag se compose d'une paire clé-valeur.

    Remarque
    • Format d'une clé de tag et d'une valeur de tag : Une clé de tag ou une valeur de tag peut contenir jusqu'à 128 caractères et peut inclure des lettres, des chiffres, des barres obliques (/), des barres obliques inverses (\), des traits de soulignement (_), des traits d'union (-), des points (.), des signes plus (+), des signes égal (=), des deux-points (:), des signes at (@) et des espaces.

    • Une clé de tag ne peut pas commencer par aliyun ou acs:.

    • Chaque identifiant prend en charge jusqu'à 20 paires clé-valeur de tag.

    Automatic Rotation

    Sélectionnez si vous souhaitez activer la rotation automatique. Lorsqu'elle est activée, KMS met à jour périodiquement la valeur de l'identifiant pour réduire le risque de fuite d'identifiants.

    Rotation Period

    Définissez ce paramètre uniquement lorsque la rotation automatique est activée. Valeurs valides : de 6 heures à 365 jours.

    Spécifie l'intervalle de rotation. KMS met à jour périodiquement la valeur de l'identifiant en fonction de ce paramètre.

    Description

    Une description facultative de l'identifiant pour l'identification et la gestion.

    Advanced Settings > Policy Settings

    Définissez la politique d'accès pour l'identifiant afin de contrôler quels utilisateurs ou rôles RAM peuvent le lire ou le modifier.

    Vous pouvez d'abord sélectionner la stratégie par défaut et la modifier ultérieurement selon vos besoins.

  3. Après la création, vérifiez que le nouveau secret apparaît dans la liste des identifiants de base de données avec le statut Normal.

    Remarque

    Le système crée automatiquement le rôle lié au service AliyunServiceRoleForKMSSecretsManagerForRDS et attache la stratégie AliyunServiceRolePolicyForKMSSecretsManagerForRDS. KMS utilise ce rôle pour gérer les secrets RDS, y compris la rotation des mots de passe des comptes RDS.

Gérer les secrets RDS

Rotation des secrets RDS

Mécanisme de rotation des secrets RDS

KMS prend en charge la rotation automatique des mots de passe pour les instances ApsaraDB RDS associées. Pendant la rotation, KMS réinitialise le mot de passe du compte RDS correspondant tout en conservant le nom du compte inchangé.

  • Modes de rotation : KMS prend en charge les modes de gestion à compte unique et à double compte pour les secrets RDS.

    Élément de comparaison

    Gestion à compte unique

    Gestion à double compte

    Scénario

    Scénarios simples où les applications tolèrent de brèves interruptions.

    Scénarios de haute disponibilité qui nécessitent une continuité d'activité élevée pour les applications principales.

    Principe de rotation

    Génère un nouveau mot de passe pour le compte pendant la rotation.

    Maintient deux comptes alternés (Utilisateur A et Utilisateur B).

    Disponibilité

    Présente une brève fenêtre d'indisponibilité : lors du changement de mot de passe, l'ancien identifiant devient invalide avant que le nouveau ne prenne pleinement effet, ce qui peut provoquer des échecs de connexion temporaires. Nous vous recommandons de configurer une politique de nouvelle tentative pour vos applications.

    Totalement disponible tout au long de la rotation : pendant la rotation, les identifiants d'un compte restent toujours valides, rendant le processus transparent pour vos applications.

  • Organigramme de rotation à double compte : Lorsque vous créez un secret, le mot de passe du compte RDS pour le premier utilisateur existe déjà. Lors de la première rotation, KMS appelle l'API RDS pour créer le mot de passe du compte pour le deuxième utilisateur. Lors de la deuxième rotation, KMS modifie le mot de passe du premier utilisateur. Lors des rotations suivantes, KMS modifie alternativement les mots de passe des deux utilisateurs.

    image

Précautions

  • Confirmer l'intégration de l'application : Avant la rotation, assurez-vous que toutes les applications métier sont configurées pour récupérer dynamiquement les identifiants depuis KMS. Si les applications ont intégré en dur l'ancien mot de passe, la rotation entraînera des échecs de connexion.

  • Vérifier l'état des ressources : Nous vous recommandons d'utiliser la fonctionnalité avant la rotation pour vérifier que l'instance RDS et le compte associés au secret existent et sont en état normal.

  • Ne pas supprimer les ressources : Pendant ou après l'activation de la configuration de rotation, ne supprimez pas l'instance RDS associée ou le compte de base de données. Sinon, la tâche de rotation échouera.

Procédure

La configuration d'une rotation automatique périodique des identifiants réduit efficacement le risque de fuite causé par l'absence de mises à jour à long terme. De plus, la console prend en charge la rotation manuelle immédiate, permettant une réponse rapide aux incidents de sécurité et une atténuation rapide des menaces potentielles.

  1. Connectez-vous à la console Key Management Service. Dans la barre de navigation supérieure, sélectionnez une région. Dans le volet de navigation de gauche, choisissez Resources > Secrets.

  2. Cliquez sur l'onglet Database Secrets, sélectionnez un Instance ID, recherchez le secret à faire tourner, puis cliquez sur Details dans la colonne Actions.

  3. Dans la section Versions en bas de la page des détails du secret, cliquez sur Configure Rotation.

    • Rotation automatique planifiée : Activez cette fonctionnalité et sélectionnez une période de rotation. Vous pouvez définir ce paramètre sur une valeur comprise entre 6 heures et 365 jours.

      Remarque

      Lors de la création d'un secret, il est possible d'activer la rotation automatique et de définir la Rotation Period.

    • Faire tourner maintenant : Déclenchez manuellement une rotation immédiate.

Vérifier le compte du secret

KMS vérifie si le compte de base de données RDS protégé par le secret appartient à l'instance RDS configurée. Si la vérification réussit, le secret peut être tourné normalement. Sinon, supprimez le secret et créez un nouveau secret RDS.

  1. Connectez-vous à la console Key Management Service. Dans la barre de navigation supérieure, sélectionnez une région. Dans le volet de navigation de gauche, choisissez Resources > Secrets.

  2. Cliquez sur l'onglet Database Secrets, sélectionnez un Instance ID, recherchez le secret cible, puis cliquez sur Details dans la colonne Actions.

  3. Dans la section Versions, cliquez sur Check Account. Une fois la vérification terminée, consultez le résultat.

Configurer le nom de la base de données (DBName)

Après la création d'un secret RDS, si vous devez modifier le nom de la base de données RDS associée, spécifiez le DBName correct dans la section Extended Configurations. Pour ce faire :

Important

Pour RDS PostgreSQL, vous devez ajouter manuellement le champ DBName. Sinon, le secret RDS ne pourra pas être utilisé.

  1. Connectez-vous à la console Key Management Service. Dans la barre de navigation supérieure, sélectionnez une région. Dans le volet de navigation de gauche, choisissez Resources > Secrets.

  2. Dans l'onglet Customer-managed Secrets, sélectionnez Database Secrets, sélectionnez l'instance KMS cible, puis cliquez sur Details dans la colonne Actions pour le secret cible.

  3. Dans l'onglet Extended Configurations, cliquez sur Edit dans la colonne Actions pour CustomData.

  4. Dans la boîte de dialogue Edit Custom Data, cliquez sur Add Key-value Pair et configurez les éléments suivants :

    Remarque

    Si une paire clé-valeur DBName existe déjà, modifiez la valeur Value.

    • Key : Saisissez DBName.

    • Value : Saisissez le nom de la base de données de l'instance RDS cible. Vous pouvez obtenir ce nom en vous connectant à la console RDS et en accédant à la page des détails de l'instance.

Configurer les tags d'identifiants

Vous pouvez attribuer des tags aux identifiants pour les organiser et les gérer. Chaque tag se compose d'une paire clé-valeur (Key : Value), comprenant une clé de tag (Key) et une valeur de tag (Value).

Notes d'utilisation des tags

  • Une clé de tag ou une valeur de tag peut contenir jusqu'à 128 caractères, y compris des lettres, des chiffres, des barres obliques (/), des barres obliques inverses (\), des traits de soulignement (_), des traits d'union (-), des points (.), des signes plus (+), des signes égal (=), des deux-points (:), des signes at (@) et des espaces.

  • Une clé de tag ne peut pas commencer par aliyun ou acs:. Cette restriction ne s'applique pas aux valeurs de tag.

  • Chaque identifiant peut avoir jusqu'à 20 tags.

Procédures

Taguer un seul identifiant

  1. Connectez-vous à la console Key Management Service. Dans la barre de navigation supérieure, sélectionnez une région. Dans le volet de navigation de gauche, choisissez Resources > Secrets.

  2. Cliquez sur l'onglet correspondant au type d'identifiant, sélectionnez un Instance ID, et localisez l'identifiant cible.

  3. Ouvrez l'éditeur de tags en utilisant l'une des méthodes suivantes :

    • Méthode 1 : Dans la liste des identifiants, cliquez sur l'icône image.png dans la colonne Tags pour l'identifiant cible.

    • Méthode 2 : Cliquez sur Actions > Details pour accéder à la page des détails de l'identifiant, puis cliquez sur l'icône image.png à côté de Tag.

  4. Dans la boîte de dialogue Edit Tag, saisissez la Tag Key et la Tag Value, puis cliquez sur OK.

Taguer plusieurs identifiants en masse

  1. Connectez-vous à la console Key Management Service. Dans la barre de navigation supérieure, sélectionnez une région. Dans le volet de navigation de gauche, choisissez Resources > Secrets.

  2. Cliquez sur l'onglet correspondant au type d'identifiant, sélectionnez un Instance ID, et sélectionnez les identifiants sur lesquels opérer dans la liste des identifiants.

    • Ajouter des tags : En bas de la liste des identifiants, cliquez sur Add Tag, saisissez la Tag Key et la Tag Value, puis cliquez sur OK.

    • Supprimer des tags : En bas de la liste des identifiants, cliquez sur Remove Tag, sélectionnez les tags à dissocier dans la boîte de dialogue Batch Remove, cliquez sur Cancel, puis cliquez sur Close dans la boîte de dialogue de confirmation.

Supprimer un secret RDS

Avertissement

Avant de supprimer un secret, assurez-vous qu'il n'est plus utilisé afin d'éviter les pannes de service.

Vous pouvez planifier une suppression ou supprimer immédiatement un secret dont vous n'avez plus besoin. La suppression d'un secret RDS ne retire que les informations du secret de KMS et n'affecte pas le compte correspondant ni son mot de passe dans RDS.

  1. Connectez-vous à la console Key Management Service. Dans la barre de navigation supérieure, sélectionnez une région. Dans le volet de navigation de gauche, choisissez Resources > Secrets.

  2. Cliquez sur l'onglet Database Secrets, sélectionnez un Instance ID, recherchez le secret que vous souhaitez supprimer, puis cliquez sur Schedule Deletion dans la colonne Actions.

  3. Dans la boîte de dialogue Schedule Deletion, sélectionnez une méthode de suppression pour le secret et cliquez sur OK.

    • Schedule Deletion : Spécifiez une période de récupération de 7 à 30 jours. Le système supprime le secret à la fin de la période de récupération.

    • Delete Immediately : Le système supprime immédiatement le secret.

    Pendant la période de récupération, vous pouvez trouver le secret et cliquer sur Restore Secret dans la colonne Actions pour annuler la suppression.

Intégrer les secrets RDS dans les applications

KMS fournit diverses méthodes pour obtenir les valeurs des secrets RDS. Sélectionnez une méthode en fonction des priorités suivantes. Pour les étapes d'intégration détaillées, reportez-vous à la documentation dédiée liée pour chaque méthode.

Priorité

Cas d'utilisation

Type de passerelle pris en charge

Priorité 1 : Client JDBC Secret

  • L'application est développée en Java 8 ou version ultérieure.

  • Le type de base de données est MySQL, SQL Server, PostgreSQL ou MariaDB.

Remarque

Le client JDBC Secret encapsule la logique métier, les meilleures pratiques et les modèles de conception. Il gère directement l'authentification pour les connexions à la base de données et fournit l'accès à la base de données via des interfaces JDBC standard.

Passerelle partagée / Passerelle dédiée

Priorité 2 : Client Secret

L'application est développée en Java (Java 8 ou version ultérieure), Go ou Python.

Passerelle partagée / Passerelle dédiée

Priorité 3 : SDK Alibaba Cloud

L'application est développée en Java (Java 6 ou version ultérieure), PHP, Go, Python, .NET (C# uniquement), C++ ou Node.js.

Passerelle dédiée (recommandée) / Passerelle partagée

Priorité 4 : Agent KMS

  • Convient au déploiement centralisé d'applications nécessitant un accès à grande échelle à KMS.

  • KMS Agent fournit des services basés sur des API HTTP standard, prenant en charge les applications métier développées dans n'importe quel langage de programmation.

Passerelle dédiée (recommandée) / Passerelle partagée

Priorité 5 : SDK d'instance KMS (non recommandé)

L'application est développée en Java (Java 8 ou version ultérieure), PHP, Go, Python ou .NET (C# uniquement).

Passerelle dédiée

FAQ

Rotation des secrets

  • La rotation échoue avec le message « Your secret is being rotated. Try again later. » ?

    Type de secret

    Cause possible

    Secret RAM

    Le secret RAM est en cours de rotation.

    La rotation des secrets RAM prend du temps pour se terminer dans une fenêtre de rotation. La fenêtre de rotation pour la rotation automatique est d'environ 48 heures. La fenêtre de rotation pour la rotation manuelle correspond à la durée que vous avez définie.

    Si la rotation n'est pas terminée dans la fenêtre de rotation, vérifiez si l'utilisateur RAM existe toujours dans la console RAM.

    Secret RDS

    Normalement, la rotation des secrets RDS se termine instantanément. Si la rotation ne se termine pas dans les 2 minutes, vérifiez si l'instance RDS et le compte RDS sont en état normal.

    Secret ECS

    Normalement, la rotation des secrets ECS se termine instantanément. Si la rotation ne se termine pas dans les 2 minutes, vérifiez si l'instance ECS et le compte ECS sont en état normal.

  • Le statut du secret indique « indisponible » ou les appels API renvoient « Rejected.Unavailable » ?

    L'instance KMS a expiré. Renouvelez l'instance KMS dans les 15 jours calendaires suivant l'expiration, sinon l'instance sera libérée. Pour plus d'informations, reportez-vous à Facturation.

    Si vous ne prévoyez pas d'utiliser l'instance KMS pour le moment mais que vous pourriez avoir besoin des clés ou des secrets de l'instance plus tard, nous vous recommandons de les sauvegarder à l'avance. Pour plus d'informations, reportez-vous à Gestion des sauvegardes KMS.

Configuration des secrets

  • Pourquoi un secret RDS PostgreSQL ne fonctionne-t-il pas ?

    RDS PostgreSQL ne remplit pas automatiquement le champ DBName. Vous devez l'ajouter manuellement dans les configurations étendues lors de la création du secret. Pour plus d'informations, reportez-vous à Gérer et utiliser les secrets ApsaraDB RDS.

  • Le même compte RDS peut-il être délégué à plusieurs secrets ?

    Non recommandé. Chaque secret tourne indépendamment, ce qui change le mot de passe. Si plusieurs secrets référencent le même compte, la rotation de l'un d'eux entraîne la détention d'identifiants obsolètes par les autres et provoque l'échec des tentatives de connexion. Au lieu de cela, faites en sorte que plusieurs applications récupèrent les identifiants à partir du même secret et utilisez les stratégies RAM pour contrôler l'accès.

Autorisations et gestion

  • Quelle est la différence entre la suppression d'un secret dans KMS et la suppression d'un compte dans RDS ?

    La suppression d'un secret dans KMS ne retire que les informations d'identification chiffrées et n'affecte pas le compte RDS réel. La suppression d'un compte dans RDS invalide le mot de passe stocké dans le secret KMS et provoque l'échec de la rotation.

  • À quoi servent les tags de secret ?

    Les tags permettent une gestion catégorisée et une récupération rapide des secrets par environnement, projet ou autres dimensions. Combinés aux stratégies RAM, les tags peuvent également implémenter un contrôle d'accès basé sur les tags. Planifiez votre stratégie de tagging lors de la création des secrets.