PHP 8.4.2 Released!

MongoDB\Driver\Manager::createClientEncryption

(mongodb >=1.7.0)

MongoDB\Driver\Manager::createClientEncryptionCré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

add a note

User Contributed Notes

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