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

继承:
对象
  • 对象
显示全部
包括:
验证
定义于:
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 )

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



48
49
50
51
52
53
54
55
56
57
# File 'lib/ Mongo/crypt/ KMS/ Azure/master_document.rb', line 48

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 密钥名称。



31
32
33
# File 'lib/ Mongo/crypt/ KMS/ Azure/master_document.rb', line 31

def key_name
  @key_name
end

# key_vault_endpointstring (只读)

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

返回Azure Key Vault端点。

返回:

  • ( string )

    Azure Key Vault端点。



28
29
30
# File 'lib/ Mongo/crypt/ KMS/ Azure/master_document.rb', line 28

def key_vault_endpoint
  @key_vault_endpoint
end

# key_versionstring | nil (只读)

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

返回Azure KMS密钥版本。

返回:

  • ( string | nil )

    Azure KMS密钥版本。



34
35
36
# File 'lib/ Mongo/crypt/ KMS/ Azure/master_document.rb', line 34

def key_version
  @key_version
end

实例方法详细信息

# to_documentBSON::Document

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

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

返回:

  • ( BSON::Document )

    凭证格式的Azure KMS档案。



62
63
64
65
66
67
68
69
70
# File 'lib/ Mongo/crypt/ KMS/ Azure/master_document.rb', line 62

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