Создание нового объекта ClientEncryption

# MongoDB\Driver\Manager::createClientEncryption

(mongodb >=1.7.0)

MongoDB\Driver\Manager::createClientEncryption — Создание нового объекта ClientEncryption

### Описание

final public function MongoDB\Driver\Manager::createClientEncryption(array `$options`): MongoDB\Driver\ClientEncryption

Создаёт новый объект MongoDB\Driver\ClientEncryption с заданными параметрами.

### Список параметров

`options`

  options
  Параметр | Тип | Описание
  --- | --- | ---
  keyVaultClient | MongoDB\Driver\Manager | Менеджер маршрутизации запросов ключей данных в отдельный кластер MongoDB. По умолчанию метод выбирает текущий менеджер и кластер.
  keyVaultNamespace | string | Полное пространство имён (например, `"databaseName.collectionName"`), обозначающее коллекцию, которая содержит все ключи данных, используемые для шифрования и дешифрования. Обязательный параметр.
  kmsProviders | array | Документ, содержащий конфигурацию для одного или нескольких провайдеров KMS, которые используются для шифрования ключей данных. Поддерживаются провайдеры `"aws"`, `"azure"`, `"gcp"` и `"local"`, и, по крайней мере, один из них должен быть указан. Если для `"aws"`, `"azure"` или `"gcp"` указан пустой документ, драйвер попытается сконфигурировать провайдера, используя » Автоматические учётные данные. Формат для `"aws"` выглядит следующим образом:
      aws: {
          accessKeyId: <string>,
          secretAccessKey: <string>,
          sessionToken: <optional string>
      }
  Формат для `"azure"` выглядит следующим образом:
      azure: {
          tenantId: <string>,
          clientId: <string>,
          clientSecret: <string>,
          identityPlatformEndpoint: <optional string> // По умолчанию "login.microsoftonline.com"

      }
  Формат для `"gcp"` выглядит следующим образом:
      gcp: {
          email: <string>,
          privateKey: <base64 string>|<MongoDB\BSON\Binary>,
          endpoint: <optional string> // По умолчанию "oauth2.googleapis.com"

      }
  Формат для `"kmip"` выглядит следующим образом:
      kmip: {
          endpoint: <string>
      }
  Формат для `"local"` выглядит следующим образом:
      local: {
          // 96-байтовый главный ключ, используемый для шифрования/дешифрования ключей данных
          key: <base64 string>|<MongoDB\BSON\Binary>
      }
  tlsOptions | array | Документ, содержащий конфигурацию TLS для одного или нескольких KMS провайдеров. Поддерживаются провайдеры `"aws"`, `"azure"`, `"gcp"` и `"kmip"`. Все провайдеры поддерживают следующие опции:
      <provider>: {
          tlsCaFile: <optional string>,
          tlsCertificateKeyFile: <optional string>,
          tlsCertificateKeyFilePassword: <optional string>,
          tlsDisableOCSPEndpointCheck: <optional bool>
      }

### Возвращаемые значения

Возвращает новый экземпляр MongoDB\Driver\ClientEncryption.

### Ошибки

- При ошибке парсинга аргумента метод выбрасывает исключение MongoDB\Driver\Exception\InvalidArgumentException.
- Выбрасывает исключение MongoDB\Driver\Exception\RuntimeException если модуль был скомпилирован без поддержки libmongocrypt

### Список изменений

Версия | Описание
--- | ---
PECL mongodb 1.16.0 | Провайдер AWS KMS для шифрования на стороне клиента теперь принимает параметр `"sessionToken"`, который можно использовать для аутентификации с временными учётными данными AWS. Для опции `"tlsOptions"` добавлена настройка `"tlsDisableOCSPEndpointCheck"`. Если для KMS-провайдеров `"azure"` или `"gcp"` указан пустой документ, драйвер попытается сконфигурировать провайдера, заполнив » Автоматические учётные данные.
PECL mongodb 1.15.0 | Если для KMS-провайдера `"aws"` указан пустой документ, драйвер попытается сконфигурировать провайдера, заполнив » Автоматические учётные данные.
PECL mongodb 1.12.0 | KMIP теперь поддерживается в качестве KMS провайдера для шифрования на стороне клиента и может быть настроен с помощью параметра `"kmsProviders"`. Добавлен параметр `"tlsOptions"`.
PECL mongodb 1.10.0 | Azure и GCP теперь поддерживаются в качестве поставщиков KMS для шифрования на стороне клиента и могут быть настроены в поле `"kmsProviders"` параметра драйвера `"autoEncryption"`. Строки в кодировке Base64 теперь принимаются в качестве альтернативы MongoDB\BSON\Binary для параметров внутри `"kmsProviders"`.

### Смотрите также

- MongoDB\Driver\ClientEncryption::__construct() - Создаёт новый объект ClientEncryption
- Страница в руководстве по MongoDB: » Явное (ручное) шифрование на уровне поля на стороне клиента

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open