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

options
选项 类型 描述
keyVaultClient MongoDB\Driver\Manager 用于将数据密钥查询路由到单独的 MongoDB 集群的 Manager。默认情况下,使用当前 Manager 和集群。
keyVaultNamespace string 表示包含用于加密和解密的所有数据密钥的集合的完全限定名称(例如 "databaseName.collectionName")。此选项是必需的。
kmsProviders array

包含一个或多个 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>
}

"local" 的格式如下

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

包含一个或多个 KMS 提供程序的 TLS 配置的文档。支持的提供程序包括 "aws""azure""gcp""kmip"。所有提供程序都支持以下选项

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

返回值

返回一个新的 MongoDB\Driver\ClientEncryption 实例。

错误/异常

变更日志

版本 描述
PECL mongodb 1.16.0

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

"tlsOptions" 选项中添加了 "tlsDisableOCSPEndpointCheck"

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

PECL mongodb 1.15.0

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

PECL mongodb 1.12.0

KMIP 现在支持作为客户端侧加密的 KMS 提供程序,可以在 "kmsProviders" 选项中进行配置。

添加了 "tlsOptions" 选项。

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

另请参阅

添加笔记

用户贡献的笔记

此页面没有用户贡献的笔记。
To Top