PHP Conference Kansai 2025

MongoDB\Driver\Manager::createClientEncryption

(mongodb >=1.7.0)

MongoDB\Driver\Manager::createClientEncryptionCrear un nuevo objeto ClientEncryption

Descripción

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

Construye un nuevo objeto MongoDB\Driver\ClientEncryption con las opciones especificadas.

Parámetros

options

options
Option Type Description
keyVaultClient MongoDB\Driver\Manager The Manager used to route data key queries to a separate MongoDB cluster. By default, the current Manager and cluster is used.
keyVaultNamespace string A fully qualified namespace (e.g. "databaseName.collectionName") denoting the collection that contains all data keys used for encryption and decryption. This option is required.
kmsProviders array

A document containing the configuration for one or more KMS providers, which are used to encrypt data keys. Supported providers include "aws", "azure", "gcp", "kmip", and "local" and at least one must be specified.

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

The format for "aws" is as follows:

aws: {
    accessKeyId: <string>,
    secretAccessKey: <string>,
    sessionToken: <optional string>
}

The format for "azure" is as follows:

azure: {
    tenantId: <string>,
    clientId: <string>,
    clientSecret: <string>,
    identityPlatformEndpoint: <optional string> // Defaults to "login.microsoftonline.com"
}

The format for "gcp" is as follows:

gcp: {
    email: <string>,
    privateKey: <base64 string>|<MongoDB\BSON\Binary>,
    endpoint: <optional string> // Defaults to "oauth2.googleapis.com"
}

The format for "kmip" is as follows:

kmip: {
    endpoint: <string>
}

The format for "local" is as follows:

local: {
    // 96-byte master key used to encrypt/decrypt data keys
    key: <base64 string>|<MongoDB\BSON\Binary>
}
tlsOptions array

A document containing the TLS configuration for one or more KMS providers. Supported providers include "aws", "azure", "gcp", and "kmip". All providers support the following options:

<provider>: {
    tlsCaFile: <optional string>,
    tlsCertificateKeyFile: <optional string>,
    tlsCertificateKeyFilePassword: <optional string>,
    tlsDisableOCSPEndpointCheck: <optional bool>
}

Valores devueltos

Devuelve una nueva instancia de MongoDB\Driver\ClientEncryption.

Errores/Excepciones

Historial de cambios

Versión Descripción
PECL mongodb 1.16.0

El proveedor AWS KMS para el cifrado del lado del cliente acepta ahora una opción "sessionToken", que puede ser utilizada para autenticarse con credenciales AWS temporales.

Añadido "tlsDisableOCSPEndpointCheck" a la opción "tlsOptions".

Si se especifica un documento vacío para el proveedor KMS "azure" o "gcp", el controlador intentará configurar el proveedor utilizando » Las credenciales automáticas.

PECL mongodb 1.15.0

Si se especifica un documento vacío para el proveedor KMS "aws", el controlador intentará configurar el proveedor utilizando » Las credenciales automáticas.

PECL mongodb 1.12.0

KMIP es ahora soportado como proveedor KMS para el cifrado del lado del cliente y puede ser configurado en la opción "kmsProviders".

Añadida la opción "tlsOptions".

PECL mongodb 1.10.0

Azure y GCP son ahora soportados como proveedores KMS para el cifrado del lado del cliente y pueden ser configurados en la opción "kmsProviders". Las cadenas codificadas en base64 son ahora aceptadas como alternativa a MongoDB\BSON\Binary para las opciones en "kmsProviders".

Ver también

add a note

User Contributed Notes

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