PHP Conference Japan 2024

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 憑證進行驗證。

"tlsDisableOCSPEndpointCheck" 新增至 "tlsOptions" 選項。

如果為 "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