Rotation automatique de secrets

Vous pouvez planifier la rotation automatique des secrets à l'aide de IBM Cloud® Secrets Manager.

Lorsque vous exécutez la rotation d'un secret dans votre instance de service, vous créez une nouvelle version de sa valeur. En planifiant la rotation automatique de vos secrets à intervalles réguliers, vous pouvez réduire la probabilité de compromission et faire en sorte que vos données d'identification n'arrivent jamais à expiration.

La rotation automatique n'est disponible que pour les secrets générés par Secrets Manager. Si le secret a été importé initialement, vous devez fournir de nouvelles données de secret pour effectuer sa rotation. Pour plus d'informations, voir Rotation manuelle des secrets.

Avant de commencer

Avant de commencer, vérifiez que vous disposez du niveau d'accès requis. Pour faire effectuer une rotation des secrets, vous devez utiliser le rôle de service Rédacteur ou supérieur.

Types de secret pris en charge

La rotation automatique est prise en charge pour les certificats privés, les certificats publics, les données d'identification utilisateur et les données d'identification IAM. Selon le type de secret, la rotation automatique s'effectue immédiatement à la date et à l'heure que vous avez définies, ou bien il peut être nécessaire de suivre quelques étapes supplémentaires avant qu'une nouvelle version du secret puisse être créée.

Explique comment Secrets Manager évalue la rotation manuelle par type de secret
Type Description de la rotation
Certificats privés La valeur certificate existante est remplacée par un nouveau contenu de certificat. La durée de vie (TTL) du certificat renouvelé est définie en fonction de la valeur du Modèle de certificat sélectionnée lors de la création du certificat. Il convient de noter qu’une fois que la durée de vie (TTL) ou la période de validité d’un certificat privé dépasse la période de validité de l’autorité de certification qui l’a émis, ce certificat ne peut plus faire l’objet d’une rotation automatique.
Certificats publics Les certificats publics passent à l'état Actif, Rotation en attente pour indiquer que la demande de renouvèlement du certificat est en cours de traitement. Secrets Manager utilise la validation DNS pour vérifier que vous possédez les domaines répertoriés dans le certificat. Cette opération peut prendre quelques minutes. Si la validation aboutit, un nouveau certificat est émis et son statut repasse à Actif. Dans le cas contraire, le certificat passe à l'état Actif, Rotation failed.
Données d'identification de l'utilisateur La valeur password existante est remplacée par un mot de passe de 32 caractères généré aléatoirement qui contient des lettres majuscules, des lettres minuscules, des chiffres et des symboles. La valeur username ne change pas.
Données d'identification IAM La valeur de la clé d'API de l'ID de service est remplacée par une nouvelle clé d'API. La clé d'API précédente reste disponible pendant le temps restant dans la durée de vie définie.
Données d'identification du service Le secret d'identification du service est remplacé par un nouveau. Le secret précédent reste disponible pendant la durée restante du TTL défini.
Données d'identification personnalisées Le secret d'identification personnalisé est remplacé par un nouveau. Le secret précédent reste disponible pendant la durée restante du TTL défini.

Notez que dans le cas des données d'identification de service créées pour les bases de données, si, en plus des données d'identification, vous modifiez également les droits d'accès à la base de données pour les données d'identification créées, celles-ci ne seront pas synchronisées une fois que les données d'identification de service ont été modifiées. Lors de la rotation des données d'identification d'un service de bases de données, il s'agit d'une rotation d'identité.

Planification de la rotation automatique dans l'interface utilisateur

Vous pouvez planifier la rotation automatique des secrets à l'aide de l'interface utilisateur Secrets Manager.

Définition d'une règle de rotation automatique pour les données d'identification de l'utilisateur

Si vous préférez planifier la rotation automatique de vos mots de passe à intervalles réguliers, vous pouvez activer la rotation automatique de vos données d'identification d'utilisateur lors de leur création. Vous pouvez également activer la rotation automatique en éditant les détails d'un secret existant.

Si vous avez besoin d'un contrôle plus poussé de la fréquence de rotation d'un secret, vous pouvez utiliser l'API Secrets Manager pour définir un intervalle personnalisé à l'aide d'unités de temps day ou month. Pour plus d'informations, voir Référence d'API.

  1. Si vous ajoutez un secret, activez l'option de rotation.
  2. Si vous modifiez un secret existant, activez la rotation automatique en mettant à jour ses détails.
    1. Dans le tableau Secrets, affichez une liste de vos secrets existants.
    2. Dans la ligne du secret que vous souhaitez modifier, cliquez sur l'icône du menu Actions Icône Actions > Editer les détails.
    3. Utilisez l'option Rotation automatique pour activer ou désactiver la rotation automatique du secret.

Lorsque vous mettez à jour les paramètres de rotation d'un secret, vous déclenchez une rotation immédiate.

Définition d'une règle de rotation automatique pour les certificats publics

Si vous préférez programmer le renouvellement automatique de vos certificats publics SSL / TLS, vous pouvez activer la rotation automatique des certificats lorsque vous les commandez. Vous pouvez également activer la rotation automatique en éditant les détails d'un certificat existant. Lors du prochain cycle de renouvellement du certificat, Secrets Manager commence à tenter de le renouveler 31 jours avant sa date d'expiration. Le service continue de tenter de renouveler le certificat tous les jours jusqu'à ce qu'il aboutisse.

  1. Si vous commandez un certificat public, activez les options de rotation.

    1. Pour effectuer une rotation automatique du certificat, basculez la rotation sur En fonction. Votre certificat est automatiquement recommandé 31 jours avant sa date d'expiration.
    2. Pour demander une nouvelle clé privée pour le certificat à chaque rotation, activez le bouton « Re-key ».
  2. Si vous modifiez un certificat public existant, planifiez la rotation automatique en mettant à jour ses détails.

    1. Dans le tableau Secrets , affichez une liste de vos certificats publics existants.
    2. Dans la ligne du certificat que vous souhaitez modifier, cliquez sur le menu Actions Icône Actions > Éditer les détails.
    3. Utilisez l'option Rotation automatique pour ajouter ou supprimer une règle de rotation pour le secret.

Définition d'une règle de rotation automatique pour les certificats privés

Si vous préférez planifier le renouvellement automatique de vos certificats SSL ou TLS privés, vous pouvez activer la rotation automatique des certificats lorsque vous les créez, ou en modifiant les détails d'un certificat existant. Le certificat doit

  1. Si vous créez des certificats privés, activez les options de rotation.

    1. Pour effectuer une rotation automatique du certificat, basculez la rotation sur En fonction.

    2. Sélectionnez un intervalle et une unité indiquant le nombre de jours entre les rotations planifiées.

      Selon le modèle de certificat associé à votre certificat privé, certaines restrictions de l'intervalle de rotation du certificat peuvent s'appliquer. Par exemple, l'intervalle de rotation ne peut pas dépasser la durée de vie (TTL) définie dans le modèle. Pour plus d'informations, voir Modèles de certificat.

  2. Si vous éditez un certificat privé existant, planifiez la rotation automatique en mettant à jour ses détails.

    1. Dans la table Secrets , affichez une liste de vos certificats privés existants.
    2. Dans la ligne du certificat que vous souhaitez modifier, cliquez sur le menu Actions Icône Actions > Éditer les détails.
    3. Utilisez l'option Rotation automatique pour ajouter ou supprimer une règle de rotation pour le secret.

Définition d'une politique de rotation automatique des identifiants IAM

Si vous préférez planifier la rotation automatique de votre clé d'API à intervalles réguliers, vous pouvez activer la rotation automatique de vos données d'identification IAM lors de leur création. Vous pouvez également activer la rotation automatique en éditant les détails d'un secret existant. Choisissez un intervalle de rotation de 30, 60 ou 90 jours.

Si vous avez besoin d'un contrôle plus poussé de la fréquence de rotation d'un secret, vous pouvez utiliser l'API Secrets Manager pour définir un intervalle personnalisé à l'aide d'unités de temps day ou month. Pour plus d'informations, voir Référence d'API.

  1. Si vous ajoutez un secret, activez l'option de rotation en sélectionnant un intervalle de rotation de 30, 60 ou 90 jours.
  2. Si vous modifiez un secret existant, activez la rotation automatique en mettant à jour ses détails.
    1. Dans le tableau Secrets, affichez une liste de vos secrets existants.
    2. Dans la ligne du secret que vous souhaitez modifier, cliquez sur l'icône du menu Actions Icône Actions > Editer les détails.
    3. Utilisez l'option Rotation automatique pour activer ou désactiver la rotation automatique du secret.

La rotation est disponible uniquement pour les données d'identification IAM où la clé de réutilisation est définie sur true. L'intervalle de rotation défini ne peut pas être supérieur à la durée de vie définie. Vous pouvez définir la durée de vie des secrets en utilisant des unités de temps minute, mais la rotation n'est pas disponible pour ces secrets.

Définition d'une politique de rotation automatique des identifiants de service

Si vous préférez planifier la rotation automatique du secret des références de service à intervalles réguliers, vous pouvez activer la rotation automatique des références de service lors de leur création. Vous pouvez également activer la rotation automatique en éditant les détails d'un secret existant. Choisissez un intervalle de rotation de 30, 60 ou 90 jours.

Si vous avez besoin d'un contrôle plus poussé de la fréquence de rotation d'un secret, vous pouvez utiliser l'API Secrets Manager pour définir un intervalle personnalisé à l'aide d'unités de temps day ou month. Pour plus d'informations, voir Référence d'API.

  1. Si vous ajoutez un secret, activez l'option de rotation en sélectionnant un intervalle de rotation de 30, 60 ou 90 jours.
  2. Si vous modifiez un secret existant, activez la rotation automatique en mettant à jour ses détails.
    1. Dans le tableau Secrets, affichez une liste de vos secrets existants.
    2. Dans la ligne du secret que vous souhaitez modifier, cliquez sur l'icône du menu Actions Icône Actions > Editer les détails.
    3. Utilisez l'option Rotation automatique pour activer ou désactiver la rotation automatique du secret.

Définition d'une politique de rotation automatique pour les identifiants personnalisés

Si vous préférez programmer la rotation automatique de votre secret custom_credentials à intervalles réguliers, vous pouvez activer la rotation automatique de votre secret custom_credentials lors de sa création. Vous pouvez également activer la rotation automatique en éditant les détails d'un secret existant. Choisissez un intervalle de rotation de 30, 60 ou 90 jours.

Si vous avez besoin d'un contrôle plus poussé de la fréquence de rotation d'un secret, vous pouvez utiliser l'API Secrets Manager pour définir un intervalle personnalisé à l'aide d'unités de temps day ou month. Pour plus d'informations, voir Référence d'API.

  1. Si vous ajoutez un secret, activez l'option de rotation en sélectionnant un intervalle de rotation de 30, 60 ou 90 jours.
  2. Si vous modifiez un secret existant, activez la rotation automatique en mettant à jour ses détails.
    1. Dans le tableau Secrets, affichez une liste de vos secrets existants.
    2. Dans la ligne du secret que vous souhaitez modifier, cliquez sur l'icône du menu Actions Icône Actions > Editer les détails.
    3. Utilisez l'option Rotation automatique pour activer ou désactiver la rotation automatique du secret.

Planification de la rotation automatique depuis l'interface de ligne de commande

Vous pouvez planifier la rotation automatique des secrets à l'aide du plug-in CLI « Secrets Manager ».

Définition d'une règle de rotation automatique pour les données d'identification de l'utilisateur

Planifiez la rotation automatique des données d'identification de l'utilisateur à l'aide de ibmcloud secrets-manager secret-metadata-update.

ibmcloud secrets-manager secret-metadata-update \
    --id=SECRET_ID \
    --rotation='{"auto_rotate": true,"interval": 30,"unit": "day"}'

Pour supprimer une règle, laissez le bloc de ressources vide.

Définition d'une règle de rotation automatique pour les certificats publics

Planifiez la rotation automatique des certificats publics à l'aide de ibmcloud secrets-manager secret-metadata-update.

ibmcloud secrets-manager secret-metadata-update \
    --id=SECRET_ID \
    --rotation='{"auto_rotate": true, "rotate_keys": true}'

Définition d'une règle de rotation automatique pour les certificats privés

Planifiez la rotation automatique des certificats privés à l'aide de ibmcloud secrets-manager secret-metadata-update.

ibmcloud secrets-manager secret-metadata-update \
    --id=SECRET_ID \
    --rotation='{"auto_rotate": true,"interval": 30,"unit": "day"}'

Définition d'une politique de rotation automatique des identifiants IAM

Planifiez la rotation automatique des données d'identification IAM à l'aide de ibmcloud secrets-manager secret-metadata-update.

ibmcloud secrets-manager secret-metadata-update \
    --id=SECRET_ID \
    --rotation='{"auto_rotate": true,"interval": 30,"unit": "day"}'

Pour supprimer une règle, laissez le bloc de ressources vide.

Définition d'une politique de rotation automatique des identifiants de service

Planifiez la rotation automatique des données d'identification du service à l'aide de ibmcloud secrets-manager secret-metadata-update.

ibmcloud secrets-manager secret-metadata-update \
    --id=SECRET_ID \
    --rotation='{"auto_rotate": true,"interval": 30,"unit": "day"}'

Pour supprimer une règle, laissez le bloc de ressources vide.

Définition d'une politique de rotation automatique pour les identifiants personnalisés

Planifiez la rotation automatique des informations d'identification personnalisées à l'aide de l'option ibmcloud secrets-manager secret-metadata-update.

ibmcloud secrets-manager secret-metadata-update \
    --id=SECRET_ID \
    --rotation='{"auto_rotate": true,"interval": 30,"unit": "day"}'

Pour supprimer une règle, laissez le bloc de ressources vide.

Planification de la rotation automatique avec l'API

Vous pouvez planifier la rotation automatique des secrets à l'aide de l'API Secrets Manager

Définition d'une règle de rotation automatique pour les données d'identification de l'utilisateur

L'exemple de demande suivant crée une règle de rotation automatique pour le secret des données d'identification d'un utilisateur (username_password). 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 PATCH
   -H "Authorization: Bearer {iam_token}" \
   -H "Accept: application/json" \
   -H 'Content-Type: application/merge-patch+json' \
   -d '{
            "rotation": {
               "auto_rotate": true,
               "interval": 1,
               "unit": "month"
            }
         }' \
      "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets/{id}/metadata"

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, voir la Référence des API.

Pour supprimer une règle, laissez le bloc de ressources vide.

Définition d'une règle de rotation automatique pour les certificats publics

Si vous préférez programmer le renouvellement automatique de vos certificats, vous pouvez activer la rotation automatique au moment où vous les commandez ou en modifiant les détails d'un certificat existant. Dans le cycle de rotation suivant du certificat, Secrets Manager commande à nouveau le certificat 31 jours avant son expiration.

Commande d'un certificat public à renouvellement automatique

L'exemple de demande suivant décrit la commande d'un certificat pour lequel la rotation automatique est activée. Lorsque vous appelez l'API, définissez la propriété auto_rotate sur true. En option, vous pouvez définir rotate_keys sur true pour demander une nouvelle clé privée pour le certificat à chaque rotation.

curl -X POST
   -H "Authorization: Bearer {iam_token}" \
   -H "Accept: application/json" \
   -H "Content-Type: application/json" \
   -d '{
         "custom_metadata": {
            "metadata_custom_key": "metadata_custom_value"
         },
         "rotation": {
            "auto_rotate": true,
            "rotate_keys": true
         },
         "version_custom_metadata": {
            "custom_version_key": "custom_version_value"
         }
      }' \
   "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets"

Une réponse réussie renvoie la valeur d'ID du certificat, 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.

Définition d'une politique de rotation automatique des identifiants IAM

La requête suivante permet de créer une politique de rotation automatique pour un secret de credentials IAM (iam_credentials). 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 PATCH
   -H "Authorization: Bearer {iam_token}" \
   -H "Accept: application/json" \
   -H 'Content-Type: application/merge-patch+json' \
   -d '{
          "rotation": {
            "auto_rotate": true,
            "interval": 30,
            "unit": "day"
          }
         }' \
      "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets/{id}/metadata"

Pour supprimer une règle, laissez le bloc de ressources vide.

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, voir la Référence des API.

L'intervalle de rotation défini ne peut pas être supérieur à la durée de vie définie. La rotation est disponible uniquement pour les données d'identification IAM où la clé de réutilisation est définie sur true. Vous pouvez définir la durée de vie des secrets en utilisant des unités de temps minute, mais la rotation n'est pas disponible pour ces secrets.

Définition d'une politique de rotation automatique des identifiants de service

La requête suivante permet de créer une politique de rotation automatique pour un secret de type « identifiant de service » (service_credentials). 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 PATCH
   -H "Authorization: Bearer {iam_token}" \
   -H "Accept: application/json" \
   -H 'Content-Type: application/merge-patch+json' \
   -d '{
          "rotation": {
            "auto_rotate": true,
            "interval": 30,
            "unit": "day"
          }
         }' \
      "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets/{id}/metadata"

Pour supprimer une règle, laissez le bloc de ressources vide.

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, voir la Référence des API.

L'intervalle de rotation défini ne peut pas être supérieur à la durée de vie définie.

Définition d'une politique de rotation automatique pour les identifiants personnalisés

L'exemple de requête suivant permet de créer une politique de rotation automatique pour un secret de type « custom_credentials ». 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 PATCH
   -H "Authorization: Bearer {iam_token}" \
   -H "Accept: application/json" \
   -H 'Content-Type: application/merge-patch+json' \
   -d '{
          "rotation": {
            "auto_rotate": true,
            "interval": 30,
            "unit": "day"
          }
         }' \
      "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets/{id}/metadata"

Pour supprimer une règle, laissez le bloc de ressources vide.

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, voir la Référence des API.

L'intervalle de rotation défini ne peut pas être supérieur à la durée de vie définie.

Mise à jour de l'intervalle d'auto-rotation

Lorsque l'intervalle de rotation automatique d'un secret est mis à jour, Secrets Manager vérifie que la version actuelle du secret restera valide jusqu'à la prochaine rotation prévue.

Cette validation s'applique aux types de secrets dont l'expiration est basée sur la durée de vie (TTL):

Si la version actuelle arrive à expiration avant la prochaine rotation prévue, la mise à jour de l'intervalle de rotation automatique est rejetée afin d'éviter que le secret n'expire avant d'avoir pu être renouvelé. Si la validation échoue, la méthode Secrets Manager renvoie l'erreur « Error02009 », ce qui indique que la version actuelle du secret expirerait avant la prochaine rotation prévue.

Par exemple, si la version actuelle expire dans 3 jours et que vous définissez un intervalle de rotation automatique de 60 jours, la mise à jour est refusée car la version expirerait avant la prochaine rotation.

Dans ce cas, la version actuelle expirerait avant la prochaine rotation; la mise à jour n'est donc pas autorisée.

Résolution des conflits liés à la mise à jour de l'intervalle d'autorotation

Pour résoudre ce problème, assurez-vous que la version actuelle du secret reste valide au-delà de la prochaine date de rotation prévue. En fonction du type de secret et de votre configuration, vous pouvez :

  • Faites tourner le secret pour créer une nouvelle version dont la date d'expiration est postérieure.
  • Mettez à jour la durée de vie (TTL) du secret (si nécessaire) et procédez à la rotation du secret afin que la version actuellement active reste valide au-delà de la prochaine date de rotation prévue.

Une fois que la date d'expiration de la version actuelle s'étend au-delà de la prochaine date de rotation prévue, l'intervalle de rotation automatique peut être mis à jour sans problème.