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 implémentation Google Distributed Cloud.
Ces instructions sont complètes. Pour une introduction plus courte à l'utilisation d'un compte de service, consultez la section Configurer une infrastructure minimale.
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 Google 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 Google Cloud particulier. Ceci suit le modèle général d'attribution d'un rôle à un compte principal 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 le compte principal 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 Google 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 Google Cloud concerné. Par exemple, votre compte de service connect-register doit disposer du rôle gkehub.editor
sur votre projet hôte de parc.
Pour attribuer des rôles sur un projet Google Cloud, vous devez disposer de certaines autorisations sur le projet Google Cloud. 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 à votre place.
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
Google Distributed Cloud 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
Votre compte de service d'accès au composant doit disposer des rôles IAM suivants sur votre projet hôte de parc. Ces rôles sont nécessaires pour que Google Distributed Cloud puisse effectuer des vérifications préliminaires:
serviceusage.serviceUsageViewer
iam.roleViewer
iam.serviceAccountViewer
compute.viewer
Pour accorder les rôles, procédez comme suit :
gcloud projects add-iam-policy-binding FLEET_HOST_PROJECT_ID \ --member "serviceAccount:SERVICE_ACCOUNT_EMAIL" \ --role "roles/serviceusage.serviceUsageViewer"
gcloud projects add-iam-policy-binding FLEET_HOST_PROJECT_ID \ --member "serviceAccount:SERVICE_ACCOUNT_EMAIL" \ --role "roles/iam.roleViewer"
gcloud projects add-iam-policy-binding FLEET_HOST_PROJECT_ID \ --member "serviceAccount:SERVICE_ACCOUNT_EMAIL" \ --role "roles/iam.serviceAccountViewer"
gcloud projects add-iam-policy-binding FLEET_HOST_PROJECT_ID \ --member "serviceAccount:SERVICE_ACCOUNT_EMAIL" \ --role "roles/compute.viewer"
Remplacez les éléments suivants :
FLEET_HOST_PROJECT_ID : l'ID de votre projet hôte de parc
SERVICE_ACCOUNT_EMAIL : adresse e-mail de votre compte de service d'accès au composant
Compte de service connect-register
Google Distributed Cloud utilise ce compte de service pour enregistrer vos clusters dans un parc.
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 Google 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.
Le compte de service connect-register doit disposer du rôle gkehub.editor
sur votre projet hôte de parc.
Attribuez le rôle gkehub.editor
à votre compte de service connect-register :
gcloud projects add-iam-policy-binding FLEET_HOST_PROJECT_ID \ --member "serviceAccount:SERVICE_ACCOUNT_EMAIL" \ --role "roles/gkehub.editor"
Compte de service logging-monitoring
Google Distributed Cloud 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 Google Cloud que vous souhaitez utiliser comme parent de votre compte de service logging-monitoring des journaux.
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
Votre compte de service logging-monitoring doit disposer des rôles suivants sur votre projet hôte de parc :
opsconfigmonitoring.resourceMetadata.writer
logging.logWriter
monitoring.metricWriter
monitoring.dashboardEditor
kubernetesmetadata.publisher
Pour attribuer les rôles requis à votre compte de service logging-monitoring, procédez comme suit :
gcloud projects add-iam-policy-binding FLEET_HOST_PROJECT_ID \ --member "serviceAccount:SERVICE_ACCOUNT_EMAIL" \ --role "roles/opsconfigmonitoring.resourceMetadata.writer" gcloud projects add-iam-policy-binding FLEET_HOST_PROJECT_ID \ --member "serviceAccount:SERVICE_ACCOUNT_EMAIL" \ --role "roles/logging.logWriter" gcloud projects add-iam-policy-binding FLEET_HOST_PROJECT_ID \ --member "serviceAccount:SERVICE_ACCOUNT_EMAIL" \ --role "roles/monitoring.metricWriter" gcloud projects add-iam-policy-binding FLEET_HOST_PROJECT_ID \ --member "serviceAccount:SERVICE_ACCOUNT_EMAIL" \ --role "roles/monitoring.dashboardEditor" gcloud projects add-iam-policy-binding FLEET_HOST_PROJECT_ID \ --member "serviceAccount:SERVICE_ACCOUNT_EMAIL" \ --role "roles/kubernetesmetadata.publisher"
Remplacez SERVICE_ACCOUNT_EMAIL par l'adresse e-mail de votre compte de service logging-monitoring.
Comptes de service facultatifs
Compte de service de journalisation d'audit
Google Distributed Cloud utilise ce compte de service pour envoyer les journaux d'audit Kubernetes de votre cluster vers Cloud Audit Logs.
Si vous prévoyez de créer des clusters avec la fonctionnalité de cluster avancé activée (ce qui est nécessaire pour configurer des domaines de topologie), utilisez le compte de service logging-monitoring et la clé pour la journalisation d'audit au lieu de créer un autre compte de service.
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 Google 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 de mesure de l'utilisation
Google Distributed Cloud 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 Google 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 Google 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 USAGE_METERING_PROJECT_ID \ --member "serviceAccount:SERVICE_ACCOUNT_EMAIL" \ --role "roles/bigquery.dataEditor"
Remplacez USAGE_METERING_PROJECT_ID par l'ID de votre projet de mesure de l'utilisation.
Compte de service d'autorisation binaire
Google Distributed Cloud utilise ce compte de service pour appeler l'API d'autorisation binaire.
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.