• Mensajes
  • Agentes gestionados
  • Administración
Search...
⌘K
Organización
API de administraciónEspacios de trabajo
Autenticación
Descripción generalFederación de identidades de carga de trabajoReferencia de WIF
Monitoreo
API de uso y costosAPI de límites de velocidadAPI de análisis de Claude Code
Datos y cumplimiento
Residencia de datosAPI y retención de datos
Descripción generalAWS KMSGoogle Cloud KMSAzure Key Vault
API de cumplimiento
Descripción generalObtener accesoFeed de actividadChats, archivos y proyectosOrganizaciones, usuarios, roles y gruposDiseñar tu integraciónErroresPreguntas frecuentes
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
Administración/Claves de cifrado

Configurar AWS KMS para CMEK

Usa AWS KMS para proporcionar una clave de cifrado para tu organización.

Was this page helpful?

  • Requisitos previos
  • Amazon Resource Name (ARN) para Anthropic
  • Configuración de la clave de cifrado
  • Terraform
Configure with the /claude-api skill in Claude Code
claude "/claude-api help me configure a customer-managed encryption key with AWS KMS"

Esta guía te muestra cómo configurar una clave de AWS KMS como una "customer-managed encryption key" (clave de cifrado gestionada por el cliente), o CMEK, para tu organización de Anthropic.

Habilitar CMEK es permanente. Si tu clave de KMS se elimina o se deshabilita, Anthropic no puede recuperar los datos cifrados con ella. Revisa las advertencias y limitaciones antes de comenzar.

Requisitos previos

  • Una cuenta de AWS con permisos para crear claves de KMS y establecer políticas de clave (kms:CreateKey y kms:PutKeyPolicy).
  • Una clave de API de administrador de Anthropic para tu organización.
  • La AWS CLI instalada y autenticada.

Amazon Resource Name (ARN) para Anthropic

Para que Anthropic use tu clave de cifrado, debes otorgar al rol de IAM de Anthropic una clave de KMS que pueda usar para cifrar datos. El ARN para CMEK de Anthropic es:

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

Usa únicamente este ARN publicado. Nunca confíes en un identificador proporcionado por correo electrónico, chat o cualquier canal de incorporación.

Configuración de la clave de cifrado

Terraform

Para implementaciones de infraestructura como código, los mismos pasos se corresponden con el proveedor aws usando los recursos aws_kms_key y aws_kms_alias.

  1. 1

    Crea la clave de KMS con una política de clave entre cuentas

    La política de clave otorga al rol de IAM de Anthropic acceso entre cuentas. Se requieren tres declaraciones:

    1. Administrador raíz de la cuenta: el patrón estándar de KMS. Tu cuenta conserva el control administrativo completo.
    2. Cifrado y descifrado de Anthropic: las acciones kms:Encrypt y kms:Decrypt, que Anthropic usa para cifrar y descifrar las claves de datos que protegen los datos de tu espacio de trabajo (cifrado de sobre).
    3. Descripción de Anthropic: la lectura de metadatos que Anthropic realiza al inicio. Se otorga por separado porque DescribeKey no tiene un parámetro EncryptionContext, por lo que una condición de EncryptionContext en esta acción siempre denegaría el acceso.
    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\": \"*\"
          }
        ]
      }"

    Captura KeyMetadata.Arn de la salida. Lo necesitarás cuando registres la clave en el siguiente paso.

    La condición EncryptionContext es recomendada pero opcional. Anthropic siempre incluye el ID de compartimento de tu espacio de trabajo en el contexto de cifrado, por lo que el texto cifrado está vinculado criptográficamente a ese compartimento de todas formas. Agregar la condición proporciona defensa en profundidad en la capa de IAM. Para comenzar sin ella, omite el bloque Condition de la declaración AllowAnthropicCMEKCrypto y agrégalo más tarde con kms:PutKeyPolicy.

    Cómo encontrar tu ID de compartimento: Cada espacio de trabajo tiene un ID de compartimento que delimita sus datos de CMEK. Encuéntralo en Claude Console en Workspace > Security > Encryption keys (el campo Compartment ID), o lee el campo compartment_id devuelto por el endpoint Get Workspace. Sustituye ese valor por <compartment-uuid> en la política de clave anterior. Anthropic también lo envía como contexto de cifrado al validar la clave, por lo que el valor de la condición debe coincidir para que la validación tenga éxito.

    También puedes crear la clave desde la consola de AWS. Elige una clave simétrica con uso de clave de cifrado y descifrado, una clave de una sola región y origen de material de clave KMS. El asistente de creación de claves confirma una política de clave en su paso Review: si agregas el ID de cuenta de Anthropic 915198916910 en los permisos de uso de clave allí, la política generada otorga a toda la cuenta de Anthropic acciones más amplias (como kms:ReEncrypt* y kms:GenerateDataKey*) sin condición de EncryptionContext, y la validación aún tendría éxito con ella. Para evitar dejar una clave con permisos excesivos, finaliza el asistente solo con permisos administrativos, luego abre la pestaña Key policy de la clave y reemplaza el JSON con la política limitada al rol que se muestra arriba (las tres declaraciones limitadas al rol anthropic-cmek-client-us, con la condición EncryptionContext).

    Asistente de creación de claves de AWS KMS en el paso Configure key, con tipo de clave Symmetric, uso de clave Encrypt and decrypt y Single-Region key seleccionados.
    Configure key (Configurar clave): simétrica, cifrar y descifrar, clave de una sola región.
    Paso Add labels de AWS KMS con un alias de anthropic-cmek y una descripción de Anthropic CMEK.
    Agrega un alias y una descripción para la clave.
    Paso Define key administrative permissions de AWS KMS que muestra los roles de IAM que pueden administrar la clave.
    Define los permisos administrativos de la clave (opcional). Tu cuenta conserva el control administrativo completo.
    Paso Define key usage permissions de AWS KMS mostrado como antipatrón: agregar el ID de cuenta de Anthropic 915198916910 en Other AWS accounts aquí produce una política con permisos excesivos. Omite este paso y déjalo vacío.
    No agregues el ID de cuenta de Anthropic aquí. Este paso del asistente produce una política con permisos excesivos. Deja los permisos de uso vacíos y edita el JSON de Key policy después de la creación (ver arriba).
  2. 2

    Registra la clave con Anthropic

    Crea una configuración de clave externa a través de la 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"
        }
      }'

    La respuesta contiene el ID de clave externa:

    {
      "type": "external_key",
      "id": "ekey_<id>",
      "display_name": "<friendly-name>"
    }
  3. 3

    Valida la clave

    Activa un ciclo completo de cifrado y descifrado contra tu clave.

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

    Una respuesta exitosa se ve así:

    { "type": "external_key_validation", "status": "success", "error": null }

    Si la validación falla, las causas comunes son:

    • Discrepancia en el contexto de cifrado: si mantuviste la condición EncryptionContext en la política de clave, confirma que reemplazaste <compartment-uuid> con el ID de compartimento real de tu espacio de trabajo (ver paso 1). Un valor incorrecto o sin sustituir hace que KMS devuelva una AccessDeniedException opaca. Para descartarlo, elimina temporalmente el bloque Condition de la declaración AllowAnthropicCMEKCrypto y vuelve a validar.
    • Políticas de control de recursos (RCPs): si tu organización de AWS tiene una RCP que deniega operaciones de KMS cuando aws:PrincipalOrgID no coincide con tu organización, esta bloquea el rol entre cuentas de Anthropic. La RCP necesita una excepción para esta clave o para el ARN del rol de Anthropic. Las políticas de control de servicios no aplican aquí, porque no se evalúan para principales externos que llaman a través de políticas basadas en recursos.
    • Acceso otorgado mediante IAM en lugar de la política de clave: el acceso entre cuentas de KMS debe otorgarse en la propia política de clave, no a través de una política de IAM en tu cuenta. Verifícalo con aws kms get-key-policy --key-id <id> --policy-name default.
    • Discrepancia de región: confirma que la región de la clave sea una en la que Anthropic opera para el nivel geográfico que configuraste.
  4. 4

    Adjunta la clave a un espacio de trabajo

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