• Сообщения
  • Управляемые агенты
  • Администрирование
Search...
⌘K
Организация
Admin APIРабочие пространства
Аутентификация
ОбзорФедерация удостоверений рабочих нагрузокСправочник по WIF
Мониторинг
API использования и затратAPI ограничений скоростиAPI аналитики Claude Code
Данные и соответствие требованиям
Резидентность данныхAPI и хранение данных
ОбзорAWS KMSGoogle Cloud KMSAzure Key Vault
Compliance API
ОбзорПолучение доступаЛента активностиЧаты, файлы и проектыОрганизации, пользователи, роли и группыПроектирование интеграцииОшибкиЧасто задаваемые вопросы
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
Администрирование/Ключи шифрования

Настройка AWS KMS для CMEK

Используйте AWS KMS для предоставления ключа шифрования вашей организации.
Configure with the /claude-api skill in Claude Code
claude "/claude-api help me configure a customer-managed encryption key with AWS KMS"

Это руководство описывает настройку ключа AWS KMS в качестве «customer-managed encryption key» (ключа шифрования, управляемого клиентом), или CMEK, для вашей организации Anthropic.

Включение CMEK необратимо. Если ваш ключ KMS будет удалён или отключён, Anthropic не сможет восстановить данные, зашифрованные с его помощью. Ознакомьтесь с предупреждениями и ограничениями, прежде чем начать.

Предварительные требования

  • Учётная запись AWS с разрешениями на создание ключей KMS и настройку политик ключей (kms:CreateKey и kms:PutKeyPolicy).
  • Ключ Admin API Anthropic для вашей организации.
  • Установленный и аутентифицированный AWS CLI.

Amazon Resource Name (ARN) для Anthropic

Чтобы Anthropic могла использовать ваш ключ шифрования, вы должны предоставить IAM-роли Anthropic ключ KMS, который она сможет использовать для шифрования данных. ARN для Anthropic CMEK:

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

Используйте только этот опубликованный ARN. Никогда не доверяйте идентификатору, полученному по электронной почте, в чате или через любой канал онбординга.

Настройка ключа шифрования

  1. 1

    Создайте ключ KMS с политикой ключа для межаккаунтного доступа

    Политика ключа предоставляет IAM-роли Anthropic межаккаунтный доступ. Требуются три инструкции (statements):

    1. Администратор root-аккаунта: стандартный шаблон KMS. Ваша учётная запись сохраняет полный административный контроль.
    2. Шифрование и расшифровка для Anthropic: действия kms:Encrypt и kms:Decrypt, которые Anthropic использует для шифрования и расшифровки ключей данных, защищающих данные вашего рабочего пространства (конвертное шифрование).
    3. Описание для Anthropic: чтение метаданных, которое Anthropic выполняет при запуске. Оно предоставляется отдельно, поскольку DescribeKey не имеет параметра EncryptionContext, поэтому условие EncryptionContext для этого действия всегда приводило бы к отказу.
    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\": \"*\"
          }
        ]
      }"

    Сохраните значение KeyMetadata.Arn из вывода. Оно понадобится вам при регистрации ключа на следующем шаге.

    Условие EncryptionContext рекомендуется, но не является обязательным. Anthropic всегда включает идентификатор компартмента вашего рабочего пространства в контекст шифрования, поэтому шифротекст в любом случае криптографически привязан к этому компартменту. Добавление условия обеспечивает дополнительный уровень защиты на уровне IAM. Чтобы начать без него, опустите блок Condition в инструкции AllowAnthropicCMEKCrypto и добавьте его позже с помощью kms:PutKeyPolicy.

    Как найти идентификатор компартмента: каждое рабочее пространство имеет идентификатор компартмента, который определяет область его данных CMEK. Найдите его в Claude Console в разделе Workspace > Security > Encryption keys (поле Compartment ID) или считайте поле compartment_id, возвращаемое эндпоинтом Get Workspace. Подставьте это значение вместо <compartment-uuid> в приведённой выше политике ключа. Anthropic также отправляет его в качестве контекста шифрования при валидации ключа, поэтому значение условия должно совпадать, чтобы валидация прошла успешно.

    Вы также можете создать ключ через AWS Console. Выберите симметричный ключ с назначением «encrypt and decrypt», ключ для одного региона и источник материала ключа KMS. Мастер создания ключа фиксирует политику ключа на шаге Review: если вы добавите идентификатор учётной записи Anthropic 915198916910 в разделе разрешений на использование ключа, сгенерированная политика предоставит всей учётной записи Anthropic более широкие действия (такие как kms:ReEncrypt* и kms:GenerateDataKey*) без условия EncryptionContext, и валидация всё равно пройдёт успешно. Чтобы не оставлять ключ с избыточными разрешениями, завершите работу мастера только с административными разрешениями, затем откройте вкладку Key policy ключа и замените JSON на политику с ограничением по роли, показанную выше (три инструкции, ограниченные ролью anthropic-cmek-client-us, с условием EncryptionContext).

    Мастер создания ключа AWS KMS на шаге Configure key: выбран тип ключа Symmetric, назначение Encrypt and decrypt и Single-Region key.
    Configure key (Настройка ключа): симметричный, encrypt and decrypt (шифрование и расшифровка), ключ для одного региона.
    Шаг Add labels в AWS KMS с псевдонимом anthropic-cmek и описанием Anthropic CMEK.
    Add labels (Добавление меток): добавьте псевдоним и описание для ключа.
    Шаг Define key administrative permissions в AWS KMS со списком IAM-ролей, которые могут администрировать ключ.
    Define key administrative permissions (Определение административных разрешений ключа) — необязательно. Ваша учётная запись сохраняет полный административный контроль.
    Шаг Define key usage permissions в AWS KMS, показанный как антипаттерн: добавление идентификатора учётной записи Anthropic 915198916910 в разделе Other AWS accounts приводит к политике с избыточными разрешениями. Пропустите этот шаг и оставьте его пустым.
    Не добавляйте здесь идентификатор учётной записи Anthropic. Этот шаг мастера создаёт политику с избыточными разрешениями. Оставьте разрешения на использование пустыми и отредактируйте JSON политики ключа после создания (см. выше).
  2. 2

    Зарегистрируйте ключ в Anthropic

    Создайте конфигурацию внешнего ключа через 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"
        }
      }'

    Ответ содержит идентификатор внешнего ключа:

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

    Выполните валидацию ключа

    Запустите цикл шифрования и расшифровки с использованием вашего ключа.

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

    Успешный ответ выглядит так:

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

    Если валидация не проходит, распространённые причины следующие:

    • Несоответствие контекста шифрования: если вы сохранили условие EncryptionContext в политике ключа, убедитесь, что вы заменили <compartment-uuid> на фактический идентификатор компартмента вашего рабочего пространства (см. шаг 1). Неверное или неподставленное значение приводит к тому, что KMS возвращает непрозрачную ошибку AccessDeniedException. Чтобы исключить эту причину, временно удалите блок Condition из инструкции AllowAnthropicCMEKCrypto и повторите валидацию.
    • Политики управления ресурсами (RCP): если в вашей организации AWS есть RCP, которая запрещает операции KMS, когда aws:PrincipalOrgID не соответствует вашей организации, она блокирует межаккаунтную роль Anthropic. В RCP необходимо добавить исключение для этого ключа или для ARN роли Anthropic. Политики управления сервисами (SCP) здесь не применяются, поскольку они не оцениваются для внешних принципалов, обращающихся через политики на основе ресурсов.
    • Доступ предоставлен через IAM вместо политики ключа: межаккаунтный доступ к KMS должен предоставляться в самой политике ключа, а не через IAM-политику в вашей учётной записи. Проверьте с помощью aws kms get-key-policy --key-id <id> --policy-name default.
    • Несоответствие региона: убедитесь, что регион ключа входит в число регионов, в которых Anthropic работает для настроенного вами географического уровня.
  4. 4

    Привяжите ключ к рабочему пространству

    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

Для развёртываний по принципу «infrastructure-as-code» (инфраструктура как код) те же шаги соответствуют провайдеру aws с ресурсами aws_kms_key и aws_kms_alias.

Was this page helpful?

  • Предварительные требования
  • Amazon Resource Name (ARN) для Anthropic
  • Настройка ключа шифрования
  • Terraform