(mongodb >=1.14.0)
MongoDB\Driver\ClientEncryption::__construct β Π‘ΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ClientEncryption
Π‘ΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ MongoDB\Driver\ClientEncryption Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌΠΈ ΠΎΠΏΡΠΈΡΠΌΠΈ.
options
| ΠΠΏΡΠΈΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---|---|---|
| keyVaultClient | MongoDB\Driver\Manager | ΠΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΊΠ»ΡΡΠ΅ΠΉ Π΄Π°Π½Π½ΡΡ . ΠΠΏΡΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠΉ (Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΈ MongoDB\Driver\Manager::createClientEncryption()). |
| keyVaultNamespace | string | ΠΠΎΠ»Π½ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΡΠ½ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, "databaseName.collectionName"), ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡΠ΅Π΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²ΡΠ΅ ΠΊΠ»ΡΡΠΈ Π΄Π°Π½Π½ΡΡ
, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π΄Π΅ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ. |
| kmsProviders | array |
ΠΠΎΠΊΡΠΌΠ΅Π½Ρ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠ² KMS, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ Π΄Π°Π½Π½ΡΡ
.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΡ "aws", "azure", "gcp" ΠΈ "local", ΠΈ, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ
Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΊΠ°Π·Π°Π½.
ΠΡΠ»ΠΈ Π΄Π»Ρ "aws", "azure" ΠΈΠ»ΠΈ "gcp" ΡΠΊΠ°Π·Π°Π½ ΠΏΡΡΡΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ,
Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΡΡ ΡΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ
» ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΡΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅.
Π€ΠΎΡΠΌΠ°Ρ Π΄Π»Ρ "aws" Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
aws: {
accessKeyId: <string>,
secretAccessKey: <string>,
sessionToken: <optional string>
}
"azure" Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
azure: {
tenantId: <string>,
clientId: <string>,
clientSecret: <string>,
identityPlatformEndpoint: <optional string> // ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ "login.microsoftonline.com"
}
"gcp" Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
gcp: {
email: <string>,
privateKey: <base64 string>|<MongoDB\BSON\Binary>,
endpoint: <optional string> // ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ "oauth2.googleapis.com"
}
"kmip" Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
kmip: {
endpoint: <string>
}
"local" Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
local: {
// 96-Π±Π°ΠΉΡΠΎΠ²ΡΠΉ Π³Π»Π°Π²Π½ΡΠΉ ΠΊΠ»ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ/Π΄Π΅ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ Π΄Π°Π½Π½ΡΡ
key: <base64 string>|<MongoDB\BSON\Binary>
}
|
| tlsOptions | array |
ΠΠΎΠΊΡΠΌΠ΅Π½Ρ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ TLS Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
KMS ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠ². ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΡ "aws", "azure", "gcp" ΠΈ "kmip". ΠΡΠ΅ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΠΏΡΠΈΠΈ:
<provider>: {
tlsCaFile: <optional string>,
tlsCertificateKeyFile: <optional string>,
tlsCertificateKeyFilePassword: <optional string>,
tlsDisableOCSPEndpointCheck: <optional bool>
}
|
| ΠΠ΅ΡΡΠΈΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---|---|
| PECL mongodb 1.16.0 |
ΠΡΠΎΠ²Π°ΠΉΠ΄Π΅Ρ AWS KMS Π΄Π»Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
"sessionToken", ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π΄Π»Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ
Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΡΡΡΡΠ½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ AWS.
ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠΎΠ»Ρ "tlsDisableOCSPEndpointCheck"
Π² ΠΎΠΏΡΠΈΠΈ "tlsOptions".
ΠΡΠ»ΠΈ Π΄Π»Ρ KMS-ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠ² "azure" ΠΈΠ»ΠΈ
"gcp" ΡΠΊΠ°Π·Π°Π½ ΠΏΡΡΡΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ,
Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΡΡ ΡΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ°, Π·Π°ΠΏΠΎΠ»Π½ΠΈΠ²
» ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΡΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅.
|
| PECL mongodb 1.15.0 |
ΠΡΠ»ΠΈ Π΄Π»Ρ KMS-ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ° "aws" ΡΠΊΠ°Π·Π°Π½ ΠΏΡΡΡΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ,
Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΡΡ ΡΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ°, Π·Π°ΠΏΠΎΠ»Π½ΠΈΠ²
» ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΡΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅.
|