クラス: Mongo::Crypt::AutoEncrypter Private
- 継承:
-
オブジェクト
- オブジェクト
- Mongo::Crypt::AutoEncrypter
- 定義:
- build/ruby-Driver-v 2.19 /lib/mongo/crypt/auto_encrypter.rb
Overview
このクラスは、プライベート API の一部です。 このクラスは将来削除または変更される可能性があるため、可能な限り使用しないでください。
AutoEnrypter は、自動暗号化の動作をカプセル化するオブジェクトです。 libmongocrypt ハンドル、キーヴォールト クライアント オブジェクト、mongocryptd クライアント オブジェクト、暗号化 I/O など、自動暗号化に関連するすべてのリソースを制御します。
AutoEncrypter は Mongo::Client の インスタンスとして保持されます。 同じ auto_encryption_options ハッシュを持つクライアント オブジェクトは、AutoEncrypter を共有する場合があります。
定数の概要の削減
- DEFAULT_EXTRA_OPTIONS =
この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。
: extra_options オプションのデフォルト値のハッシュ
オプション::編集済み.新着情報({ mongocryptd_uri: 'mongodb://localhost:27020', mongocryptd_bypass_spwn: false, mongocryptd_spwn_path: 'mongocryptd', mongocryptd_spwn_args: [「 --idleshutdownTimeoutSecs= 60 」], })
インスタンス属性の概要を折りたたむ
- # key_vault_client =オブジェクト readOnly private
- #metadata_client ⇒ Object readOnly private
- # mongocryptd_client =オブジェクト readOnly private
- #オプション= オブジェクト readOnly private
インスタンス メソッドの概要を折りたたむ
-
#閉じる= true
private
AutoEncrypter によって作成されたリソースを閉じます。
-
#decryption (コマンド)=BSON::Document
private
データベースコマンドを復号化します。
-
#暗号化(データベース_名前, コマンド)= BSON::Document
private
データベースコマンド を暗号化します。
-
#暗号化 = ブール値
private
この暗号化が暗号化を実行する必要があるかどうか( :bypass_auto_encryption オプションが true に設定されている場合は false を返します)。
-
#初期化(オプション) → AutoEncrypter
コンストラクター
private
このモジュールを含むクラスに暗号化関連のオプションとインスタンス変数を設定します。
コンストラクターの詳細
#初期化(オプション) → AutoEncrypter
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
このモジュールを含むクラスに暗号化関連のオプションとインスタンス変数を設定します。 Mongo::Crypt::Encrypter モジュールで同じメソッドを呼び出します。
93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/crypt/auto_encrypter.rb', 行93 デフォルト 初期化() 暗号化.validate_ffi! # この呼び出しは、他のメソッド呼び出しによって、最終的には # クリーンアップが必要な追加のクライアントを作成します。 @options = ().freeze @crypt_handle = 暗号化::ハンドル.新着情報( 暗号化::KMS::Credentials.新着情報(@options[: kms_providers]), 暗号化::KMS::検証.(@options[: kms_tls_options]), schema_map: @options[:schema_map], schema_map_path: @options[:schema_map_path], encryption_fields_map: @options[:encrypted_fields_map], bypass_query_analysis: @options[:bypass_query_analysis], crypt_shared_lib_path: @options[: extra_options][:crypt_shared_lib_path], crypt_shared_lib_required: @options[: extra_options][:crypt_shared_lib_required], ) @mongocryptd_options = @options[: extra_options].スライス( :mongocryptd_uri, :mongocryptd_bypass_spwn, :mongocryptd_spwn_path, :mongocryptd_spwn_args ) @mongocryptd_options[:mongocryptd_bypass_spwn] = @options[:bypass_auto_encryption] || @options[: extra_options][:mongocryptd_bypass_spwn] || @crypt_handle.crypt_shared_lib_available? || @options[: extra_options][:crypt_shared_lib_required] ただし、 @options[: extra_options][:crypt_shared_lib_required] || @crypt_handle.crypt_shared_lib_available? || @options[:bypass_query_analysis] # サーバー選択タイムアウトを1に設定して、クライアントが mongocryptd を生成する前に #long タイムアウト @mongocryptd_client = クライアント.新着情報( @options[: extra_options][:mongocryptd_uri], monitoring_io: @options[:client].[:monitoring_io], MongoDB_io: @options[:client].[:populator_io], server_selection_timeout: 10, database: @options[:client].[:database] ) end begin @encryption_io = EncryptionIO.新着情報( クライアント: @options[:client], mongocryptd_client: @mongocryptd_client, key_vault_namespace: @options[:key_vault_namespace], key_vault_client: @key_vault_client, metadata_client: @metadata_client, mongocryptd_options: @mongocryptd_options ) ヘルプ begin @mongocryptd_client&.閉じる ヘルプ => e log_警告("自動暗号化のコンストラクターで mongocryptd クライアントを閉じる際にエラーが発生しました: #{ e .クラス} : #{ e } ") # この例外を削除して、元の例外が発生するようにする end 発生 end ヘルプ 場合 @key_vault_client & & @key_vault_client != [:client] & & @key_vault_client.クラスター != [:client].クラスター 次に begin @key_vault_client.閉じる ヘルプ => e log_警告("自動暗号化のコンストラクターでキーヴォールト クライアントを閉じるエラー: #{ e .クラス} : #{ e } ") # この例外を削除して、元の例外が発生するようにする end end 場合 @metadata_client & & @metadata_client != [:client] & & @metadata_client.クラスター != [:client].クラスター 次に begin @metadata_client.閉じる ヘルプ => e log_警告("自動暗号化のコンストラクターでメタデータ クライアントを閉じる際にエラーが発生しました: #{ e .クラス} : #{ e } ") # この例外を削除して、元の例外が発生するようにする end end 発生 end |
インスタンス属性の詳細
# key_vault_client =オブジェクト(読み取り専用)
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
34 35 36 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/crypt/auto_encrypter.rb', 行34 デフォルト key_vault_client @key_vault_client end |
#metadata_client =オブジェクト(読み取り専用)
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
35 36 37 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/crypt/auto_encrypter.rb', 行35 デフォルト @metadata_client end |
# mongocryptd_client =オブジェクト(読み取り専用)
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
33 34 35 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/crypt/auto_encrypter.rb', 行33 デフォルト mongocryptd_client @mongocryptd_client end |
#オプション=オブジェクト(読み取り専用)
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
36 37 38 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/crypt/auto_encrypter.rb', 行36 デフォルト @options end |
インスタンス メソッドの詳細
#閉じる= true
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
AutoEncrypter によって作成されたリソースを閉じます。
217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/crypt/auto_encrypter.rb', 行217 デフォルト 閉じる @mongocryptd_client.閉じる 場合 @mongocryptd_client 場合 @key_vault_client & & @key_vault_client != [:client] & & @key_vault_client.クラスター != [:client].クラスター 次に @key_vault_client.閉じる end 場合 @metadata_client & & @metadata_client != [:client] & & @metadata_client.クラスター != [:client].クラスター 次に @metadata_client.閉じる end true end |
#decryption (コマンド) =BSON::Document
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
データベースコマンドを復号化します。
206 207 208 209 210 211 212 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/crypt/auto_encrypter.rb', 行206 デフォルト 解読(コマンド) AutoDecryptionContext.新着情報( @crypt_handle, @encryption_io, コマンド ).run_ State_ Machine end |
#暗号化(データベース_名前, コマンド) = BSON::Document
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
データベースコマンド を暗号化します。
192 193 194 195 196 197 198 199 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/crypt/auto_encrypter.rb', 行192 デフォルト 暗号化(database_name, コマンド) AutoEncryptionContext.新着情報( @crypt_handle, @encryption_io, database_name, コマンド ).run_ State_ Machine end |
#暗号化 =ブール値
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
この暗号化が暗号化を実行する必要があるかどうか( :bypass_auto_encryption オプションが true に設定されている場合は false を返します)。
181 182 183 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/crypt/auto_encrypter.rb', 行181 デフォルト 暗号化 !@options[:bypass_auto_encryption] end |