codecamp

PHP8 MongoDB\Driver\Manager::createClientEncryption

(mongoDB >=1.7.0)

MongoDB\Driver\Manager::createClientEncryption — 创建新的 ClientEncryption 对象

说明

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

使用指定的选项构造新的 MongoDB\Driver\ClientEncryption 对象。

参数 

options
选项
选择类型描述
keyVaultClientMongoDB\驱动程序\管理器用于将数据密钥查询路由到单独的 MongoDB 集群的管理器。默认情况下,使用当前 Manager 和集群。
keyVaultNamespace字符串一个完全限定的命名空间(例如 ),表示包含用于加密和解密的所有数据密钥的集合。此选项是必需的。"databaseName.collectionName"
kms提供程序数组

包含一个或多个 KMS 提供程序的配置的文档,这些提供程序用于加密数据密钥。支持的提供程序包括 、 、 、 和 ,并且必须至少指定一个。"aws""azure""gcp""kmip""local"

如果为 、 或 驱动程序指定了空文档 将尝试使用 » 自动凭据配置提供程序。"aws""azure""gcp"

格式如下:"aws"

aws: {
    accessKeyId: <string>,
    secretAccessKey: <string>,
    sessionToken: <optional string>
}

格式如下:"azure"

azure: {
    tenantId: <string>,
    clientId: <string>,
    clientSecret: <string>,
    identityPlatformEndpoint: <optional string> // Defaults to "login.microsoftonline.com"
}

格式如下:"gcp"

gcp: {
    email: <string>,
    privateKey: <base64 string>|<MongoDB\BSON\Binary>,
    endpoint: <optional string> // Defaults to "oauth2.googleapis.com"
}

格式如下:"kmip"

kmip: {
    endpoint: <string>
}

The format for is as follows: "local"

local: {
    // 96-byte master key used to encrypt/decrypt data keys
    key: <base64 string>|<MongoDB\BSON\Binary>
}
tlsOptionsarray

A document containing the TLS configuration for one or more KMS providers. Supported providers include , , , and . All providers support the following options: "aws""azure""gcp""kmip"

<provider>: {
    tlsCaFile: <optional string>,
    tlsCertificateKeyFile: <optional string>,
    tlsCertificateKeyFilePassword: <optional string>,
    tlsDisableOCSPEndpointCheck: <optional bool>
}

返回值 

Returns a new MongoDB\Driver\ClientEncryption instance.

错误/异常 

  • 在参数分析错误时抛出 MongoDB\Driver\Exception\InvalidArgumentException。
  • 如果扩展是在没有 libmongocrypt 支持的情况下编译的,则抛出 MongoDB\Driver\Exception\RuntimeException

更新日志 

版本说明
PECL mongodb 1.16.0

用于客户端加密的 AWS KMS 提供商现在接受一个选项,该选项可用于 使用临时 AWS 凭证进行身份验证。"sessionToken"

已添加到选项中。"tlsDisableOCSPEndpointCheck""tlsOptions"

如果为 或 KMS 提供程序指定了空文档,驱动程序将尝试 使用 » 自动凭据配置提供程序。"azure""gcp"

PECL mongodb 1.15.0

如果为 KMS 指定了空文档 provider,驱动程序将尝试使用 » 自动凭据配置提供程序。"aws"

PECL mongodb 1.12.0

现在支持将 KMIP 作为 KMS 提供商进行客户端加密和 可以在选项中配置。"kmsProviders"

添加了选项。"tlsOptions"

PECL mongodb 1.10.0现在支持将 Azure 和 GCP 作为客户端的 KMS 提供程序 加密,并且可以在选项中进行配置。Base64 编码的字符串现在是 被接受为 MongoDB\BSON\Binary 的替代方法,用于 ."kmsProviders""kmsProviders"

参见 

  • MongoDB\Driver\ClientEncryption::__construct() - 创建新的 ClientEncryption 对象
  • MongoDB 手册中的显式(手动)客户端字段级加密
PHP8 MongoDB\Driver\Manager::__construct
PHP8 MongoDB\Driver\Manager::executeBulkWrite
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

PHP8 语言参考

PHP8 函数参考

PHP8 影响 PHP 行为的扩展

PHP8 Componere

PHP8 安装/配置

PHP8 外部函数接口

PHP8 选项和信息

PHP8 选项/信息 函数

PHP8 Windows Cache for PHP

PHP8 WinCache 函数

PHP8 Yac

PHP8 身份认证服务

PHP8 Radius 函数

PHP8 压缩与归档扩展

PHP8 Phar

PHP8 Zip

PHP8 ZipArchive 类

PHP8 加密扩展

PHP8 OpenSSL

PHP8 OpenSSL 函数

PHP8 Sodium 函数

PHP8 数据库扩展

PHP8 针对各数据库系统对应的扩展

PHP8 CUBRID 函数

PHP8 Firebird/InterBase

PHP8 Firebird/InterBase函数

PHP8 MongoDB介绍驱动程序体系结构和特殊功能

PHP8 MongoDB\Driver\Command 类

PHP8 MongoDB\Driver\Query 类

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }