类:Mongo::Crypt::KMS::Credentials Private
- 继承:
-
对象
- 对象
- Mongo::Crypt::KMS::Credentials
- 定义于:
- lib/ Mongo/crypt/ KMS/凭证.rb
Overview
此类是私有 API 的一部分。 应尽可能避免使用此类,因为它将来可能会被删除或更改。
KMS 凭证对象包含使用 KMS 提供程序的凭证。
常量摘要折叠
- ON_DEMAND_PROVIDERS =
此常量是私有 API 的一部分。 应尽可能避免使用此常量,因为它将来可能会被删除或更改。
支持按需凭证检索的 KMS 提供商类型。
%w[AWS GCP AZURE].冻结
实例属性摘要折叠
- #credentials_map ⇒ 对象 只读 private
实例方法摘要折叠
-
#any_on_demand? ⇒ Boolean
private
如果任何配置的提供商支持按需凭证检索并且已配置了空凭证,则返回 true。
-
# Amazon Web Services ⇒ Credentials::AWS | nil
private
Amazon Web Services KMS 凭证(仅适用于未命名提供商)。
-
# azure ⇒ Credentials::Azure | nil
private
Azure KMS 凭证(仅限未命名提供商)。
-
# gcp ⇒ Credentials::GCP | nil
private
GCP KMS 凭证(仅限未命名提供商)。
-
#initialize (kms_providers) ⇒ 档案
构造函数
private
从参数哈希中创建 KMS 凭证对象。
-
# kmip ⇒ Credentials::KMIP | nil
private
KMIP KMS 凭证(仅限未命名提供商)。
-
# local ⇒ Credentials::Local | nil
private
本地 KMS 凭证(仅未命名提供商)。
-
# to_document ⇒ BSON::Document
private
将凭证对象转换为 libmongocrypt 格式的BSON文档。
构造函数详情
#initialize ( kms_providers ) ⇒ 档案
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
可能指定了多个 KMS 提供商。
从参数哈希中创建 KMS 凭证对象。
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/ Mongo/crypt/ KMS/ 凭证.rb', line 40 def 初始化(kms_providers) 提高 ArgumentError.new('KMS 提供商 options must not be nil') if kms_providers.nil? @credentials_map = {} kms_providers.每 do |标识符, opts| identifier_str = 标识符.to_s provider_type = KMS.provider_base_type(identifier_str) creds = 案例 provider_type when 'aws' then AWS::凭证.new(opts) when 'azure' then AZURE::凭证.new(opts) when 'gcp' then GCP::凭证.new(opts) when ' kmip ' then KMIP::凭证.new(opts) when ' local ' then local::凭证.new(opts) else 提高 ArgumentError.new( 'KMS 提供商选项必须具有以下键之一:' \ ':aws, :azure, :gcp, :kmip, :local' ) end @credentials_map[identifier_str] = creds end return unless @credentials_map.empty?raise ArgumentError.new('KMS 提供商选项必须具有以下键之一:' \ ':aws, :azure, :gcp, :kmip, :local' ) end |
实例属性详细信息
#credentials_map ⇒ 对象 (只读)
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
27 28 29 |
# File 'lib/ Mongo/crypt/ KMS/ 凭证.rb', line 27 def credentials_map @credentials_map end |
实例方法详细信息
#any_on_demand? ⇒ Boolean
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
如果任何配置的提供商支持按需凭证检索并且已配置了空凭证,则返回 true。
102 103 104 105 106 |
# File 'lib/ Mongo/crypt/ KMS/ 凭证.rb', line 102 def any_on_demand? @credentials_map.任何? do |标识符, creds| ON_DEMAND_PROVIDERS.包括?(KMS.provider_base_type(标识符)) && creds.空? end end |
#AWS ⇒ 凭证::AWS | nil
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
返回 Amazon Web Services KMS 凭证(仅适用于未命名的提供商)。
74 75 76 |
# File 'lib/ Mongo/crypt/ KMS/ 凭证.rb', line 74 def AWS @credentials_map['aws'] end |
#Azure ⇒ 凭证::Azure | nil
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
返回 Azure KMS 凭证(仅限未命名提供商)。
79 80 81 |
# File 'lib/ Mongo/crypt/ KMS/ 凭证.rb', line 79 def AZURE @credentials_map['azure'] end |
#gcp ⇒ 凭证::GCP | nil
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
返回 GCP KMS 凭证(仅限未命名提供商)。
84 85 86 |
# File 'lib/ Mongo/crypt/ KMS/ 凭证.rb', line 84 def GCP @credentials_map['gcp'] end |
#kmip ⇒ 凭证::KMIP | nil
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
返回 KMIP KMS 凭证(仅限未命名提供商)。
89 90 91 |
# File 'lib/ Mongo/crypt/ KMS/ 凭证.rb', line 89 def KMIP @credentials_map[' kmip '] end |
#local ⇒ 凭证::Local | nil
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
返回本地 KMS 凭证(仅限未命名提供商)。
94 95 96 |
# File 'lib/ Mongo/crypt/ KMS/ 凭证.rb', line 94 def local @credentials_map[' local '] end |
# to_document ⇒ BSON::Document
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
将凭证对象转换为 libmongocrypt 格式的BSON文档。
111 112 113 114 115 116 117 |
# File 'lib/ Mongo/crypt/ KMS/ 凭证.rb', line 111 def to_document BSON::文档.new.点击 do |bson| @credentials_map.每 do |标识符, creds| bson[标识符] = creds.to_document end end end |