Rotation des clés de compte de service

Les clés de compte de service sont des clés privées qui vous permettent de vous authentifier en tant que compte de service. La rotation des clés consiste à remplacer vos clés existantes par de nouvelles clés, puis à invalider les clés remplacées. Nous vous recommandons d'alterner régulièrement toutes les clés que vous gérez, y compris vos clés de compte de service.

La rotation des clés de compte de service permet de réduire le risque lié aux fuites ou au vol des clés. En cas de fuite d'une clé, l'identification de la clé par les acteurs mal intentionnés peut prendre plusieurs jours, voire plusieurs semaines. Si vous effectuez régulièrement une rotation des clés de votre compte de service, il est plus probable que les clés compromises ne soient pas valides au moment où un acteur malintentionné les récupère.

Disposer d'un processus établi pour la rotation des clés de compte de service vous permet également d'agir rapidement si vous pensez qu'une clé de compte de service a été compromise.

Fréquence de rotation des clés

Nous vous recommandons d'effectuer une rotation de vos clés au moins tous les 90 jours afin de réduire le risque de fuite de clés.

Si vous pensez qu'une clé de compte de service a été compromise, nous vous recommandons de l'alterner immédiatement.

Processus de rotation des clés

Pour effectuer la rotation des clés de compte de service, procédez comme suit :

  1. Identifiez les clés de compte de service à alterner.
  2. Créez des clés pour les mêmes comptes de service.
  3. Remplacez les clés existantes par les nouvelles clés dans toutes les applications.
  4. Désactivez les clés remplacées et surveillez les applications pour vérifier qu'elles fonctionnent comme prévu.
  5. Supprimez les clés de compte de service qui ont été remplacées.

Vous pouvez effectuer ces étapes à l'aide d'un service de gestion des secrets centralisé ou d'un système de notification personnalisé.

Service centralisé de gestion des secrets

De nombreux services de gestion des secrets centralisés, tels que HashiCorp Vault, proposent une rotation automatique des secrets. Vous pouvez utiliser ces services pour stocker et alterner vos clés de compte de service.

Nous vous déconseillons d'utiliser Secret Manager de Google Cloud pour stocker et alterner les clés de compte de service. En effet, pour accéder aux secrets de Secret Manager, votre application doit disposer d'une identité que Google Cloud peut reconnaître. Si votre application dispose déjà d'une identité que Google Cloud peut reconnaître, elle peut s'authentifier auprès de Google Cloud à l'aide de cette identité au lieu d'utiliser une clé de compte de service.

Le même concept s'applique à d'autres services de gestion de secrets basés sur le cloud, tels qu'Azure KeyVault et AWS Secret Manager. Si une application dispose déjà d'une identité que ces fournisseurs cloud peuvent reconnaître, elle pourra s'authentifier auprès de Google Cloud au lieu d'utiliser une clé de compte de service.

Système de notification personnalisé

Une autre approche pour effectuer une rotation des clés de compte de service consiste à créer un système qui envoie des notifications lorsque des clés doivent être alternées. Par exemple, vous pouvez créer un système qui envoie des alertes lorsqu'il détecte des clés créées il y a plus de 90 jours.

Tout d'abord, vous devez identifier les clés à alterner. Pour identifier ces clés, nous vous recommandons d'utiliser l'inventaire des éléments cloud afin de rechercher toutes les clés de compte de service créées avant une certaine heure.

Par exemple, la commande suivante répertorie toutes les clés de compte de service créées avant le 2023-03-10 00:00:00 UTC dans l'organisation avec l'ID 123456789012 :

gcloud asset search-all-resources \
    --scope="organizations/123456789012" \
    --query="createTime < 2023-03-10" \
    --asset-types="iam.googleapis.com/ServiceAccountKey" \
    --order-by="createTime"

Pour découvrir comment rechercher des ressources dans l'inventaire des éléments cloud, consultez la page Rechercher des ressources. Après avoir identifié les clés à alterner, vous pouvez envoyer des notifications aux équipes appropriées.

Lorsqu'un utilisateur est informé de la rotation d'une clé, il doit effectuer les opérations suivantes :

  1. Créer une clé pour le même compte de service.
  2. Remplacer la clé existante par la nouvelle clé dans toutes les applications.
  3. Désactiver la clé qui a été remplacée et surveiller les applications pour vérifier qu'elles fonctionnent comme prévu.
  4. Après avoir vérifié le bon fonctionnement des applications fonctionnent comme prévu, supprimer la clé remplacée.

Expiration des clés de compte de service

Nous vous déconseillons d'utiliser des clés de compte de service arrivant à expiration pour la rotation des clés. En effet, les clés arrivant à expiration peuvent entraîner des pannes si elles ne sont pas alternées correctement. Pour en savoir plus sur les cas d'utilisation des clés de compte de service arrivant à expiration, consultez la section Délais d'expiration des clés gérées par l'utilisateur.

Étapes suivantes