MongoDB\Driver\ClientEncryption::__construct

(mongodb >=1.14.0)

MongoDB\Driver\ClientEncryption::__construct β€” Π‘ΠΎΠ·Π΄Π°Ρ‘Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ClientEncryption

ОписаниС

final public function MongoDB\Driver\ClientEncryption::__construct(array $options)

Π‘ΠΎΠ·Π΄Π°Ρ‘Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ 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>
}

Ошибки

  • ΠŸΡ€ΠΈ ошибкС парсинга Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ выбрасываСт ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ MongoDB\Driver\Exception\InvalidArgumentException.
  • ВыбрасываСт ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ MongoDB\Driver\Exception\RuntimeException, Ссли ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π±Ρ‹Π» скомпилирован Π±Π΅Π· ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ libmongocrypt.

Бписок измСнСний

ВСрсия ОписаниС
PECL mongodb 1.16.0 ΠŸΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ AWS KMS для ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ "sessionToken", ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ для Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ с Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ ΡƒΡ‡Ρ‘Ρ‚Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ AWS. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° поля "tlsDisableOCSPEndpointCheck" Π² ΠΎΠΏΡ†ΠΈΠΈ "tlsOptions". Если для KMS-ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ΠΎΠ² "azure" ΠΈΠ»ΠΈ "gcp" ΡƒΠΊΠ°Π·Π°Π½ пустой Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ попытаСтся ΡΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π°, Π·Π°ΠΏΠΎΠ»Π½ΠΈΠ² » АвтоматичСскиС ΡƒΡ‡Ρ‘Ρ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.
PECL mongodb 1.15.0 Если для KMS-ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π° "aws" ΡƒΠΊΠ°Π·Π°Π½ пустой Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ попытаСтся ΡΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π°, Π·Π°ΠΏΠΎΠ»Π½ΠΈΠ² » АвтоматичСскиС ΡƒΡ‡Ρ‘Ρ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅

οΌ‹Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π΅Ρ‰Ρ‘ Π½Π΅ добавляли примСчания для страницы