MongoDB\Driver\ClientEncryption::__construct

(mongodb >=1.14.0)

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

说明

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

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

参数

options

options
选项 类型 说明
keyVaultClient MongoDB\Driver\Manager 用于路由数据密钥查询的 Manager。此选项是必需的(与 MongoDB\Driver\Manager::createClientEncryption() 不同)。
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>
}

错误/异常

变更日志

版本 说明
PECL mongodb 1.16.0

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

"tlsOptions" 选项添加了 "tlsDisableOCSPEndpointCheck"

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

PECL mongodb 1.15.0

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

另请参阅

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top