Limiter l'utilisation des comptes de service

Resource Manager fournit des contraintes pouvant être utilisées dans les règles d'administration pour limiter l'utilisation des comptes de service Cloud Identity and Access Management.

Lorsque vous définissez ces contraintes, elles s'appliquent aux créations et aux modifications futures de comptes de service. Ces contraintes ne sont pas rétroactives et n'affectent pas les comptes de service créés et configurés précédemment.

Désactiver la création de comptes de service

La contrainte booléenne iam.disableServiceAccountCreation vous permet de désactiver la création de comptes de service. Cela vous permet de centraliser la gestion des comptes de service sans restreindre les autres autorisations détenues par vos développeurs pour les projets.

Désactiver la création de clés de compte de service

La contrainte booléenne iam.disableServiceAccountKeyCreation vous permet de désactiver la création de clés de comptes de service externes. Cela vous permet de contrôler l'utilisation des identifiants à long terme non gérés pour les comptes de service. Lorsque cette contrainte est définie, les identifiants gérés par l'utilisateur ne peuvent pas être créés pour les comptes de service dans les projets affectés par la contrainte.

Définir la règle

La contrainte de restriction de compte de service est un type de contrainte booléenne.

Pour définir cette contrainte, vous devez être autorisé à modifier les règles d'administration. Par exemple, le rôle resourcemanager.organizationAdmin est autorisé à définir des contraintes de règle d'administration. Lisez la page Utiliser des contraintes pour en savoir plus sur la gestion des règles au niveau de l'organisation.

Console

Pour définir une règle d'administration incluant une contrainte permettant de désactiver la création de clés de compte de service, procédez comme suit :

  1. Accédez à la page Règles d'administration dans la console Google Cloud Platform.

    Accéder à la page "Règles d'administration"

  2. Cliquez sur la liste déroulante Organisation en haut de la page, puis sélectionnez votre organisation.
  3. Cliquez sur Désactiver la création de comptes de service ou Désactiver la création de clés de compte de service.
  4. Cliquez sur le bouton Modifier.
  5. Sous Applicable à, sélectionnez Personnaliser.
  6. Sous Application, sélectionnez Activé.
  7. Cliquez sur Enregistrer. Une notification s'affiche. Elle confirme que la règle a été mise à jour.

gcloud

Les règles peuvent être définies via l'outil de ligne de commande gcloud.

Pour désactiver la création de comptes de service, exécutez la commande suivante :

gcloud alpha resource-manager org-policies enable-enforce \
    --organization 'ORGANIZATION_ID' \
    iam.disableServiceAccountCreation

Pour désactiver la création de clés de compte de service, exécutez la commande suivante :

gcloud alpha resource-manager org-policies enable-enforce \
    --organization 'ORGANIZATION_ID' \
    iam.disableServiceAccountKeyCreation

Pour désactiver la règle, la même commande peut être émise à l'aide de la commande

disable-enforce
.

Pour en savoir plus sur l'utilisation de contraintes dans les règles d'administration, consultez la page Utiliser des contraintes.

Exemple de règle

L'extrait de code suivant présente une règle d'administration comprenant la contrainte de désactivation de la création de comptes de service :

resource: "organizations/842463781240"
policy {
  constraint: "constraints/iam.disableServiceAccountCreation"
  etag: "\a\005L\252\122\321\946\334"
  boolean_policy {
  enforced: true
  }
}

L'extrait de code suivant présente une règle d'administration comprenant la contrainte de désactivation de la création de clés de compte de service :

resource: "organizations/842463781240"
policy {
  constraint: "constraints/iam.disableServiceAccountKeyCreation"
  etag: "\a\005L\252\122\321\946\334"
  boolean_policy {
  enforced: true
  }
}

Messages d'erreur

Désactiver la création de comptes de service

Si la contrainte iam.disableServiceAccountCreation est appliquée, la création de compte de service échoue et l'erreur suivante s'affiche :

FAILED_PRECONDITION: Service account creation is not allowed on this project.

Désactiver la création de clés de compte de service

Si la contrainte iam.disableServiceAccountKeyCreation est appliquée, la création de compte de service échoue et l'erreur suivante s'affiche :

FAILED_PRECONDITION: Key creation is not allowed on this service account.

Résoudre les problèmes connus

Comptes de service par défaut

L'application de la contrainte iam.disableServiceAccountCreation empêche la création de comptes de service dans ce projet. Cette limitation concerne également les services GCP qui, lorsqu'ils sont activés, créent automatiquement des comptes de service par défaut dans le projet, tels que :

  • Instance
  • GKE
  • App Engine
  • Cloud Dataflow

Si la contrainte iam.disableServiceAccountCreation est appliquée, toute tentative d'activation de ces services échoue, car leurs comptes de service par défaut ne peuvent pas être créés.

Pour remédier à ce problème :

  1. supprimez temporairement la contrainte iam.disableServiceAccountCreation ;
  2. activez les services souhaités ;
  3. créez tout autre compte de service souhaité ;
  4. réappliquez la contrainte.
Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Documentation relative à Resource Manager