クラス: Mongo::Crypt::AutoEncrypter Private
- 継承:
-
オブジェクト
- オブジェクト
- Mongo::Crypt::AutoEncrypter
- 定義:
- 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(コマンド、timeout_handler)= BSON::Document
private
データベースコマンドを復号化します。
-
#暗号化(データベース_名前,コマンド,タイムアウト_ホルダー)= BSON::ドキュメント
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 |
# ファイル '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] @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 |
# ファイル 'lib/mongo/crypt/ auto_encrypter.rb' の場合、34 行 デフォルト key_vault_client @key_vault_client end |
#metadata_client =オブジェクト(読み取り専用)
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
35 36 37 |
# ファイル 'lib/mongo/crypt/ auto_encrypter.rb' の場合、35 行 デフォルト @metadata_client end |
# mongocryptd_client =オブジェクト(読み取り専用)
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
33 34 35 |
# ファイル 'lib/mongo/crypt/ auto_encrypter.rb' の場合、33 行 デフォルト mongocryptd_client @mongocryptd_client end |
#オプション=オブジェクト(読み取り専用)
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
36 37 38 |
# ファイル 'lib/mongo/crypt/ auto_encrypter.rb' の場合、36 行 デフォルト @options end |
インスタンス メソッドの詳細
#閉じる= true
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
AutoEncrypter によって作成されたリソースを閉じます。
215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 |
# ファイル 'lib/mongo/crypt/ auto_encrypter.rb' の場合、215 行 デフォルト 閉じる @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(コマンド、timeout_handler)= BSON::Document
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
データベースコマンドを復号化します。
204 205 206 207 208 209 210 |
# ファイル 'lib/mongo/crypt/ auto_encrypter.rb' の場合、204 行 デフォルト 解読(コマンド, timeout_holder) AutoDecryptionContext.新着情報( @crypt_handle, @encryption_io, コマンド ).run_ State_ Machine(timeout_holder) end |
#暗号化(データベース_名前,コマンド,タイムアウト_ホルダー)= BSON::ドキュメント
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
データベースコマンド を暗号化します。
190 191 192 193 194 195 196 197 |
# ファイル 'lib/mongo/crypt/ auto_encrypter.rb' の場合、190 行 デフォルト 暗号化(database_name, コマンド, timeout_holder) AutoEncryptionContext.新着情報( @crypt_handle, @encryption_io, database_name, コマンド ).run_ State_ Machine(timeout_holder) end |
#暗号化 =ブール値
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
この暗号化が暗号化を実行する必要があるかどうか( :bypass_auto_encryption オプションが true に設定されている場合は false を返します)。
179 180 181 |
# ファイル 'lib/mongo/crypt/ auto_encrypter.rb' の場合、179 行 デフォルト 暗号化 !@options[:bypass_auto_encryption] end |