PHPCon Poland 2024

MongoDB\Driver\ClientEncryption::createDataKey

(mongodb >=1.7.0)

MongoDB\Driver\ClientEncryption::createDataKeyCreates a key document

Beschreibung

final public MongoDB\Driver\ClientEncryption::createDataKey(string $kmsProvider, ?array $options = null): MongoDB\BSON\Binary

Creates a new key document and inserts it into the key vault collection.

Parameter-Liste

kmsProvider

The KMS provider (e.g. "local", "aws") that will be used to encrypt the new data key.

options

Data key options
Option Type Description
masterKey array

The masterKey document identifies a KMS-specific key used to encrypt the new data key. This option is required unless kmsProvider is "local".

"aws"-Provider-Optionen
Option Typ Beschreibung
region string Erforderlich
key string Erforderlich; der Amazon-Ressourcenname (ARN) für den AWS-Kundenhauptschlüssel (CMK).
endpoint string Optional; ein alternativer Host-Bezeichner, an den KMS-Anfragen gesendet werden; kann die Portnummer enthalten.

"azure"-Provider-Optionen
Option Typ Beschreibung
keyVaultEndpoint string Erforderlich; der Host mit optionalem Port (z. B. "example.vault.azure.net").
keyName string Erforderlich
keyVersion string Optional; eine bestimmte Version des genannten Schlüssels. Standardmäßig wird die primäre Version des Schlüssels verwendet.

"gcp"-Provider-Optionen
Option Typ Beschreibung
projectId string Erforderlich
location string Erforderlich
keyRing string Erforderlich
keyName string Erforderlich
keyVersion string Optional; eine bestimmte Version des genannten Schlüssels. Standardmäßig wird die primäre Version des Schlüssels verwendet.
endpoint string Optional; der Host mit optionalem Port. Der Standardwert ist "cloudkms.googleapis.com".

"kmip"-Provider-Optionen
Option Typ Beschreibung
keyId string Optional; der eindeutige Bezeichner für ein 96 Byte großes, verwaltetes geheimes KMIP-Datenobjekt. Wenn nicht angegeben, erstellt der Treiber ein zufälliges geheimes KMIP-Datenobjekt mit 96 Byte.
endpoint string Optional; der Host mit optionalem Port.

keyAltNames array

An optional list of string alternate names used to reference a key. If a key is created with alternate names, then encryption may refer to the key by the unique alternate name instead of by _id.

keyMaterial MongoDB\BSON\Binary

An optional 96-byte value to use as custom key material for the data key being created. If keyMaterial is given, the custom key material is used for encrypting and decrypting data. Otherwise, the key material for the new data key is generated from a cryptographically secure random device.

Rückgabewerte

Returns the identifier of the new key as a MongoDB\BSON\Binary object with subtype 4 (UUID).

Fehler/Exceptions

Changelog

Version Beschreibung
PECL mongodb 1.15.0 Added the "keyMaterial" option.
PECL mongodb 1.10.0 Azure and GCP are now supported as KMS providers for client-side encryption.

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top