PHP8 MongoDB\Driver\Manager::createClientEncryption

2024-04-08 10:15 更新

(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 手册中的显式(手动)客户端字段级加密
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号