Crear un nuevo objeto ClientEncryption

# MongoDB\Driver\Manager::createClientEncryption

(mongodb >=1.7.0)

MongoDB\Driver\Manager::createClientEncryption — Crear un nuevo objeto ClientEncryption

### Descripción

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

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 omisión, 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 varios proveedores KMS, que se utilizan para cifrar las claves de datos. Los proveedores soportados son `"aws"`, `"azure"`, `"gcp"` y `"local"`, y al menos uno debe ser especificado. 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\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"`.

### Ver también

- MongoDB\Driver\ClientEncryption::__construct() - Crea un nuevo objeto ClientEncryption
- » Cifrado del lado del cliente explícito (manual) en el manual de MongoDB

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