Documentación offline PHP master

MongoDB\Driver\Manager::createClientEncryption

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

MongoDB\Driver\Manager::createClientEncryption

Crear un nuevo objeto ClientEncryption

Descripción#

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

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

Parámetros#

options

options
Opción Tipo Descripción
keyVaultClient MongoDB\Driver\Manager El Manager utilizado para enrutar las peticiones de claves de datos a un cluster MongoDB diferente. Por defecto, el Manager y cluster actual es utilizado.
keyVaultNamespace string Un nombre de espacio completamente calificado (por ejemplo "databaseName.collectionName") denotando la colección que contiene todas las claves de datos utilizadas para el cifrado y descifrado. Esta opción es requerida.
kmsProviders array

Un documento que contiene la configuración de uno o más proveedores KMS, que se utilizan para cifrar claves de datos. Los proveedores admitidos incluyen "aws", "azure", "gcp", "kmip" y "local", y se debe especificar al menos uno.

Si se especifica un documento vacío para "aws", "azure" o "gcp", el controlador intentará configurar el proveedor utilizando Automatic Credentials.

El formato para "aws" es el siguiente:

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

           

El formato para "azure" es el siguiente:

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

           

El formato para "gcp" es el siguiente:

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

           

El formato para "kmip" es el siguiente:

kmip: {
    endpoint: <string>
}

           

El formato para "local" es el siguiente:

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

           
tlsOptions array

Un documento que contiene la configuración TLS de uno o varios proveedores KMS. Los proveedores soportados son "aws", "azure", "gcp" y "kmip". Todos los proveedores soportan las siguientes opciones:

<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#

Lanza una excepción

MongoDB\Driver\Exception\InvalidArgumentException

en caso de error durante el análisis de un argumento.

Lanza una excepción

MongoDB\Driver\Exception\RuntimeException

si la extensión ha sido compilada sin el soporte de libmongocrypt

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".

Véase también#

MongoDB\Driver\ClientEncryption::__construct

Cifrado del lado del cliente explícito (manual)

en el manual de MongoDB