类:Mongo::Crypt::KMS::Azure::MasterKeyDocument Private

继承:
对象
  • 对象
显示全部
包括:
验证
定义于:
构建/ruby-driver-v2.19/lib/ mongo /crypt/ KMS / Azure /master_document.rb

Overview

此类是私有 API 的一部分。 应尽可能避免使用此类,因为它将来可能会被删除或更改。

Azure KMS主密钥文档对象包含KMS主密钥参数。

常量摘要折叠

FORMAT_HINT =

此常量是私有 API 的一部分。 应尽可能避免使用此常量,因为它将来可能会被删除或更改。

" Azure密钥文档必须采用以下格式: " +
"{ key_vault_endpoint: 'KEY_VAULT_ENDPOINT', key_name: 'KEY_NAME' }"

实例属性摘要折叠

实例方法摘要折叠

验证中包含的方法

#validate_param , validate_tls_options

构造函数详情

#initialize (opts) ⇒ MasterKeyDocument

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

从参数哈希创建主密钥文档对象。

参数:

  • opts (哈希)

    包含Azure KMS提供商的主密钥选项的哈希。

选项哈希 ( opts ):

  • :key_vault_endpoint string

    Azure Key Vault端点。

  • :key_name string

    Azure KMS 密钥名称。

  • :key_version ( string | nil )

    Azure KMS密钥版本,可选。

引发:

  • ( ArgumentError )

    如果所需选项缺失或不正确。



49
50
51
52
53
54
55
56
57
58
# File ' 构建/ruby-driver-v2.19/lib/ mongo /crypt/ KMS / Azure /master_document.rb', 第49行

def 初始化(opts)
  除非 opts.is_a?(哈希)
    提高 ArgumentError.new(
      '密钥文档选项必须包含名为 :master_key 且具有哈希值的密钥'
    )
  end
  @key_vault_endpoint = validate_param(:key_vault_endpoint, opts, FORMAT_HINT)
  @key_name = validate_param(:key_name, opts, FORMAT_HINT)
  @key_version = validate_param(:key_version, opts, FORMAT_HINT, 必需: false)
end

实例属性详细信息

# key_namestring (只读)

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

返回Azure KMS密钥名称。

返回:

  • ( string )

    Azure KMS 密钥名称。



32
33
34
# File ' 构建/ruby-driver-v2.19/lib/ mongo /crypt/ KMS / Azure /master_document.rb', 第32行

def key_name
  @key_name
end

# key_vault_endpointstring (只读)

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

返回Azure Key Vault端点。

返回:

  • ( string )

    Azure Key Vault端点。



29
30
31
# File ' 构建/ruby-driver-v2.19/lib/ mongo /crypt/ KMS / Azure /master_document.rb', 第29行

def key_vault_endpoint
  @key_vault_endpoint
end

# key_versionstring | nil (只读)

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

返回Azure KMS密钥版本。

返回:

  • ( string | nil )

    Azure KMS密钥版本。



35
36
37
# File ' 构建/ruby-driver-v2.19/lib/ mongo /crypt/ KMS / Azure /master_document.rb', 第35行

def key_version
  @key_version
end

实例方法详细信息

# to_documentBSON::Document

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

将主密钥文档对象转换为 libmongocrypt 格式的 BSON 文档。

返回:

  • ( BSON::Document )

    凭证格式的Azure KMS档案。



63
64
65
66
67
68
69
70
71
72
73
# File ' 构建/ruby-driver-v2.19/lib/ mongo /crypt/ KMS / Azure /master_document.rb', 第63行

def to_document
  BSON::文档.new({
    提供商: 'azure',
    keyVaultEndpoint: key_vault_endpoint,
    keyName: key_name,
  }).点击 do |bson|
    除非 key_version.nil?
      bson.update({ keyVersion: key_version })
    end
  end
end