claude "/claude-api help me configure a customer-managed encryption key with Azure Key Vault"Panduan ini menjelaskan cara mengonfigurasi kunci Azure Key Vault sebagai customer-managed encryption key (CMEK) untuk organisasi Anthropic Anda.
Mengaktifkan CMEK bersifat permanen. Jika kunci Key Vault Anda dihapus atau dinonaktifkan, Anthropic tidak dapat memulihkan data yang dienkripsi dengan kunci tersebut. Tinjau peringatan dan batasan sebelum Anda memulai.
enableRbacAuthorization: true) dan akses jaringan publik diizinkan. Anthropic memanggil vault Anda melalui endpoint data-plane publik; private endpoint tidak didukung.enablePurgeProtection: true) pada vault. Tanpanya, kunci yang dihapus dapat dibersihkan secara permanen selama jendela retensi soft-delete, menyebabkan kehilangan data yang dilindungi CMEK Anda secara tidak dapat dipulihkan. Purge protection tidak dapat dinonaktifkan setelah diaktifkan.Application Administrator, Cloud Application Administrator, atau peran kustom yang setara).az CLI terpasang dan terautentikasi.AuditEvent ke Log Analytics, akun penyimpanan, atau event hub. Azure Key Vault tidak mengeluarkan log audit data-plane (seperti KeyWrap, KeyUnwrap, dan KeyGet) secara default, jadi tanpa ini Anda tidak mendapatkan jejak audit untuk operasi kunci Anthropic.Agar Anthropic menggunakan kunci enkripsi Anda, Anda harus mengonfigurasi ID aplikasi multitenant Anthropic dan nama tampilannya. Nilai-nilai tersebut adalah:
| Field | Value |
|---|---|
| Client ID aplikasi multitenant (US) | 8635ae1a-3e5d-44e8-a4ed-e0f614466f87 |
| Nama tampilan aplikasi | anthropic-cmek-client-us |
Gunakan hanya client ID dan nama tampilan yang dipublikasikan ini. Jangan pernah mempercayai pengidentifikasi yang diberikan melalui email, chat, atau saluran onboarding apa pun.
Berikan persetujuan untuk aplikasi multitenant Anthropic
Ini membuat service principal di tenant Entra Anda untuk aplikasi klien CMEK Anthropic. Aplikasi ini tidak meminta izin Microsoft Graph apa pun; aplikasi ini hanya ada sebagai target federasi untuk akses data-plane Key Vault.
az ad sp create --id 8635ae1a-3e5d-44e8-a4ed-e0f614466f87Dari output, catat field id. Ini adalah object ID service principal di tenant Anda, yang Anda gunakan saat menetapkan peran RBAC.
{
"appId": "8635ae1a-3e5d-44e8-a4ed-e0f614466f87",
"displayName": "anthropic-cmek-client-us",
"id": "<sp-object-id>"
}Jika service principal sudah ada di tenant Anda (dari percobaan sebelumnya atau integrasi lain), az ad sp create keluar dengan kesalahan "already exists". Ambil object ID-nya sebagai gantinya:
az ad sp show --id 8635ae1a-3e5d-44e8-a4ed-e0f614466f87 --query id -o tsvLangkah ini tidak memiliki padanan di Portal. Jika Anda tidak memiliki Azure CLI terpasang secara lokal, buka Cloud Shell dari bilah navigasi atas Portal. Setelah perintah berhasil, Anda dapat menemukan object ID service principal di Microsoft Entra ID > Enterprise applications dengan menghapus filter tipe aplikasi default dan mencari anthropic-cmek-client-us.

Buat kunci RSA di vault Anda
Azure Key Vault tidak mendukung symmetric key wrapping, jadi kunci harus berupa RSA (3072-bit atau lebih besar) dengan wrapKey dan unwrapKey dalam operasi yang diizinkan.
az keyvault key create \
--vault-name <your-vault-name> \
--name <your-key-name> \
--kty RSA --size 3072 \
--ops wrapKey unwrapKeyUntuk kunci yang didukung HSM, gunakan --kty RSA-HSM (memerlukan vault dengan SKU Premium). Kunci RSA yang dilindungi perangkat lunak dapat diterima untuk integrasi ini.
Dari Portal, buka Key Vault Anda, pilih Keys, lalu Generate/Import. Atur tipe kunci ke RSA dan ukurannya ke 3072 atau lebih besar. Untuk membatasi kunci hanya untuk wrap dan unwrap, buka versi kunci, gulir ke Permitted operations, dan hapus centang semuanya kecuali Wrap Key dan Unwrap Key.


Berikan akses ke kunci Anda untuk service principal Anthropic
Tetapkan peran Key Vault Crypto User ke service principal dari langkah pertama, dengan cakupan pada kunci individual alih-alih seluruh vault.
VAULT_ID=$(az keyvault show --name <your-vault-name> --query id -o tsv)
az role assignment create \
--role "Key Vault Crypto User" \
--assignee-object-id <sp-object-id> \
--assignee-principal-type ServicePrincipal \
--scope "${VAULT_ID}/keys/<your-key-name>"Peran bawaan Key Vault Crypto User memberikan operasi kriptografi kunci (encrypt, decrypt, wrap, unwrap, sign, verify) ditambah pembacaan kunci pada cakupan yang ditetapkan. Pembatasan --ops wrapKey unwrapKey yang Anda atur pada kunci di langkah sebelumnya lebih lanjut mempersempit operasi mana yang dapat berhasil terhadap kunci ini, jadi dalam praktiknya Anthropic hanya dapat melakukan wrap dan unwrap.
Dari Portal, buka kunci (bukan vault), pilih tab Access control (IAM)-nya, klik Add > Add role assignment, pilih Key Vault Crypto User, dan tetapkan ke service principal anthropic-cmek-client-us.
Alternatif vault khusus: Microsoft merekomendasikan vault khusus per aplikasi dengan peran yang ditetapkan pada cakupan vault. Jika Anda menyediakan vault yang hanya menyimpan kunci CMEK Anthropic ini, Anda dapat menetapkan peran pada cakupan vault sebagai gantinya dan efeknya identik. Gunakan cakupan pada kunci individual ketika kunci berada di vault bersama.

Verifikasi konfigurasi vault Anda
az keyvault show --name <your-vault-name> \
--query "{rbac:properties.enableRbacAuthorization, purge:properties.enablePurgeProtection, pub:properties.publicNetworkAccess, net:properties.networkAcls.defaultAction, ipRules:properties.networkAcls.ipRules, uri:properties.vaultUri, tenantId:properties.tenantId}"Konfirmasikan bahwa:
rbac adalah true.purge adalah true. Jika nilainya false atau null, aktifkan purge protection pada vault sebelum melanjutkan. Tanpanya, kunci yang di-soft-delete dapat dibersihkan secara permanen selama jendela retensi, membuat data yang dilindungi CMEK Anda tidak dapat dipulihkan.pub adalah "Enabled". Jika nilainya "Disabled", Anthropic tidak dapat menjangkau vault melalui endpoint data-plane publiknya dan validasi gagal.net adalah "Allow", atau, jika nilainya "Deny", pastikan ipRules menyertakan rentang egress Anthropic (hubungi Anthropic untuk daftar terkini).uri adalah URI vault yang Anda gunakan saat mendaftarkan kunci.tenantId adalah tenant yang mengatur vault. Gunakan nilai ini sebagai tenant_id saat Anda mendaftarkan kunci, bukan tenant dari langganan yang sedang aktif (keduanya dapat berbeda dalam penyiapan lintas tenant).Cara Anda mendaftarkan kunci bergantung pada produk yang Anda gunakan.
Daftarkan kunci ke Anthropic
Buat konfigurasi kunci eksternal melalui Admin API.
curl -sS https://api.anthropic.com/v1/organizations/external_keys \
-H "x-api-key: <anthropic-admin-api-key>" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"display_name": "<friendly-name>",
"geo": "us",
"provider_config": {
"type": "azure",
"vault_uri": "https://<your-vault-name>.vault.azure.net/",
"key_name": "<your-key-name>",
"tenant_id": "<your-tenant-id>"
}
}'Respons berisi ID kunci eksternal:
{
"type": "external_key",
"id": "ekey_<id>",
"display_name": "<friendly-name>"
}Validasi kunci
Picu round-trip enkripsi dan dekripsi terhadap kunci Anda. Ini mengonfirmasi bahwa Anthropic dapat melakukan autentikasi ke tenant Anda dan melakukan operasi wrap dan unwrap.
curl -sS -X POST https://api.anthropic.com/v1/organizations/external_keys/ekey_<id>/validate \
-H "x-api-key: <anthropic-admin-api-key>" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" -d '{}'Respons yang berhasil terlihat seperti ini:
{ "type": "external_key_validation", "status": "success", "error": null }Jika validasi gagal, field error menjelaskan masalahnya. Penyebab umum adalah:
ipRules seperti yang dijelaskan pada langkah verifikasi.Lampirkan kunci ke workspace
Setelah kunci divalidasi, lampirkan ke workspace untuk mengaktifkan CMEK bagi data workspace tersebut.
curl -sS -X POST https://api.anthropic.com/v1/organizations/workspaces/<workspace-id> \
-H "x-api-key: <anthropic-admin-api-key>" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"external_key_id": "ekey_<id>"
}'Untuk deployment infrastructure-as-code, langkah-langkah yang sama dipetakan ke provider azurerm dan azuread.
Was this page helpful?