MongoDB\Driver\Manager::createClientEncryption

(mongodb >=1.7.0)

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

Описание

final public 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.

Ошибки

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

Версия Описание
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".

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

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top