Cette page explique comment désactiver et activer les clés de compte de service à l'aide de la consoleCloud de Confiance , de Google Cloud CLI, de l'API Identity and Access Management ou de l'une des bibliothèques clientes Google Cloud.
Avant de commencer
Activez l'API IAM.
Rôles requis pour activer les API
Pour activer les API, vous avez besoin du rôle IAM Administrateur Service Usage (
roles/serviceusage.serviceUsageAdmin), qui contient l'autorisationserviceusage.services.enable. Découvrez comment attribuer des rôles.Configurez l'authentification.
Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :
gcloud
Installez la Google Cloud CLI, puis connectez-vous à la gcloud CLI avec votre identité fédérée. Après vous être connecté, initialisez la Google Cloud CLI en exécutant la commande suivante :
gcloud initJava
Pour utiliser les exemples Java de cette page dans un environnement de développement local, installez et initialisez la gcloud CLI, puis configurez les Identifiants par défaut de l'application avec vos identifiants utilisateur.
-
Installez la Google Cloud CLI.
-
Configurez la gcloud CLI afin d'utiliser votre identité fédérée.
Pour en savoir plus, consultez Se connecter à la gcloud CLI avec votre identité fédérée.
-
Créez des identifiants d'authentification locaux pour votre compte utilisateur :
gcloud auth application-default login
Si une erreur d'authentification est renvoyée et que vous utilisez un fournisseur d'identité (IdP) externe, vérifiez que vous vous êtes connecté à la gcloud CLI avec votre identité fédérée.
Pour en savoir plus, consultez Configurer les ADC pour un environnement de développement local dans la documentation sur l'authentification Cloud de Confiance .
REST
Pour utiliser les exemples API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à la gcloud CLI.
Installez la Google Cloud CLI, puis connectez-vous à la gcloud CLI avec votre identité fédérée.
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Cloud de Confiance .
-
Comprendre les identifiants de compte de service
Rôles requis
Pour obtenir les autorisations nécessaires pour désactiver et activer des clés de compte de service, demandez à votre administrateur de vous attribuer le rôle IAM Administrateur de clés de compte de service (roles/iam.serviceAccountKeyAdmin) sur le projet, ou sur le compte de service dont vous souhaitez gérer les clés.
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.
Les rôles de base IAM contiennent également les autorisations nécessaires pour gérer les clés de compte de service. Les rôles de base ne doivent pas être attribués dans un environnement de production, mais ils peuvent être attribués dans un environnement de développement ou de test.
Désactiver une clé de compte de service
La désactivation d'une clé de compte de service vous empêche d'utiliser la clé pour vous authentifier auprès des API Google. Vous pouvez réactiver une clé désactivée à tout moment.
Avant de supprimer une clé de compte de service, nous vous recommandons de la désactiver, puis de vous assurer qu'elle n'est plus nécessaire. Vous pouvez ensuite la supprimer.
Vous pouvez afficher les clés désactivées dans la console Cloud de Confiance , mais vous ne pouvez pas utiliser la consoleCloud de Confiance pour les désactiver. Utilisez plutôt la CLI gcloud ou l'API REST.
gcloud
Exécutez la commande gcloud iam service-accounts keys disable pour désactiver un compte de service.
Remplacez les valeurs suivantes :
KEY_ID: ID de la clé à désactiver. Pour trouver l'ID de la clé, répertoriez toutes les clés du compte de service, identifiez la clé que vous souhaitez désactiver, puis copiez son ID.SA_NAME: nom du compte de service auquel appartient la clé.PROJECT_ID: ID de votre projet Cloud de Confiance .
gcloud iam service-accounts keys disable KEY_ID \ --iam-account=SA_NAME@PROJECT_ID.s3ns.iam.gserviceaccount.com \ --project=PROJECT_ID
Résultat :
Disabled key [KEY_ID] for service account [SA_NAME@PROJECT_ID.s3ns.iam.gserviceaccount.com]
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Java.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour plus d'informations, consultez la section Avant de commencer.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
REST
La méthode projects.serviceAccounts.keys.disable désactive une clé de compte de service.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
PROJECT_ID: ID de votre projet Cloud de Confiance . Les ID de projet sont des chaînes alphanumériques, telles quemy-project.SA_NAME: nom du compte de service dont vous souhaitez désactiver la clé.KEY_ID: ID de la clé que vous souhaitez désactiver. Pour trouver l'ID de la clé, répertoriez toutes les clés du compte de service, identifiez la clé que vous souhaitez désactiver, puis copiez son ID à la fin du champname. L'ID de la clé correspond à tout ce qui suitkeys/.
Méthode HTTP et URL :
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.s3ns.iam.gserviceaccount.com/keys/KEY_ID:disable
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{
}
Activer une clé de compte de service
Après avoir désactivé une clé de compte de service, vous pouvez l'activer à tout moment, puis vous en servir pour vous authentifier auprès des API Google.
Vous ne pouvez pas activer de clés de compte de service à l'aide de la console Cloud de Confiance . Utilisez plutôt la CLI gcloud ou l'API REST.
gcloud
Exécutez la commande gcloud iam service-accounts keys enable pour activer une clé de compte de service.
Remplacez les valeurs suivantes :
KEY_ID: ID de la clé à activer. Pour trouver l'ID de la clé, répertoriez toutes les clés du compte de service, identifiez la clé que vous souhaitez activer, puis copiez son ID.SA_NAME: nom du compte de service auquel appartient la clé.PROJECT_ID: ID de votre projet Cloud de Confiance .
gcloud iam service-accounts keys enable KEY_ID \ --iam-account=SA_NAME@PROJECT_ID.s3ns.iam.gserviceaccount.com\ --project=PROJECT_ID
Résultat :
Enabled key [KEY_ID] for service account [SA_NAME@PROJECT_ID.s3ns.iam.gserviceaccount.com]
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Java.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour plus d'informations, consultez la section Avant de commencer.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
REST
La méthode projects.serviceAccounts.keys.enable active une clé de compte de service.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
PROJECT_ID: ID de votre projet Cloud de Confiance . Les ID de projet sont des chaînes alphanumériques, telles quemy-project.SA_NAME: nom du compte de service dont vous souhaitez activer la clé.-
KEY_ID: ID de la clé que vous souhaitez activer. Pour trouver l'ID de la clé, répertoriez toutes les clés du compte de service, identifiez la clé que vous souhaitez activer, puis copiez son ID à la fin du champname. L'ID de la clé correspond à tout ce qui suitkeys/.
Méthode HTTP et URL :
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.s3ns.iam.gserviceaccount.com/keys/KEY_ID:enable
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{
}
Étapes suivantes
- Apprenez à supprimer des clés de compte de service.
- Découvrez comment répertorier et obtenir des clés de compte de service.
- Apprenez à utiliser les clés de compte de service pour vous authentifier en tant que compte de service.
- Découvrez des alternatives aux clés de compte de service pour l'authentification.
- Identifiez les bonnes pratiques pour gérer les clés de compte de service.