2024 日本 PHP 研討會

MongoDB\Driver\ClientEncryption::createDataKey

(mongodb >=1.7.0)

MongoDB\Driver\ClientEncryption::createDataKey建立金鑰文件

說明

final public MongoDB\Driver\ClientEncryption::createDataKey(字串 $kmsProvider, ?陣列 $options = null): MongoDB\BSON\Binary

建立一個新的金鑰文件並將其插入金鑰保管庫集合中。

參數

kmsProvider

將用於加密新資料金鑰的 KMS 提供者(例如 "local""aws")。

options

資料金鑰選項
選項 類型 說明
masterKey 陣列

masterKey 文件標識用於加密新資料金鑰的 KMS 特定金鑰。除非 kmsProvider"local",否則此選項為必填。

"aws" 提供者選項
選項 類型 說明
region 字串 必填。
key 字串 必填。AWS 客戶主金鑰 (CMK) 的 Amazon 資源名稱 (ARN)。
endpoint 字串 選填。要將 KMS 請求發送到的替代主機識別碼。可以包含埠號。

"azure" 提供者選項
選項 類型 說明
keyVaultEndpoint 字串 必填。主機名稱,可選擇包含埠號(例如 "example.vault.azure.net")。
keyName 字串 必填。
keyVersion 字串 選填。指定金鑰的特定版本。預設使用金鑰的主要版本。

"gcp" 提供者選項
選項 類型 說明
projectId 字串 必填。
location 字串 必填。
keyRing 字串 必填。
keyName 字串 必填。
keyVersion 字串 選填。指定金鑰的特定版本。預設使用金鑰的主要版本。
endpoint 字串 選填。主機名稱,可選擇包含埠號。預設為 "cloudkms.googleapis.com"。

"kmip" 提供者選項
選項 類型 說明
keyId 字串 選填。96 位元組 KMIP 秘密資料受管物件的唯一識別碼。如果未指定,驅動程式會建立一個隨機的 96 位元組 KMIP 秘密資料受管物件。
endpoint 字串 選填。主機名稱,可選擇包含埠號。

keyAltNames 陣列

用於參考金鑰的字串替代名稱的選填清單。如果使用替代名稱建立金鑰,則加密可以使用唯一的替代名稱來參考金鑰,而不是使用 _id

keyMaterial MongoDB\BSON\Binary

一個選填的 96 位元組值,用作正在建立的資料金鑰的自訂金鑰素材。如果提供了 keyMaterial,則自訂金鑰素材將用於加密和解密資料。否則,新資料金鑰的金鑰素材將由加密安全的隨機裝置產生。

回傳值

以子類型為 4 (UUID) 的 MongoDB\BSON\Binary 物件形式返回新金鑰的識別碼。

錯誤/例外

更新日誌

版本 說明
PECL mongodb 1.15.0 新增了 "keyMaterial" 選項。
PECL mongodb 1.10.0 現在支援 Azure 和 GCP 作為用戶端加密的 KMS 提供者。

新增註記

使用者貢獻的註記

此頁面沒有使用者貢獻的註記。
To Top