Version 1.9. Cette version est compatible conformément à la politique de compatibilité avec les versions d'Anthos, en fournissant les derniers correctifs et mises à jour pour les failles de sécurité, les expositions et les problèmes affectant Anthos Clusters on VMware (GKE On-Prem). Reportez-vous aux notes de version pour plus de détails. Il s'agit de la version la plus récente.

Comptes de service et clés

Ce document présente les clés et les comptes de service Google Cloud dont vous avez besoin pour créer des clusters dans votre mise en œuvre Anthos clusters on VMware (GKE On-Prem).

Ces instructions sont complètes. Pour une présentation plus courte de l'utilisation d'un compte de service, consultez la page Compte de service (Guide de démarrage rapide).

Avant de commencer

Créez des projets Google Cloud.

Présentation des comptes de service

Avant de créer vos clusters d'administrateur et d'utilisateur, vous devez disposer des comptes de service suivants :

  • Compte de service d'accès au composant
  • Compte de service connect-register
  • Compte de service logging-monitoring

En fonction des fonctionnalités que vous souhaitez activer, vous devrez peut-être disposer de comptes de service facultatifs.

Comprendre les comptes de service et les projets Google Cloud

Lorsque vous créez un compte de service, vous l'associez à un projet Google Cloud. Ce projet Cloud est appelé projet parent du compte de service.

Vous pouvez déterminer le projet parent d'un compte de service en consultant l'adresse e-mail du compte de service. Par exemple, voici l'adresse e-mail d'un compte de service nommé logger. Le projet parent est alice-123.

logger@alice-123.iam.gserviceaccount.com

Lorsque vous attribuez un rôle de gestion de l'authentification et de l'accès (IAM) à un compte de service, vous attribuez le rôle au compte de service sur un projet Cloud particulier. Ceci suit le modèle général d'attribution à une identité un rôle sur une ressource.

Par exemple, vous pouvez attribuer le rôle bigquery.dataEditor au compte de service logger@alice-123.iam.gserviceaccount.com sur le projet bob-456. Dans ce cas, le compte de service est l'identité et le projet Google Cloud est la ressource.

Il est important de comprendre que vous pouvez attribuer un rôle à un compte de service sur un projet Cloud qui n'est pas le projet parent du compte de service.

Autorisations requises pour l'attribution de rôles aux comptes de service

Chacun de vos comptes de service doit disposer de certains rôles sur le projet Cloud concerné. Par exemple, le compte de service connect-register doit se voir attribuer le rôle gkehub.admin sur votre projet Connect.

Pour accorder des rôles sur un projet Cloud, vous devez disposer de certaines autorisations sur le projet. Pour en savoir plus, consultez la section roles/resourcemanager.projectIamAdmin de la section Comprendre les rôles.

Si vous disposez des autorisations requises, vous pouvez attribuer les rôles vous-même. Sinon, un autre membre de votre organisation doit attribuer les rôles pour vous.

Utiliser gkeadm pour créer automatiquement des comptes de service

Cette page explique comment créer manuellement des comptes de service et leur attribuer des rôles. Au lieu d'effectuer manuellement ces étapes, vous pouvez demander à gkeadm de créer certains des comptes de service et d'attribuer des rôles pour vous lorsque vous créez un poste de travail administrateur. Pour plus d'informations, consultez la section Créer votre poste de travail administrateur.

Compte de service d'accès au composant

Anthos clusters on VMware utilise ce compte de service pour télécharger des composants de cluster, en votre nom, à partir de Container Registry.

Pour créer un compte de service d'accès au composant, procédez comme suit :

gcloud iam service-accounts create component-access-sa \
    --display-name "Component Access Service Account" \
    --project PROJECT_ID

Remplacez PROJECT_ID par l'ID du projet Google Cloud que vous souhaitez utiliser comme projet parent de votre compte de service.

Pour créer une clé JSON pour votre compte de service d'accès au composant, procédez comme suit :

gcloud iam service-accounts keys create component-access-key.json \
   --iam-account SERVICE_ACCOUNT_EMAIL

Remplacez SERVICE_ACCOUNT_EMAIL par l'adresse e-mail de votre compte de service d'accès au composant.

Attribuer des rôles à votre compte de service d'accès au composant

Les fichiers de configuration de cluster d'administrateur et de cluster utilisateur comportent plusieurs champs spécifiant un ID de projet.

Dans le fichier de configuration du cluster d'administrateur :

stackdriver:
  projectID: ""
...
cloudAuditLogging:
  projectid: ""

Dans le fichier de configuration du cluster d'utilisateur :

stackdriver:
  projectID: ""
...
gkeConnect:
  projectID: ""
...
usageMetering:
  bigQueryProjectID: ""
...
cloudAuditLogging:
  projectid: ""

Les ID de projet inclus dans vos fichiers de configuration ne doivent pas nécessairement être distincts. Par exemple, gkeConnect.projectID peut être identique à cloudAuditLogging.projectID. En fait, tous les ID de projet dans vos fichiers de configuration peuvent être identiques.

Votre compte de service d'accès au composant doit posséder les rôles IAM suivants pour chaque projet Cloud spécifié dans vos fichiers de configuration de cluster administrateur et utilisateur. Ces rôles sont nécessaires pour qu'Anthos clusters on VMware puisse effectuer des vérifications préliminaires :

  • serviceusage.serviceUsageViewer
  • iam.roleViewer

Pour chaque projet Cloud que vous avez spécifié dans les fichiers de configuration du cluster, exécutez les commandes suivantes pour attribuer les rôles requis à votre compte de service d'accès au composant :

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member "serviceAccount:SERVICE_ACCOUNT_EMAIL" \
    --role "roles/serviceusage.serviceUsageViewer"
gcloud projects add-iam-policy-binding PROJECT_ID \
    --member "serviceAccount:SERVICE_ACCOUNT_EMAIL" \
    --role "roles/iam.roleViewer"

Remplacez l'élément suivant :

  • PROJECT_ID : ID de l'un des projets Cloud que vous avez spécifiés dans vos fichiers de configuration.

  • SERVICE_ACCOUNT_EMAIL : adresse e-mail de votre compte de service d'accès au composant.

Création automatique de comptes de service

Lorsque vous utilisez gkeadm pour créer un poste de travail administrateur, vous avez la possibilité de laisser gkeadm créer certains comptes de service pour vous. Pour que gkeadm crée des comptes de service pour vous, ajoutez --auto-create-service-accounts à la commande gkeadm create admin-workstation.

Si vous choisissez de créer des comptes de service gkeadm, vous devez attribuer le rôle iam.serviceAccountCreator à votre compte de service d'accès au composant sur tous les projets Cloud répertoriés dans vos fichiers de configuration de cluster.

Pour chaque projet Cloud répertorié dans vos fichiers de configuration de cluster :

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member "serviceAccount:SERVICE_ACCOUNT_EMAIL" \
    --role "roles/iam.serviceAccountCreator"

Compte de service connect-register

Les clusters Anthos sur VMware utilisent ce compte de service pour enregistrer vos clusters utilisateur avec Google Cloud.

Pour créer un compte de service connect-register :

gcloud iam service-accounts create connect-register-sa \
    --project PROJECT_ID

Remplacez PROJECT_ID par l'ID du projet Cloud que vous souhaitez utiliser comme parent de votre compte de service connect-register.

Pour créer une clé JSON pour votre compte de service connect-register :

gcloud iam service-accounts keys create connect-register-key.json \
   --iam-account SERVICE_ACCOUNT_EMAIL

Remplacez SERVICE_ACCOUNT_EMAIL par l'adresse e-mail de votre compte de service connect-register.

Votre compte de service connect-register doit disposer du rôle gkehub.admin sur votre projet Connect. Il s'agit du projet Cloud dans lequel vous souhaitez afficher et gérer vos clusters.

Attribuez le rôle gkehub.admin à votre compte de service connect-register :

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member "serviceAccount:SERVICE_ACCOUNT_EMAIL" \
    --role "roles/gkehub.admin"

Remplacez PROJECT_ID par l'ID de votre projet Connect.

Compte de service logging-monitoring

Anthos clusters on VMware utilise ce compte de service pour exporter les journaux et les métriques des clusters vers Cloud Logging et Cloud Monitoring.

Pour créer un compte de service logging-monitoring, procédez comme suit :

gcloud iam service-accounts create logging-monitoring-sa \
    --project=PROJECT_ID

Remplacez PROJECT_ID par l'ID du projet Cloud que vous souhaitez utiliser comme parent de votre compte de service logging-monitoring.

Pour créer une clé JSON pour votre compte de service logging-monitoring, procédez comme suit :

gcloud iam service-accounts keys create logging-monitoring-key.json \
    --iam-account SERVICE_ACCOUNT_EMAIL

Remplacez SERVICE_ACCOUNT_EMAIL par l'adresse e-mail de votre compte de service logging-monitoring.

Votre compte de service de logging-monitoring doit disposer des rôles suivants sur votre projet logging-monitoring. Il s'agit du projet Cloud dans lequel vous souhaitez afficher les journaux de vos clusters.

  • stackdriver.resourceMetadata.writer
  • opsconfigmonitoring.resourceMetadata.writer
  • logging.logWriter
  • monitoring.metricWriter
  • monitoring.dashboardEditor

Pour attribuer les rôles requis à votre compte de service logging-monitoring, procédez comme suit :

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member "serviceAccount:SERVICE_ACCOUNT_EMAIL" \
    --role "roles/stackdriver.resourceMetadata.writer"
gcloud projects add-iam-policy-binding PROJECT_ID \
    --member "serviceAccount:SERVICE_ACCOUNT_EMAIL" \
    --role "roles/opsconfigmonitoring.resourceMetadata.writer"
gcloud projects add-iam-policy-binding PROJECT_ID \
    --member "serviceAccount:SERVICE_ACCOUNT_EMAIL" \
    --role "roles/logging.logWriter"
gcloud projects add-iam-policy-binding PROJECT_ID \
    --member "serviceAccount:SERVICE_ACCOUNT_EMAIL" \
    --role "roles/monitoring.metricWriter"
gcloud projects add-iam-policy-binding PROJECT_ID \
    --member "serviceAccount:SERVICE_ACCOUNT_EMAIL" \
    --role "roles/monitoring.dashboardEditor"

Remplacez PROJECT_ID par l'ID de votre projet logging-monitoring.

Comptes de service facultatifs

Compte de service de mesure de l'utilisation

Anthos clusters on VMware utilise ce compte de service pour stocker les données d'utilisation dans un ensemble de données BigQuery.

Pour créer un compte de service de mesure de l'utilisation, procédez comme suit :

gcloud iam service-accounts create usage-metering-sa \
    --project PROJECT_ID

Remplacez PROJECT_ID par l'ID du projet Cloud que vous souhaitez utiliser comme parent de votre compte de service de mesure de l'utilisation.

Pour créer une clé JSON pour votre compte de service de mesure de l'utilisation, procédez comme suit :

gcloud iam service-accounts keys create usage-metering-key.json \
   --iam-account SERVICE_ACCOUNT_EMAIL

Remplacez SERVICE_ACCOUNT_EMAIL par l'adresse e-mail de votre compte de service de mesure de l'utilisation.

Votre compte de service de mesure de l'utilisation doit avoir le rôle bigquery.dataEditor sur votre projet de mesure de l'utilisation. Il s'agit du projet Cloud dans lequel vous souhaitez consulter les données d'utilisation de votre cluster d'utilisateur.

Attribuez le rôle bigquery.dataEditor à votre compte de service de mesure de l'utilisation :

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member "serviceAccount:SERVICE_ACCOUNT_EMAIL" \
    --role "roles/bigquery.dataEditor"

Remplacez PROJECT_ID par l'ID de votre projet de mesure de l'utilisation.

Compte de service de journalisation d'audit

Anthos clusters on VMware utilise ce compte de service pour envoyer les journaux d'audit Kubernetes de votre cluster vers Cloud Audit Logging.

Pour créer un compte de service de journalisation d'audit, procédez comme suit :

gcloud iam service-accounts create audit-logging-sa \
    --project PROJECT_ID

Remplacez PROJECT_ID par l'ID du projet Cloud que vous souhaitez utiliser comme parent de votre compte de service de journalisation d'audit.

Pour créer une clé JSON pour votre compte de service de journalisation d'audit :

gcloud iam service-accounts keys create audit-logging-key.json \
   --iam-account SERVICE_ACCOUNT_EMAIL

Remplacez SERVICE_ACCOUNT_EMAIL par l'adresse e-mail de votre compte de service de journalisation d'audit.

Vous n'avez pas besoin d'accorder de rôles à votre compte de service de journalisation d'audit.

Compte de service d'autorisation binaire

Anthos clusters on VMware utilise ce compte de service pour appeler l'autorisation binaire de l'API.

Pour plus d'informations sur la création d'un compte de service d'autorisation binaire, consultez la section Autorisation binaire dans GKE On-Prem.

Étape suivante

Créez un poste de travail d'administrateur.