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
选项 选择 类型 描述 keyVaultClient MongoDB\驱动程序\管理器 用于将数据密钥查询路由到单独的 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> }
tlsOptions array 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 凭证进行身份验证。 已添加到选项中。 如果为 或 KMS 提供程序指定了空文档,驱动程序将尝试 使用 » 自动凭据配置提供程序。 |
PECL mongodb 1.15.0 | 如果为 KMS 指定了空文档 provider,驱动程序将尝试使用 » 自动凭据配置提供程序。 |
PECL mongodb 1.12.0 | 现在支持将 KMIP 作为 KMS 提供商进行客户端加密和 可以在选项中配置。 添加了选项。 |
PECL mongodb 1.10.0 | 现在支持将 Azure 和 GCP 作为客户端的 KMS 提供程序 加密,并且可以在选项中进行配置。Base64 编码的字符串现在是 被接受为 MongoDB\BSON\Binary 的替代方法,用于 ."kmsProviders" "kmsProviders" |
参见
- MongoDB\Driver\ClientEncryption::__construct() - 创建新的 ClientEncryption 对象
- MongoDB 手册中的显式(手动)客户端字段级加密