Mengonfigurasi Google Cloud KMS untuk CMEK
Gunakan Google Cloud KMS untuk menyediakan kunci enkripsi bagi organisasi Anda.
claude "/claude-api help me configure a customer-managed encryption key with Google Cloud KMS"Panduan ini menjelaskan langkah-langkah mengonfigurasi kunci Google Cloud KMS sebagai "customer-managed encryption key" (kunci enkripsi yang dikelola pelanggan), atau CMEK untuk organisasi Anthropic Anda.
Prasyarat
- Proyek Google Cloud dengan penagihan yang diaktifkan.
- Cloud KMS API diaktifkan (
cloudkms.googleapis.com). - Izin untuk membuat key ring dan kunci KMS, serta untuk menetapkan kebijakan IAM pada keduanya (
roles/cloudkms.adminatau yang setara). - Kunci API Admin Anthropic untuk organisasi Anda.
- CLI
gcloudterinstal dan terautentikasi. - Data Access audit logs Cloud KMS diaktifkan untuk proyek (IAM & Admin > Audit Logs > Cloud Key Management Service, dengan
DATA_READdanDATA_WRITE). Log ini nonaktif secara default; tanpanya, operasi enkripsi dan dekripsi Anthropic tidak menghasilkan entri apa pun di Cloud Logging.
Email service account Anthropic
Agar Anthropic dapat menggunakan kunci enkripsi Anda, Anda harus memberikan service account Anthropic sebuah kunci yang dapat digunakannya untuk mengenkripsi data. Email service account untuk CMEK Anthropic adalah:
anthropic-cmek-client-us@gcp-anthropic-cmek-clients.iam.gserviceaccount.comPenyiapan kunci enkripsi
Buat atau pilih key ring
Lewati langkah ini jika Anda sudah memiliki key ring untuk digunakan kembali. Key ring bersifat regional. Pilih lokasi US region tunggal seperti
us-east5yang sesuai dengan geografi Anthropic yang Anda konfigurasikan. Lokasi multi-region sepertiusdanglobaltidak didukung.gcloud kms keyrings create <your-keyring-name> \ --project=<your-project-id> \ --location=<region>Buat crypto key
Buat kunci simetris dengan tujuan
ENCRYPT_DECRYPT. Anthropic sangat merekomendasikan perlindungan HSM: kunci HSM Cloud KMS tervalidasi FIPS 140-2 Level 3, dan selisih biayanya dibandingkan kunci perangkat lunak kecil.gcloud kms keys create <your-key-name> \ --project=<your-project-id> \ --location=<region> \ --keyring=<your-keyring-name> \ --purpose=encryption \ --protection-level=hsmUntuk perlindungan perangkat lunak sebagai gantinya, hilangkan
--protection-level=hsm. Tidak ada hal lain dalam panduan ini yang berubah.Anda juga dapat membuat kunci dari Google Cloud Console. Buka key ring, klik Create key, pilih Generated key, atur tujuan dan algoritma ke symmetric encrypt and decrypt, lalu pilih HSM di bawah protection level.

Buat kunci symmetric encrypt/decrypt (enkripsi/dekripsi simetris) yang dilindungi HSM. Berikan akses ke kunci untuk service account Anthropic
Diperlukan dua binding IAM tingkat kunci. Keduanya dicakup pada satu crypto key saja, bukan seluruh proyek atau seluruh key ring.
Encrypt dan decrypt, yang digunakan Anthropic untuk mengenkripsi dan mendekripsi data key yang melindungi data workspace Anda ("envelope encryption" (enkripsi amplop)):
gcloud kms keys add-iam-policy-binding <your-key-name> \ --project=<your-project-id> \ --location=<region> \ --keyring=<your-keyring-name> \ --member="serviceAccount:anthropic-cmek-client-us@gcp-anthropic-cmek-clients.iam.gserviceaccount.com" \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypterViewer, untuk pembacaan metadata (
cryptoKeys.get) yang dilakukan Anthropic saat startup untuk memvalidasi tujuan dan algoritma kunci:gcloud kms keys add-iam-policy-binding <your-key-name> \ --project=<your-project-id> \ --location=<region> \ --keyring=<your-keyring-name> \ --member="serviceAccount:anthropic-cmek-client-us@gcp-anthropic-cmek-clients.iam.gserviceaccount.com" \ --role=roles/cloudkms.viewerDari Console, pilih kunci, buka panel Permissions, klik Grant access, dan tambahkan service account dengan kedua peran Cloud KMS CryptoKey Encrypter/Decrypter dan Cloud KMS Viewer. Pastikan Anda berada di halaman permissions milik kunci, bukan key ring atau proyek, sehingga pemberian akses hanya dicakup pada kunci ini.

Berikan kedua peran kepada service account Anthropic melalui Grant access (berikan akses), dicakup pada kunci. Catat nama resource lengkap kunci
Anda memberikan ini kepada Anthropic saat mendaftarkan kunci. Formatnya adalah:
projects/<your-project-id>/locations/<region>/keyRings/<your-keyring-name>/cryptoKeys/<your-key-name>Ambil dengan:
gcloud kms keys describe <your-key-name> \ --project=<your-project-id> \ --location=<region> \ --keyring=<your-keyring-name> \ --format="value(name)"Dari Console, buka halaman detail kunci dan klik Copy resource name.

Salin nama resource lengkap kunci melalui Copy resource name (salin nama resource) dari menu tindakan.
Daftarkan kunci ke Anthropic
Cara Anda mendaftarkan kunci bergantung pada produk yang Anda gunakan.
Daftarkan kunci ke Anthropic
Buat konfigurasi kunci eksternal melalui Admin API, menggunakan nama resource dari langkah Catat nama resource lengkap kunci di bagian Penyiapan kunci enkripsi.
client = anthropic.Anthropic() external_key = client.beta.organization.external_keys.create( display_name="<friendly-name>", geo="us", provider_config={ "type": "gcp", "key_name": "projects/<your-project-id>/locations/<region>/keyRings/<your-keyring-name>/cryptoKeys/<your-key-name>", }, ) print(f"id: {external_key.id}") print(f"display_name: {external_key.display_name}")Respons berisi ID kunci eksternal:
{ "type": "external_key", "id": "ekey_<id>", "display_name": "<friendly-name>" }Validasi kunci
Picu proses bolak-balik enkripsi dan dekripsi terhadap kunci Anda.
client = anthropic.Anthropic() validation = client.beta.organization.external_keys.validate("ekey_<id>") print(f"status: {validation.status}") print(f"error: {validation.error}")Respons yang berhasil terlihat seperti ini:
{ "type": "external_key_validation", "status": "success", "error": null }Jika validasi gagal, penyebab umumnya adalah:
- VPC Service Controls: jika service perimeter melindungi Cloud KMS di proyek Anda, tambahkan Anthropic ke access level pada perimeter tersebut (atau kecualikan proyek kunci) agar Anthropic dapat menjangkau kunci.
- Domain restricted sharing: kebijakan organisasi
constraints/iam.allowedPolicyMemberDomainsdapat menghapus binding service account Anthropic (lihat catatan sebelumnya). Pastikan binding tersebut ada dengangcloud kms keys get-iam-policy <your-key-name> --project=<your-project-id> --location=<region> --keyring=<your-keyring-name>. - Versi kunci dinonaktifkan atau dihancurkan: pastikan versi utama kunci diaktifkan, dan tidak dinonaktifkan, dijadwalkan untuk dihancurkan, atau sudah dihancurkan.
Lampirkan kunci ke workspace
Setelah kunci divalidasi, lampirkan ke workspace baru sebelum Anda mengirim permintaan apa pun ke workspace tersebut. Untuk workspace yang sudah menerima permintaan, kunci dapat memerlukan waktu hingga satu hari untuk berlaku.
client = anthropic.Anthropic() workspace = client.beta.organization.workspaces.update( "<workspace-id>", external_key_id="ekey_<id>" ) print(f"id: {workspace.id}") print(f"external_key_id: {workspace.external_key_id}")
Terraform
Untuk deployment infrastructure-as-code, langkah-langkah yang sama dipetakan ke provider google dengan resource google_kms_key_ring, google_kms_crypto_key, dan google_kms_crypto_key_iam_member.
Was this page helpful?