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
ΠΠΏΡΡΡ
ΠΠΏΡΠΈΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡ |
---|---|---|
masterKey | array | |
ΠΠΎΠΊΡΠΌΠ΅Π½Ρ 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. |