Dutch PHP Conference 2025 - Call For Papers

MongoDB\Driver\Manager::createClientEncryption

(mongodb >=1.7.0)

MongoDB\Driver\Manager::createClientEncryptionCreate a new ClientEncryption object

Опис

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

Constructs a new MongoDB\Driver\ClientEncryption object with the specified options.

Параметри

options

options
Option Type Description
keyVaultClient MongoDB\Driver\Manager Менеджер, який використовується для маршрутизації запитів ключів даних до окремого кластера MongoDB. Початково використовується поточний менеджер і кластер.
keyVaultNamespace string Повна назва простору імен (напр. "databaseName.collectionName"), що позначає колекцію, яка містить усі ключі даних, що використовуються для шифрування та дешифрування. Цей параметр є обов'язковим.
kmsProviders array

Документ, що містить налаштування для одного або кількох KMS-провайдерів, які використовуються для шифрування ключів даних. Підтримувані провайдери: "aws", "azure", "gcp", "kmip" і "local". Цей параметр є обов'язковим.

Якщо вказано порожній документ для "aws", "azure" або "gcp", драйвер спробує налаштувати провайдера, використовуючи » Автоматичні облікові дані.

Формат для "aws" наступний:

aws: {
    accessKeyId: <string>,
    secretAccessKey: <string>,
    sessionToken: <string (необов&apos;язковий)>
}

Формат для "azure" наступний:

azure: {
    tenantId: <string>,
    clientId: <string>,
    clientSecret: <string>,
    identityPlatformEndpoint: <string (необов&apos;язковий)> // Початково: "login.microsoftonline.com"
}

Формат для "gcp" наступний:

gcp: {
    email: <string>,
    privateKey: <base64 string>|<MongoDB\BSON\Binary>,
    endpoint: <string (необов&apos;язковий)> // Початково: "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: <string> (необов&apos;язковий),
    tlsCertificateKeyFile: <string> (необов&apos;язковий),
    tlsCertificateKeyFilePassword: <string> (необов&apos;язковий),
    tlsDisableOCSPEndpointCheck: <bool> (необов&apos;язковий)
}

Значення, що повертаються

Returns a new MongoDB\Driver\ClientEncryption instance.

Помилки/виключення

Журнал змін

Версія Опис
PECL mongodb 1.16.0

The AWS KMS provider for client-side encryption now accepts a "sessionToken" option, which can be used to authenticate with temporary AWS credentials.

Added "tlsDisableOCSPEndpointCheck" to the "tlsOptions" option.

If an empty document is specified for the "azure" or "gcp" KMS provider, the driver will attempt to configure the provider using » Automatic Credentials.

PECL mongodb 1.15.0

If an empty document is specified for the "aws" KMS provider, the driver will attempt to configure the provider using » Automatic Credentials.

PECL mongodb 1.12.0

KMIP is now supported as a KMS provider for client-side encryption and may be configured in the "kmsProviders" option.

Added the "tlsOptions" option.

PECL mongodb 1.10.0 Azure and GCP are now supported as KMS providers for client-side encryption and may be configured in the "kmsProviders" option. Base64-encoded strings are now accepted as an alternative to MongoDB\BSON\Binary for options within "kmsProviders".

Прогляньте також

add a note

User Contributed Notes

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