Account di servizio e chiavi

Questo documento illustra le chiavi e gli account di servizio Google Cloud necessari creare cluster nella tua implementazione di Google Distributed Cloud.

Le istruzioni sono complete. Per una breve introduzione all'uso di un l'account di servizio, consulta Configura l'infrastruttura minima.

Prima di iniziare

Creare progetti Google Cloud.

Panoramica degli account di servizio

Prima di creare i cluster di amministrazione e utente, devi disporre di questi servizi account:

  • Account di servizio di accesso ai componenti
  • Connetti e registra l'account di servizio
  • Account di servizio di monitoraggio dei log

A seconda delle funzionalità da attivare, potrebbero essere necessarie anche account di servizio facoltativi.

Informazioni sugli account di servizio e sui progetti Google Cloud

Quando crei un account di servizio, lo associ a un progetto Google Cloud. Questo progetto Google Cloud è chiamato progetto padre del servizio .

Puoi determinare il progetto padre di un account di servizio osservando all'indirizzo email dell'account di servizio. Ad esempio, questo è l'indirizzo email di un account di servizio denominato logger. Il progetto principale è alice-123.

logger@alice-123.iam.gserviceaccount.com

Quando concedi un ruolo Identity and Access Management (IAM) a un servizio di servizio, concedi il ruolo all'account di servizio in una progetto Google Cloud. Questo approccio segue lo schema generale di concedere un ruolo a su una risorsa.

Ad esempio, puoi concedere il ruolo bigquery.dataEditor alla logger@alice-123.iam.gserviceaccount.com account di servizio nella progetto bob-456. In questo caso, l'account di servizio è il principio e il progetto Google Cloud è la risorsa.

È importante capire che puoi concedere un ruolo a un account di servizio su un progetto Google Cloud che non sia il progetto padre del servizio .

Autorizzazioni per la concessione dei ruoli agli account di servizio

A ciascuno dei tuoi account di servizio devono essere assegnati determinati ruoli nella progetto Google Cloud. Ad esempio, il tuo account di servizio connect-register deve assegna il ruolo gkehub.editor nel progetto host del parco risorse.

Per concedere i ruoli su un progetto Google Cloud, devi: autorizzazioni specifiche per il progetto. Per maggiori dettagli, vedi roles/resourcemanager.projectIamAdmin pollici Informazioni sui ruoli.

Se disponi delle autorizzazioni necessarie, puoi concedere i ruoli autonomamente. In caso contrario, i ruoli devono essere concessi da qualcun altro nella tua organizzazione.

Utilizzo di gkeadm per creare automaticamente account di servizio

Questa pagina mostra come creare manualmente gli account di servizio e concedere ruoli a account di servizio. In alternativa a questa procedura manuale, puoi avere gkeadm crea alcuni account di servizio e concede ruoli per te quando per creare una workstation di amministrazione. Per ulteriori informazioni, vedi Creazione della workstation di amministrazione.

Account di servizio di accesso ai componenti

Google Distributed Cloud utilizza questo account di servizio per scaricare automaticamente da Container Registry.

Per creare un account di servizio di accesso ai componenti:

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

Sostituisci PROJECT_ID con l'ID del progetto Google Cloud che ti interessa. come progetto padre del tuo account di servizio.

Per creare una chiave JSON per l'account di servizio di accesso ai componenti:

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

Sostituisci SERVICE_ACCOUNT_EMAIL con l'indirizzo email del tuo l'account di servizio di accesso ai componenti.

Concessione di ruoli all'account di servizio di accesso ai componenti

Al tuo account di servizio di accesso ai componenti deve essere concesso quanto segue Ruoli IAM progetto host del parco risorse. Questi ruoli sono necessari affinché Google Distributed Cloud puoi eseguire controlli preflight:

  • serviceusage.serviceUsageViewer
  • iam.roleViewer
  • iam.serviceAccountViewer
  • compute.viewer

Per concedere i ruoli:

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"

Sostituisci quanto segue:

  • FLEET_HOST_PROJECT_ID: l'ID dell'host del parco risorse progetto.

  • SERVICE_ACCOUNT_EMAIL: l'indirizzo email del tuo l'account di servizio di accesso ai componenti.

Connetti e registra l'account di servizio

Google Distributed Cloud utilizza questo account di servizio per registrare i tuoi cluster in un parco.

Per creare un account di servizio connect-register:

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

Sostituisci PROJECT_ID con l'ID del il progetto Google Cloud che vuoi come padre di Connect-register l'account di servizio.

Per creare una chiave JSON per il tuo account di servizio connect-register:

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

Sostituisci SERVICE_ACCOUNT_EMAIL con l'email del tuo account di servizio connect-register.

Al tuo account di servizio connect-register deve essere concesso il ruolo gkehub.editor sul tuo progetto host del parco risorse.

Per concedere il ruolo gkehub.editor al tuo account di servizio connect-register:

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

Account di servizio di monitoraggio dei log

Google Distributed Cloud utilizza questo account di servizio per esportare log e metriche dai cluster Cloud Logging e Cloud Monitoring.

Per creare un account di servizio di monitoraggio dei log:

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

Sostituisci PROJECT_ID con l'ID del il progetto Google Cloud che vuoi avere come padre del monitoraggio dei log l'account di servizio.

Per creare una chiave JSON per il tuo account di servizio di monitoraggio dei log:

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

Devi concedere i seguenti ruoli all'account di servizio di monitoraggio dei log sul tuo progetto host del parco risorse:

  • opsconfigmonitoring.resourceMetadata.writer
  • logging.logWriter
  • monitoring.metricWriter
  • monitoring.dashboardEditor
  • kubernetesmetadata.publisher

Per concedere i ruoli richiesti all'account di servizio di monitoraggio dei log:

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"

Sostituisci SERVICE_ACCOUNT_EMAIL con l'indirizzo email del tuo l'account di servizio di logging-monitoraggio.

Account di servizio facoltativi

Account di servizio di audit logging

Google Distributed Cloud utilizza questo account di servizio per inviare audit log Kubernetes dal cluster a Cloud Audit Logs.

Per creare un account di servizio per l'audit logging:

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

Sostituisci PROJECT_ID con l'ID del al progetto Google Cloud che vuoi come padre dell'audit logging l'account di servizio.

Per creare una chiave JSON per il tuo account di servizio di audit logging:

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

Sostituisci SERVICE_ACCOUNT_EMAIL con l'indirizzo email del tuo account di servizio di audit logging.

Non è necessario concedere alcun ruolo all'account di servizio di audit logging.

Account di servizio di misurazione dell'utilizzo

Google Distributed Cloud utilizza questo account di servizio per archiviare i dati sull'utilizzo in un set di dati BigQuery.

Per creare un account di servizio di misurazione dell'utilizzo:

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

Sostituisci PROJECT_ID con l'ID del Progetto Google Cloud che vuoi fungere da padre della misurazione dell'utilizzo l'account di servizio.

Per creare una chiave JSON per il tuo account di servizio di misurazione dell'utilizzo:

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

Sostituisci SERVICE_ACCOUNT_EMAIL con l'email indirizzo del tuo account di servizio di misurazione dell'utilizzo.

Devi concedere l'autorizzazione bigquery.dataEditor al tuo account di servizio di misurazione dell'utilizzo ruolo sul tuo progetto di misurazione dell'utilizzo. Questo è il progetto Google Cloud in cui vuoi visualizzare i dati sull'utilizzo nel cluster utente.

Per concedere il ruolo bigquery.dataEditor al tuo account di servizio di misurazione dell'utilizzo:

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

Sostituisci USAGE_METERING_PROJECT_ID con l'ID di utilizzo progetto di misurazione.

Account di servizio di Autorizzazione binaria

Google Distributed Cloud utilizza questo account di servizio per chiamare API Binary Authorization.

Per informazioni sulla creazione di un account di servizio di Autorizzazione binaria, consulta Autorizzazione binaria in GKE On-Prem.

Passaggi successivi

Crea una workstation di amministrazione.