Validation des comptes de service

Apigee hybrid fournit une validation qui garantit que l'emplacement des clés de vos comptes de service est correct et que les comptes disposent des autorisations appropriées dans le projet Google Cloud. Ce programme de validation est activé par défaut.

Cette section explique comment activer ou désactiver la validation des comptes de service. Cette étape garantit également que les API appropriées sont activées pour votre projet Google Cloud afin que la validation fonctionne.

Activer la validation des autorisations de comptes de service

Pour activer la validation des autorisations, procédez comme suit :

  1. Assurez-vous que l'API Cloud Resource Manager est activée pour votre projet Google Cloud :
    1. Ouvrez Google Cloud Console, puis connectez-vous avec le compte que vous avez créé à l'étape 1 : Créer un compte Google Cloud.
    2. Sélectionnez le projet que vous avez créé à l'étape 2 : Créer un projet Google Cloud.
    3. Sélectionnez APIs & Services > Library (API et services > Bibliothèque).
    4. Recherchez "Cloud Resource Manager".
    5. Recherchez le service API Cloud Resource Manager et cliquez dessus.
    6. S'il n'est pas activé, cliquez sur Activer.

    Vous pouvez également activer l'API à l'aide de gcloud :

    gcloud services enable cloudresourcemanager.googleapis.com --project GCP_PROJECT_ID
  2. Dans votre fichier de remplacement, ajoutez la propriété validateServiceAccounts et définissez-la sur true. Exemple :
    ...
    # Enables strict validation of service account permissions.
    validateServiceAccounts: true
    ...

Lorsque la validation est activée, chaque fois que apigeectl applique les composants d'exécution hybride Apigee à votre cluster, cela valide les clés du compte de service incluses dans vos fichiers de remplacement.

Dépanner des erreurs de validation

Si la validation échoue, le déploiement de l'environnement d'exécution s'arrête et apigeectl se ferme. Pour résoudre un problème lié à l'échec d'un compte de service, il est utile de savoir que la validation vérifie les autorisations dans l'ordre suivant :

  1. Autorisation sur l'ID de projet.
  2. (Pour UDCA et le Synchronisateur uniquement) Si la vérification de l'autorisation sur le projet échoue, la validation continue de vérifier l'autorisation par rapport à la stratégie IAM de l'environnement Apigee. Ces SA sont définies à l'échelle d'un environnement et les environnements acceptent des autorisations plus précises.

    Pour mettre à jour la stratégie IAM d'un environnement spécifique, accédez à l'interface utilisateur hybride. Accédez à Admin > Environments > Access (Admin > Environnements > Accès).

Par exemple, le message d'erreur suivant s'affiche en cas d'échec de la vérification des autorisations :

Invalid Metrics Service Account. Service Account
"apigee-metrics@hybrid-project.iam.gserviceaccount.com" is missing 1 or more required
permissions [monitoring.metricDescriptors.create monitoring.metricDescriptors.get monitoring.metricDescriptors.list
monitoring.monitoredResourceDescriptors.get monitoring.monitoredResourceDescriptors.list monitoring.timeSeries.create].
Visit Service accounts and roles used by
hybrid components for more details on setting up Apigee hybrid service account permissions.

Pour résoudre cette erreur, ajoutez les rôles requis au compte de service. Pour en savoir plus sur la création et la modification des comptes de service, consultez la section Créer les comptes de service. Pour vérifier les autorisations requises pour chaque composant Apigee hybrid, consultez la section Comptes de service et rôles utilisés par les composants hybrides.

Désactiver la validation des autorisations

Pour désactiver la validation des autorisations de compte de service, définissez la propriété validationServiceAccounts dans votre fichier de remplacement sur false, comme le montre l'exemple suivant :

...
# Enables strict validation of service account permissions.
validateServiceAccounts: false
...