MongoDB\Driver\ClientEncryption::createDataKey

(mongodb >=1.7.0)

MongoDB\Driver\ClientEncryption::createDataKey β€” Π‘Ρ‚Π²ΠΎΡ€ΡŽΡ” Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Ρ–Π· ΠΊΠ»ΡŽΡ‡Π΅ΠΌ

Опис

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

Π‘Ρ‚Π²ΠΎΡ€ΡŽΡ” Π½ΠΎΠ²ΠΈΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Ρ–Π· ΠΊΠ»ΡŽΡ‡Π΅ΠΌ ΡˆΠΈΡ„Ρ€ΡƒΠ²Π°Π½Π½Ρ Ρ‚Π° ΠΊΠ»Π°Π΄Π΅ ΠΉΠΎΠ³ΠΎ Π² ΠΊΠΎΠ»Π΅ΠΊΡ†Ρ–ΡŽ сховища ΠΊΠ»ΡŽΡ‡Ρ–Π².

Бписок ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ–Π²

kmsProvider

ΠŸΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ KMS ("local" "aws"), який Π²ΠΈΠΊΠΎΡ€ΠΈΡΡ‚ΠΎΠ²ΡƒΠ²Π°Ρ‚ΠΈΠΌΠ΅Ρ‚ΡŒΡΡ для ΡˆΠΈΡ„Ρ€ΡƒΠ²Π°Π½Π½Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° Π΄Π°Π½ΠΈΡ….

options

ΠžΠΏΡ†Ρ–Ρ—

ΠžΠΏΡ†ΠΈΡΠ’ΠΈΠΏΠžΠΏΠΈΡ
masterKeyarray
Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ masterKey Π²ΠΈΠ·Π½Π°Ρ‡Π°Ρ” спСцифічний для KMS ΠΊΠ»ΡŽΡ‡, який Π²ΠΈΠΊΠΎΡ€ΠΈΡΡ‚ΠΎΠ²ΡƒΡ”Ρ‚ΡŒΡΡ для ΡˆΠΈΡ„Ρ€ΡƒΠ²Π°Π½Π½Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° Π΄Π°Π½ΠΈΡ…. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΎΠ±ΠΎΠ²'язковий, якщо ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ kmsProvider Π½Π΅ Ρ” "local"

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π° "aws"

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π’ΠΈΠΏΠžΠΏΠΈΡ
regionРядокОбов'язковий.
keyРядокОбов'язковий. Π†ΠΌ'я рСсурсу Amazon (ARN) для ΠΊΠ»ΡŽΡ‡ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° ΠΊΠ»Ρ–Ρ”Π½Ρ‚Π° AWS (CMK).
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 | array |

ΠžΠΏΡ†Ρ–ΠΎΠ½Π°Π»ΡŒΠ½ΠΈΠΉ список Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΈΡ… Ρ–ΠΌΠ΅Π½, які Π²ΠΈΠΊΠΎΡ€ΠΈΡΡ‚ΠΎΠ²ΡƒΡŽΡ‚ΡŒΡΡ для посилання Π½Π° ΠΊΠ»ΡŽΡ‡. Π―ΠΊΡ‰ΠΎ ΠΊΠ»ΡŽΡ‡ створСно Π· використанням Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΈΡ… Ρ–ΠΌΠ΅Π½, Ρ‚ΠΎ ΠΏΡ€ΠΈ ΡˆΠΈΡ„Ρ€ΡƒΠ²Π°Π½Π½Ρ– ΠΌΠΎΠΆΠ½Π° посилатися Π½Π° ΡƒΠ½Ρ–ΠΊΠ°Π»ΡŒΠ½Π΅ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Π΅ Ρ–ΠΌ'я Π·Π°ΠΌΡ–ΡΡ‚ΡŒ _id

| | keyMaterial |MongoDB\BSON\Binary

НСобов'язковС 96-Π±Π°ΠΉΡ‚ΠΎΠ²Π΅ значСння для використання як ΠΌΠ°Ρ‚Π΅Ρ€Ρ–Π°Π» користувача ΠΊΠ»ΡŽΡ‡Π° для ΡΡ‚Π²ΠΎΡ€ΡŽΠ²Π°Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° Π΄Π°Π½ΠΈΡ…. Π―ΠΊΡ‰ΠΎ Π·Π°Π΄Π°Π½ΠΎ keyMaterial, Ρ‚ΠΎ Π²ΠΈΠΊΠΎΡ€ΠΈΡΡ‚ΠΎΠ²ΡƒΡ”Ρ‚ΡŒΡΡ ΠΌΠ°Ρ‚Π΅Ρ€Ρ–Π°Π» користувача ΠΊΠ»ΡŽΡ‡Π° для ΡˆΠΈΡ„Ρ€ΡƒΠ²Π°Π½Π½Ρ Ρ– Ρ€ΠΎΠ·ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ Π΄Π°Π½ΠΈΡ…. Π’ Ρ–Π½ΡˆΠΎΠΌΡƒ Π²ΠΈΠΏΠ°Π΄ΠΊΡƒ ΠΌΠ°Ρ‚Π΅Ρ€Ρ–Π°Π» ΠΊΠ»ΡŽΡ‡Π° для Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° Π΄Π°Π½ΠΈΡ… Π³Π΅Π½Π΅Ρ€ΡƒΡ”Ρ‚ΡŒΡΡ ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„Ρ–Ρ‡Π½ΠΎ Π·Π°Ρ…ΠΈΡ‰Π΅Π½ΠΎΠ³ΠΎ Π²ΠΈΠΏΠ°Π΄ΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΡΡ‚Ρ€ΠΎΡŽ.

ЗначСння, Ρ‰ΠΎ ΠΏΠΎΠ²Π΅Ρ€Ρ‚Π°ΡŽΡ‚ΡŒΡΡ

ΠŸΠΎΠ²Π΅Ρ€Ρ‚Π°Ρ” Ρ–Π΄Π΅Π½Ρ‚ΠΈΡ„Ρ–ΠΊΠ°Ρ‚ΠΎΡ€ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° як ΠΎΠ±'Ρ”ΠΊΡ‚ MongoDB\BSON\Binary Ρ–Π· ΠΏΡ–Π΄Ρ‚ΠΈΠΏΠΎΠΌ 4 (UUID).

Помилки

  • ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΈΠ»Ρ†Ρ– парсингу Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ΠΊΠΈΠ΄Π°Ρ” винятокMongoDB\Driver\Exception\InvalidArgumentException
  • ΠŸΡ€ΠΈ Π½Π΅Π²Π΄Π°Π»ΠΎΠΌΡƒ Π·'Ρ”Π΄Π½Π°Π½Π½Ρ– Π· сСрвСром (ΠΊΡ€Ρ–ΠΌ ΠΏΠΎΠΌΠΈΠ»ΠΎΠΊ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„Ρ–ΠΊΠ°Ρ†Ρ–Ρ—) ΠΊΠΈΠ΄Π°Ρ” винятокMongoDB\Driver\Exception\ConnectionException
  • Π£ Ρ€Π°Π·Ρ– Π½Π΅Π²Π΄Π°Π»ΠΎΡ— Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„Ρ–ΠΊΠ°Ρ†Ρ–Ρ— ΠΊΠΈΠ΄Π°Ρ” винятокMongoDB\Driver\Exception\AuthenticationException
  • Π’ΠΈΠΊΠΈΠ΄Π°Ρ” виняток MongoDB\Driver\Exception\RuntimeExceptionΡƒ Ρ€Π°Π·Ρ– Ρ–Π½ΡˆΠΈΡ… ΠΏΠΎΠΌΠΈΠ»ΠΎΠΊ.

список Π·ΠΌΡ–Π½

Π’Π΅Ρ€ΡΠΈΡΠžΠΏΠΈΡ
PECL mongodb 1.15.0Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция"keyMaterial"
PECL mongodb 1.10.0Π―ΠΊ ΠΏΠΎΡΡ‚Π°Ρ‡Π°Π»ΡŒΠ½ΠΈΠΊΠΈ KMS для ΡˆΠΈΡ„Ρ€ΡƒΠ²Π°Π½Π½Ρ Π½Π° стороні ΠΊΠ»Ρ–Ρ”Π½Ρ‚Π° Ρ‚Π΅ΠΏΠ΅Ρ€ ΠΏΡ–Π΄Ρ‚Ρ€ΠΈΠΌΡƒΡŽΡ‚ΡŒΡΡ Azure Ρ‚Π° GCP.