• Pesan
  • Managed Agents
  • Admin
Search...
⌘K
Organisasi
Admin APIWorkspace
Autentikasi
IkhtisarWorkload Identity FederationReferensi WIF
Pemantauan
Usage and Cost APIRate Limits APIClaude Code Analytics API
Data & kepatuhan
Residensi dataAPI dan retensi data
IkhtisarAWS KMSGoogle Cloud KMSAzure Key Vault
Compliance API
IkhtisarDapatkan aksesFeed AktivitasObrolan, file, dan proyekOrganisasi, pengguna, peran, dan grupRancang integrasi AndaKesalahanFAQ
Log in
AWS KMS
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Solutions

  • AI agents
  • Code modernization
  • Coding
  • Customer support
  • Education
  • Financial services
  • Government
  • Life sciences

Partners

  • Amazon Bedrock
  • Google Cloud's Vertex AI

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Company

  • Anthropic
  • Careers
  • Economic Futures
  • Research
  • News
  • Responsible Scaling Policy
  • Security and compliance
  • Transparency

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Help and security

  • Availability
  • Status
  • Support
  • Discord

Terms and policies

  • Privacy policy
  • Responsible disclosure policy
  • Terms of service: Commercial
  • Terms of service: Consumer
  • Usage policy
Admin/Kunci enkripsi

Mengonfigurasi AWS KMS untuk CMEK

Gunakan AWS KMS untuk menyediakan kunci enkripsi bagi organisasi Anda.
Configure with the /claude-api skill in Claude Code
claude "/claude-api help me configure a customer-managed encryption key with AWS KMS"

Panduan ini menjelaskan langkah-langkah mengonfigurasi kunci AWS KMS sebagai "customer-managed encryption key" (kunci enkripsi yang dikelola pelanggan), atau CMEK, untuk organisasi Anthropic Anda.

Mengaktifkan CMEK bersifat permanen. Jika kunci KMS Anda dihapus atau dinonaktifkan, Anthropic tidak dapat memulihkan data yang dienkripsi dengan kunci tersebut. Tinjau peringatan dan batasan sebelum Anda memulai.

Prasyarat

  • Akun AWS dengan izin untuk membuat kunci KMS dan mengatur kebijakan kunci (kms:CreateKey dan kms:PutKeyPolicy).
  • Kunci Admin API Anthropic untuk organisasi Anda.
  • AWS CLI yang sudah terinstal dan terautentikasi.

Amazon Resource Name (ARN) untuk Anthropic

Agar Anthropic dapat menggunakan kunci enkripsi Anda, Anda harus memberikan IAM role milik Anthropic sebuah kunci KMS yang dapat digunakan untuk mengenkripsi data. ARN untuk CMEK Anthropic adalah:

arn:aws:iam::915198916910:role/anthropic-cmek-client-us

Gunakan hanya ARN yang dipublikasikan ini. Jangan pernah memercayai pengidentifikasi yang diberikan melalui email, chat, atau saluran onboarding apa pun.

Penyiapan kunci enkripsi

  1. 1

    Buat kunci KMS dengan kebijakan kunci lintas akun

    Kebijakan kunci memberikan akses lintas akun kepada IAM role milik Anthropic. Tiga pernyataan diperlukan:

    1. Account root admin: pola KMS standar. Akun Anda tetap memegang kontrol admin penuh.
    2. Anthropic encrypt and decrypt: tindakan kms:Encrypt dan kms:Decrypt, yang digunakan Anthropic untuk mengenkripsi dan mendekripsi kunci data yang melindungi data workspace Anda (envelope encryption).
    3. Anthropic describe: pembacaan metadata yang dilakukan Anthropic saat startup. Ini diberikan secara terpisah karena DescribeKey tidak memiliki parameter EncryptionContext, sehingga kondisi EncryptionContext pada tindakan ini akan selalu menolak.
    export YOUR_ACCOUNT=$(aws sts get-caller-identity --query Account --output text)
    
    aws kms create-key \
      --region <region> \
      --description "Anthropic CMEK" \
      --key-usage ENCRYPT_DECRYPT \
      --policy "{
        \"Version\": \"2012-10-17\",
        \"Statement\": [
          {
            \"Sid\": \"AccountRootAdmin\",
            \"Effect\": \"Allow\",
            \"Principal\": {\"AWS\": \"arn:aws:iam::${YOUR_ACCOUNT}:root\"},
            \"Action\": \"kms:*\",
            \"Resource\": \"*\"
          },
          {
            \"Sid\": \"AllowAnthropicCMEKCrypto\",
            \"Effect\": \"Allow\",
            \"Principal\": {\"AWS\": \"arn:aws:iam::915198916910:role/anthropic-cmek-client-us\"},
            \"Action\": [\"kms:Encrypt\", \"kms:Decrypt\"],
            \"Resource\": \"*\",
            \"Condition\": {
              \"StringEquals\": {
                \"kms:EncryptionContext:anthropic:compartment_uuid\": \"<compartment-uuid>\"
              }
            }
          },
          {
            \"Sid\": \"AllowAnthropicCMEKDescribe\",
            \"Effect\": \"Allow\",
            \"Principal\": {\"AWS\": \"arn:aws:iam::915198916910:role/anthropic-cmek-client-us\"},
            \"Action\": \"kms:DescribeKey\",
            \"Resource\": \"*\"
          }
        ]
      }"

    Catat KeyMetadata.Arn dari output. Anda memerlukannya saat mendaftarkan kunci pada langkah berikutnya.

    Kondisi EncryptionContext direkomendasikan tetapi bersifat opsional. Anthropic selalu menyertakan compartment ID workspace Anda dalam encryption context, sehingga ciphertext secara kriptografis terikat ke compartment tersebut terlepas dari kondisi ini. Menambahkan kondisi ini memberikan pertahanan berlapis (defense-in-depth) di lapisan IAM. Untuk memulai tanpa kondisi ini, hilangkan blok Condition dari pernyataan AllowAnthropicCMEKCrypto dan tambahkan nanti dengan kms:PutKeyPolicy.

    Menemukan compartment ID Anda: Setiap workspace memiliki compartment ID yang membatasi cakupan data CMEK-nya. Temukan di Claude Console pada Workspace > Security > Encryption keys (kolom Compartment ID), atau baca kolom compartment_id yang dikembalikan oleh endpoint Get Workspace. Substitusikan nilai tersebut untuk <compartment-uuid> dalam kebijakan kunci di atas. Anthropic juga mengirimkannya sebagai encryption context saat memvalidasi kunci, sehingga nilai kondisi harus cocok agar validasi berhasil.

    Anda juga dapat membuat kunci dari AWS Console. Pilih kunci simetris dengan penggunaan kunci encrypt and decrypt, kunci single-region, dan asal materi kunci KMS. Wizard Create-key menetapkan kebijakan kunci pada langkah Review: jika Anda menambahkan ID akun Anthropic 915198916910 di bawah key usage permissions di sana, kebijakan yang dihasilkan memberikan seluruh akun Anthropic tindakan yang lebih luas (seperti kms:ReEncrypt* dan kms:GenerateDataKey*) tanpa kondisi EncryptionContext, dan validasi tetap akan berhasil terhadapnya. Untuk menghindari meninggalkan kunci dengan izin berlebihan, selesaikan wizard hanya dengan izin administratif, lalu buka tab Key policy pada kunci tersebut dan ganti JSON dengan kebijakan yang dibatasi ke role seperti yang ditunjukkan di atas (tiga pernyataan yang dibatasi ke role anthropic-cmek-client-us, dengan kondisi EncryptionContext).

    Wizard Create key AWS KMS pada langkah Configure key, dengan tipe kunci Symmetric, penggunaan kunci Encrypt and decrypt, dan Single-Region key dipilih.
    Configure key (konfigurasi kunci): symmetric, encrypt and decrypt, single-region key.
    Langkah Add labels AWS KMS dengan alias anthropic-cmek dan deskripsi Anthropic CMEK.
    Tambahkan alias dan deskripsi untuk kunci.
    Langkah Define key administrative permissions AWS KMS yang mencantumkan IAM role yang dapat mengelola kunci.
    Define key administrative permissions (tentukan izin administratif kunci) — opsional. Akun Anda tetap memegang kontrol admin penuh.
    Langkah Define key usage permissions AWS KMS ditampilkan sebagai anti-pola: menambahkan ID akun Anthropic 915198916910 di bawah Other AWS accounts di sini menghasilkan kebijakan dengan izin berlebihan. Lewati langkah ini dan biarkan kosong.
    Jangan tambahkan ID akun Anthropic di sini. Langkah wizard ini menghasilkan kebijakan dengan izin berlebihan. Biarkan usage permissions kosong dan edit JSON Key policy setelah pembuatan (lihat di atas).
  2. 2

    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": "aws",
          "kms_arn": "<key-arn-from-step-1>",
          "role_arn": "arn:aws:iam::915198916910:role/anthropic-cmek-client-us"
        }
      }'

    Respons berisi ID kunci eksternal:

  3. 3

    Validasi kunci

    Picu proses encrypt dan decrypt bolak-balik terhadap kunci Anda.

    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 }
  4. 4

    Lampirkan kunci ke workspace

    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>"
      }'

Terraform

Untuk deployment infrastructure-as-code, langkah-langkah yang sama dipetakan ke provider aws dengan sumber daya aws_kms_key dan aws_kms_alias.

Was this page helpful?

  • Prasyarat
  • Amazon Resource Name (ARN) untuk Anthropic
  • Penyiapan kunci enkripsi
  • Terraform
{
  "type": "external_key",
  "id": "ekey_<id>",
  "display_name": "<friendly-name>"
}

Jika validasi gagal, penyebab umumnya adalah:

  • Ketidakcocokan encryption context: jika Anda mempertahankan kondisi EncryptionContext dalam kebijakan kunci, pastikan Anda telah mengganti <compartment-uuid> dengan compartment ID workspace Anda yang sebenarnya (lihat langkah 1). Nilai yang salah atau belum disubstitusi membuat KMS mengembalikan AccessDeniedException yang tidak jelas. Untuk mengesampingkan kemungkinan ini, hapus sementara blok Condition dari pernyataan AllowAnthropicCMEKCrypto dan validasi ulang.
  • Resource control policies (RCP): jika organisasi AWS Anda memiliki RCP yang menolak operasi KMS ketika aws:PrincipalOrgID tidak cocok dengan org Anda, RCP tersebut memblokir role lintas akun milik Anthropic. RCP memerlukan pengecualian untuk kunci ini atau untuk ARN role Anthropic. Service control policies tidak berlaku di sini, karena tidak dievaluasi untuk principal eksternal yang memanggil melalui kebijakan berbasis sumber daya.
  • Akses diberikan melalui IAM alih-alih kebijakan kunci: akses KMS lintas akun harus diberikan dalam kebijakan kunci itu sendiri, bukan melalui kebijakan IAM di akun Anda. Periksa dengan aws kms get-key-policy --key-id <id> --policy-name default.
  • Ketidakcocokan region: pastikan region kunci adalah salah satu region tempat Anthropic beroperasi untuk tingkat geo yang Anda konfigurasikan.