# MongoDB\Driver\Manager::createClientEncryption

(mongodb >=1.7.0)

MongoDB\Driver\Manager::createClientEncryption — Create a new ClientEncryption object

### Beschreibung

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

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

### Parameter-Liste

`options`

  options
  Option | Type | Description
  --- | --- | ---
  keyVaultClient | MongoDB\Driver\Manager | Der Manager, der verwendet wird, um Datenschlüssel-Abfragen auf einen anderen MongoDB-Cluster zu routen. Standardmäßig werden der aktuelle Manager und Cluster verwendet.
  keyVaultNamespace | string | Ein vollständig qualifizierter Namensraum (z. B. `"databaseName.collectionName"`), der die Kollektion bezeichnet, die alle Datenschlüssel enthält, die für Ver- und Entschlüsselung verwendet werden. Diese Option muss angegeben werden.
  kmsProviders | array | Ein Dokument, das die Konfiguration für einen oder mehrere KMS-Provider enthält, die verwendet werden, um Datenschlüssel zu verschlüsseln. Zu den unterstützten Providern gehören `"aws"`, `"azure"`, `"gcp"`, `"kmip"` und `"local"` und wenigstens einer muss angegeben werden. Wenn für `"aws"`, `"azure"` oder `"gcp"` ein leeres Dokument angegeben wird, versucht der Treiber, den Provider mit » Automatic Credentials (automatische Anmeldeinformationen) zu konfigurieren. Das Format für `"aws"` ist wie folgt:
      aws: {
          accessKeyId: <string>,
          secretAccessKey: <string>,
          sessionToken: <optional string>
      }
  Das Format für `"azure"` ist wie folgt:
      azure: {
          tenantId: <string>,
          clientId: <string>,
          clientSecret: <string>,
          identityPlatformEndpoint: <optional string> // Der Standardwert ist "login.microsoftonline.com"
      }
  Das Format für `"gcp"` ist wie folgt:
      gcp: {
          email: <string>,
          privateKey: <base64 string>|<MongoDB\BSON\Binary>,
          endpoint: <optional string> // Der Standardwert ist "oauth2.googleapis.com"
      }
  Das Format für `"kmip"` ist wie folgt:
      kmip: {
          endpoint: <string>
      }
  Das Format für `"local"` ist wie folgt:
      local: {
          // Der 96-Byte-Hauptschlüssel, der zur Ver- und Entschlüsselung von
          // Datenschlüsseln verwendet wird
          key: <base64 string>|<MongoDB\BSON\Binary>
      }
  tlsOptions | array | Ein Dokument, das die TLS-Konfiguration für einen oder mehrere KMS-Provider enthält. Zu den unterstützten Providern gehören `"aws"`, `"azure"`, `"gcp"` und `"kmip"`. Alle Provider unterstützen die folgenden Optionen:
      <provider>: {
          tlsCaFile: <optionale Zeichenkette>,
          tlsCertificateKeyFile: <optionale Zeichenkette>,
          tlsCertificateKeyFilePassword: <optionale Zeichenkette>,
          tlsDisableOCSPEndpointCheck: <optionaler Boolean>
      }

### Rückgabewerte

Returns a new MongoDB\Driver\ClientEncryption instance.

### Fehler/Exceptions

- Wirft eine MongoDB\Driver\Exception\InvalidArgumentException, wenn beim Analysieren von Argumenten ein Fehler auftritt.
- Throws MongoDB\Driver\Exception\RuntimeException if the extension was compiled without libmongocrypt support

### Changelog

Version | Beschreibung
--- | ---
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"`.

### Siehe auch

- MongoDB\Driver\ClientEncryption::__construct() - Create a new ClientEncryption object
- » Explicit (Manual) Client-Side Field Level Encryption in the MongoDB manual

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