# MongoDB\Driver\Manager::createClientEncryption

(mongodb >=1.7.0)

MongoDB\Driver\Manager::createClientEncryption — Créer un nouvel objet ClientEncryption

### Description

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

Construit un nouvel objet MongoDB\Driver\ClientEncryption avec les options spécifiées.

### Liste de paramètres

`options`

  options
  Option | Type | Description
  --- | --- | ---
  keyVaultClient | MongoDB\Driver\Manager | Le Manager utilisé pour router les requêtes de clés de données à un cluster MongoDB différent. Par défaut, le Manager et cluster courant et utilisé.
  keyVaultNamespace | chaîne de caractères | Un nom d'espace complètement qualifié (par exemple `"databaseName.collectionName"`) dénotant la collection qui contient toutes les clés de données utilisé pour le chiffrement et déchiffrement. Cette option est requise.
  kmsProviders | tableau | Un document contenant la configuration d'un ou plusieurs fournisseurs KMS, qui sont utilisés pour chiffrer les clés de données. Les fournisseurs supporté sont `"aws"`, `"azure"`, `"gcp"` et `"local"`, et au moins un doit être spécifié. Si un document vide est spécifié pour `"aws"`, `"azure"`, ou `"gcp"`, le pilote tentera de configurer le fournisseur en utilisant » Automatic Credentials. Le format pour `"aws"` est le suivant :
      aws: {
          accessKeyId: <string>,
          secretAccessKey: <string>,
          sessionToken: <optional string>
      }
  Le format pour `"azure"` est le suivant :
      azure: {
          tenantId: <string>,
          clientId: <string>,
          clientSecret: <string>,
          identityPlatformEndpoint: <optional string> // Defaults to "login.microsoftonline.com"

      }
  Le format pour `"gcp"` est le suivant :
      gcp: {
          email: <string>,
          privateKey: <base64 string>|<MongoDB\BSON\Binary>,
          endpoint: <optional string> // Defaults to "oauth2.googleapis.com"

      }
  Le format pour `"kmip"` est le suivant :
      kmip: {
          endpoint: <string>
      }
  Le format pour `"local"` est le suivant :
      local: {
          // 96-byte master key used to encrypt/decrypt data keys
          key: <base64 string>|<MongoDB\BSON\Binary>
      }
  tlsOptions | array | Un document contenant la configuration TLS d'un ou plusieurs fournisseurs KMS. Les fournisseurs supporté sont `"aws"`, `"azure"`, `"gcp"` et `"kmip"`. Tous les fournisseurs supportent les options suivantes :
      <provider>: {
          tlsCaFile: <optional string>,
          tlsCertificateKeyFile: <optional string>,
          tlsCertificateKeyFilePassword: <optional string>,
          tlsDisableOCSPEndpointCheck: <optional bool>
      }

### Valeurs de retour

Renvoie une nouvelle instance de MongoDB\Driver\ClientEncryption.

### Erreurs / Exceptions

- Lance une exception MongoDB\Driver\InvalidArgumentException lors d'une erreur survenue pendant l'analyse d'un argument.
- Lance une exception MongoDB\Driver\Exception\RuntimeException si l'extension a été compilée sans le support de libmongocrypt

### Historique

Version | Description
--- | ---
PECL mongodb 1.16.0 | Le fournisseur AWS KMS pour le chiffrement côté client accepte désormais une option `"sessionToken"`, qui peut être utilisée pour s'authentifier avec des informations d'identification AWS temporaires. Ajout de `"tlsDisableOCSPEndpointCheck"` à l'option `"tlsOptions"`. Si un document vide est spécifié pour le fournisseur KMS `"azure"` ou `"gcp"`, le pilote tentera de configurer le fournisseur en utilisant » Les informations d'identification automatiques.
PECL mongodb 1.15.0 | Si un document vide est spécifié pour le fournisseur KMS `"aws"`, le pilote tentera de configurer le fournisseur en utilisant » Les informations d'identification automatiques.
PECL mongodb 1.12.0 | KMIP est désormais pris en charge en tant que fournisseur KMS pour le chiffrement côté client et peut être configuré dans l'option `"kmsProviders"`. Ajout de l'option `"tlsOptions"`.
PECL mongodb 1.10.0 | Azure et GCP sont désormais pris en charge en tant que fournisseurs KMS pour le chiffrement côté client et peuvent être configurés dans l'option `"kmsProviders"`. Les chaînes encodées en base64 sont désormais acceptées en tant qu'alternative à MongoDB\BSON\Binary pour les options dans `"kmsProviders"`.

### Voir aussi

- MongoDB\Driver\ClientEncryption::__construct() - Créer un nouvel objet ClientEncryption
- » Chiffrement côté client explicite (manuel) dans le manuel MongoDB