PHP Conference Japan 2024

MongoDB\Driver\Manager::createClientEncryption

(mongodb >=1.7.0)

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

描述

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

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

参数

options

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

一个文档,包含一个或多个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 数组

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