Memecahkan masalah CMEK dan error setelan default

Dokumen ini menjelaskan cara menemukan dan memitigasi error konfigurasi CMEK umum, serta menjelaskan cara mengidentifikasi error yang terjadi saat menetapkan lokasi resource default.

Memecahkan masalah penetapan lokasi resource default

Anda mencoba memperbarui lokasi penyimpanan default untuk organisasi atau folder, tetapi perintah gagal dengan error yang mirip dengan berikut:

ERROR: (gcloud.logging.settings.update) INVALID_ARGUMENT: The KMS key location must match the storage location. Received KMS key location: us-central1, storage location: us-west1
- '@type': type.googleapis.com/google.rpc.DebugInfo
  detail: '[ORIGINAL ERROR] generic::invalid_argument: The KMS key location must match
    the storage location. Received KMS key location: us-central1, storage location:
    us-west1 [google.rpc.error_details_ext] { message: "The KMS key location must
    match the storage location. Received KMS key location: us-central1, storage location:
    us-west1" }'

Untuk mengatasi error ini, tetapkan lokasi penyimpanan default untuk organisasi atau folder agar cocok dengan lokasi kunci Cloud Key Management Service untuk organisasi atau folder.

Memecahkan masalah CMEK

Saat Anda mengonfigurasi CMEK, project Trusted Cloud yang berisi kunci Cloud KMS akan diberi tahu tentang masalah terkait. Misalnya, update gagal saat KMS_KEY_NAME tidak valid, saat akun layanan terkait tidak memiliki peran Cloud Key Management Service CryptoKey Encrypter/Decrypter yang diperlukan, atau saat akses ke kunci dinonaktifkan.

Setelah Anda mengonfigurasi CMEK, setidaknya salah satu hal berikut akan terjadi:

  • Anda menerima notifikasi dari Cloud Logging tentang masalah akses CMEK.

  • Anda melihat bahwa CMEK tidak diaktifkan untuk bucket log _Default dan _Required saat Anda membuat project Trusted Cloud baru di organisasi atau di folder.

  • Anda menerima error saat membaca dari bucket log dengan CMEK yang diaktifkan, atau jika Anda mencoba membuat atau memperbarui bucket log.

Notifikasi ini memberikan informasi tentang kegagalan dan berisi tindakan yang dapat Anda lakukan untuk mengurangi masalah:

Error Rekomendasi
Izin kunci kriptografi ditolak

Akun layanan Logging yang terkait dengan project Trusted Cloud Anda tidak memiliki izin IAM yang memadai untuk beroperasi pada kunci Cloud KMS yang ditentukan. Ikuti petunjuk dalam error atau lihat dokumen berikut:

Kunci kriptografi dinonaktifkan Kunci Cloud KMS yang ditentukan telah dinonaktifkan. Ikuti petunjuk dalam error untuk mengaktifkan kembali kunci.
Kunci kriptografi dimusnahkan

Kunci Cloud KMS yang ditentukan telah dihancurkan. Ikuti petunjuk atau lihat dokumen berikut:

Mengidentifikasi project yang berisi kunci Cloud KMS

Untuk mengidentifikasi ID Trusted Cloud project yang berisi kunci enkripsi yang digunakan oleh bucket log, folder, atau organisasi, lakukan hal berikut:

PROJECT

gcloud logging settings describe --project=PROJECT_ID

Sebelum menjalankan perintah, ganti PROJECT_ID dengan project ID yang berisi bucket log.

FOLDER

gcloud logging settings describe --folder=FOLDER_ID

Sebelum menjalankan perintah, ganti FOLDER_ID dengan ID folder.

ORGANISASI

gcloud logging settings describe --organization=ORGANIZATION_ID

Sebelum menjalankan perintah, ganti ORGANIZATION_ID dengan ID organisasi.

Perintah sebelumnya menampilkan informasi yang mirip dengan berikut ini:

kmsServiceAccountId: KMS_SERVICE_ACCT_NAME@gcp-sa-logging.
loggingServiceAccountId: SERVICE_ACCT_NAME@gcp-sa-logging.

Untuk organisasi dan folder, kolom berikut juga ditampilkan:

kmsKeyName: projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/KMS_KEY_RING/cryptoKeys/KEY

Nilai kolom kmsKeyName mencakup project Trusted Cloud yang menyimpan kunci.

Memverifikasi kegunaan kunci

Untuk memverifikasi kegunaan kunci, jalankan perintah berikut untuk mencantumkan semua kunci:

gcloud kms keys list \
--location=KMS_KEY_LOCATION \
--keyring=KMS_KEY_RING

Perintah ini menampilkan informasi tentang setiap kunci dalam format tabel. Baris pertama output adalah daftar nama kolom:

NAME PURPOSE ...

Pastikan kunci Cloud KMS tercantum dalam output perintah sebagai ENABLED, dan bahwa tujuan kunci tersebut adalah enkripsi simetris: kolom PURPOSE harus berisi ENCRYPT_DECRYPT dan kolom PRIMARY_STATE harus berisi ENABLED.

Jika perlu, buat kunci baru.

Memverifikasi konfigurasi izin

Akun layanan yang terkait dengan setelan CMEK organisasi harus memiliki peran Pengenkripsi/Pendekripsi CryptoKey Cloud KMS untuk kunci yang dikonfigurasi.

Untuk menampilkan kebijakan IAM kunci, jalankan perintah berikut:

gcloud kms keys get-iam-policy KMS_KEY_NAME

Jika perlu, tambahkan akun layanan yang berisi peran Pengenkripsi/Pendekripsi CryptoKey Cloud KMS ke kunci.