函数名:MongoDB\Driver\Manager::createClientEncryption()
适用版本:MongoDB PHP扩展版本1.5.0及以上
函数用法:该函数用于创建一个新的MongoDB\Driver\ClientEncryption对象,用于客户端加密和解密敏感数据。
语法:
public MongoDB\Driver\ClientEncryption MongoDB\Driver\Manager::createClientEncryption(array $options)
参数:
- $options:一个关联数组,用于指定客户端加密的选项。包括以下键值对:
- "kmsProviders":一个关联数组,指定与密钥管理服务提供者(KMS)的配置。包括以下键值对:
- "aws":一个关联数组,指定AWS KMS的配置。包括以下键值对:
- "accessKeyId":AWS访问密钥ID。
- "secretAccessKey":AWS访问密钥。
- "local":一个关联数组,指定本地KMS的配置。包括以下键值对:
- "key":一个字符串,指定本地KMS的主密钥。
- "aws":一个关联数组,指定AWS KMS的配置。包括以下键值对:
- "keyVaultNamespace":一个字符串,指定密钥库的命名空间。
- "bypassAutoEncryption":一个布尔值,指定是否绕过自动加密。
- "kmsProviders":一个关联数组,指定与密钥管理服务提供者(KMS)的配置。包括以下键值对:
返回值:一个MongoDB\Driver\ClientEncryption对象。
示例:
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$options = [
"kmsProviders" => [
"aws" => [
"accessKeyId" => "your-access-key-id",
"secretAccessKey" => "your-secret-access-key"
]
],
"keyVaultNamespace" => "encryption.keyvault",
"bypassAutoEncryption" => false
];
$clientEncryption = $manager->createClientEncryption($options);
以上示例创建了一个新的MongoDB\Driver\ClientEncryption对象,使用AWS KMS作为密钥管理服务提供者,密钥库的命名空间为"encryption.keyvault",并且不绕过自动加密。你可以根据实际情况修改$options数组中的值来适应你的需求。