Akun layanan dan kunci

Dokumen ini menjelaskan kunci dan akun layanan Google Cloud yang diperlukan untuk membuat cluster dalam implementasi GKE di VMware.

Petunjuknya di sini lengkap. Untuk pengantar yang lebih singkat tentang cara menggunakan akun layanan, lihat Menyiapkan infrastruktur minimal.

Sebelum memulai

Membuat project Google Cloud.

Ringkasan akun layanan

Sebelum membuat cluster pengguna dan admin, Anda harus memiliki akun layanan ini:

  • Akun layanan akses komponen
  • Hubungkan-daftarkan akun layanan
  • Akun layanan pemantauan logging

Bergantung pada fitur yang ingin diaktifkan, Anda mungkin juga harus memiliki beberapa akun layanan opsional.

Memahami akun layanan dan project Google Cloud

Saat membuat akun layanan, Anda akan mengaitkannya dengan project Google Cloud. Project Google Cloud ini disebut project induk akun layanan.

Anda dapat menentukan project induk dari akun layanan dengan melihat alamat email akun layanan tersebut. Misalnya, berikut adalah alamat email akun layanan bernama logger. Project induk adalah alice-123.

logger@alice-123.iam.gserviceaccount.com

Saat Anda memberikan peran Identity and Access Management (IAM) ke akun layanan, Anda memberikan peran ke akun layanan di project Google Cloud tertentu. Hal ini mengikuti pola umum pemberian peran ke prinsip pada resource.

Misalnya, Anda dapat memberikan peran bigquery.dataEditor ke akun layanan logger@alice-123.iam.gserviceaccount.com di project bob-456. Dalam hal ini, akun layanan adalah prinsipnya, dan project Google Cloud adalah resource-nya.

Penting untuk dipahami bahwa Anda dapat memberikan peran ke akun layanan di project Google Cloud yang bukan merupakan project induk dari akun layanan.

Izin untuk memberikan peran ke akun layanan

Setiap akun layanan Anda harus diberi peran tertentu di project Google Cloud yang relevan. Misalnya, akun layanan daftar koneksi Anda harus diberi peran gkehub.editor pada project host fleet Anda.

Untuk memberikan peran pada project Google Cloud, Anda harus memiliki izin tertentu pada project tersebut. Untuk mengetahui detailnya, lihat roles/resourcemanager.projectIamAdmin di Memahami peran.

Jika memiliki izin yang diperlukan, Anda dapat memberikan sendiri peran tersebut. Jika tidak, orang lain di organisasi Anda harus memberikan peran tersebut untuk Anda.

Menggunakan gkeadm untuk membuat akun layanan secara otomatis

Halaman ini menunjukkan cara membuat akun layanan dan memberikan peran ke akun layanan secara manual. Selain melakukan langkah-langkah ini secara manual, Anda dapat meminta gkeadm membuat beberapa akun layanan dan memberikan peran saat Anda membuat workstation admin. Untuk mengetahui informasi selengkapnya, lihat Membuat workstation admin.

Akun layanan akses komponen

GKE di VMware menggunakan akun layanan ini untuk mendownload komponen cluster, atas nama Anda, dari Container Registry.

Untuk membuat akun layanan akses komponen:

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

Ganti PROJECT_ID dengan ID project Google Cloud yang ingin Anda jadikan project induk dari akun layanan Anda.

Untuk membuat kunci JSON bagi akun layanan akses komponen Anda:

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

Ganti SERVICE_ACCOUNT_EMAIL dengan alamat email akun layanan akses komponen Anda.

Memberikan peran ke akun layanan akses komponen

Akun layanan akses komponen Anda harus diberi peran IAM berikut pada project host fleet. Peran ini diperlukan agar GKE di VMware dapat melakukan pemeriksaan preflight:

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

Untuk memberikan peran:

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"

Ganti kode berikut:

  • FLEET_HOST_PROJECT_ID: ID project host fleet Anda.

  • SERVICE_ACCOUNT_EMAIL: alamat email akun layanan akses komponen Anda.

Hubungkan-daftarkan akun layanan

GKE di VMware menggunakan akun layanan ini untuk mendaftarkan cluster Anda ke fleet.

Untuk membuat akun layanan Connect-register:

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

Ganti PROJECT_ID dengan ID project Google Cloud yang ingin Anda jadikan induk dari akun layanan connect-register Anda.

Untuk membuat kunci JSON bagi akun layanan connect-register:

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

Ganti SERVICE_ACCOUNT_EMAIL dengan alamat email akun layanan koneksi pendaftaran Anda.

Akun layanan connect-register Anda harus diberi peran gkehub.editor pada project host fleet.

Untuk memberikan peran gkehub.editor ke akun layanan connect-register:

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

Akun layanan pemantauan logging

GKE di VMware menggunakan akun layanan ini untuk mengekspor log dan metrik dari cluster ke Cloud Logging dan Cloud Monitoring.

Untuk membuat akun layanan pemantauan logging:

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

Ganti PROJECT_ID dengan ID project Google Cloud yang ingin Anda jadikan induk dari akun layanan pemantauan logging.

Untuk membuat kunci JSON bagi akun layanan pemantauan logging:

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

Akun layanan pemantauan logging Anda harus diberi peran berikut pada project host fleet:

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

Untuk memberikan peran yang diperlukan ke akun layanan pemantauan logging Anda:

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"

Ganti SERVICE_ACCOUNT_EMAIL dengan alamat email akun layanan pemantauan logging Anda.

Akun layanan opsional

Akun layanan logging audit

GKE di VMware menggunakan akun layanan ini untuk mengirim log audit Kubernetes dari cluster Anda ke Cloud Audit Logs.

Untuk membuat akun layanan logging audit:

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

Ganti PROJECT_ID dengan ID project Google Cloud yang ingin Anda jadikan induk dari akun layanan logging audit Anda.

Untuk membuat kunci JSON bagi akun layanan logging audit Anda:

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

Ganti SERVICE_ACCOUNT_EMAIL dengan alamat email akun layanan logging audit Anda.

Anda tidak perlu memberikan peran apa pun ke akun layanan logging audit.

Akun layanan pengukuran penggunaan

GKE di VMware menggunakan akun layanan ini untuk menyimpan data penggunaan dalam set data BigQuery.

Untuk membuat akun layanan pengukuran penggunaan:

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

Ganti PROJECT_ID dengan ID project Google Cloud yang ingin Anda jadikan induk dari akun layanan pengukuran penggunaan Anda.

Untuk membuat kunci JSON bagi akun layanan pengukuran penggunaan Anda:

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

Ganti SERVICE_ACCOUNT_EMAIL dengan alamat email akun layanan pengukuran penggunaan Anda.

Akun layanan pengukuran penggunaan Anda harus diberi peran bigquery.dataEditor di project pengukuran penggunaan Anda. Ini adalah project Google Cloud tempat Anda ingin melihat data penggunaan untuk cluster pengguna.

Untuk memberikan peran bigquery.dataEditor ke akun layanan pengukuran penggunaan Anda:

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

Ganti USAGE_METERING_PROJECT_ID dengan ID project pengukuran penggunaan Anda.

Akun layanan otorisasi biner

GKE di VMware menggunakan akun layanan ini untuk memanggil Binary Authorization API.

Untuk mengetahui informasi tentang cara membuat akun layanan otorisasi biner, lihat Otorisasi Biner di GKE lokal.

Langkah selanjutnya

Membuat workstation admin.