Classe: Mongo::Crypt::KMS::Azure::MasterKeyDocument Private

Herda:
Objeto
  • Objeto
mostrar tudo
Inclui:
Validações
Definido em:
build/ruby-driver-v2.19/lib/mongo/crypt/KMS/Azure/master_document.rb

Visão geral

Esta classe faz parte de uma API privada. Evite usar essa classe, se possível, pois ela pode ser removida ou alterada no futuro.

O objeto de documento de chave mestra KMS do Azure contém parâmetros de chave mestra KMS.

Colapsode resumo constante

FORMAT_HINT =

Essa constante faz parte de uma API privada. Você deve evitar usar essa constante, se possível, pois ela pode ser removida ou alterada no futuro.

"O documento da chave Azure deve estar no formato: " +
"{ key_vault_endpoint: 'KEY_VAULT_ENDPOINT', key_name: 'KEY_NAME' }"

Recolhimento do Resumo do atributo de instância

Recolhimento do Resumo do método de instância

Métodos incluídos nas Validações

#validate_param, validate_tls_options

Detalhes do construtor

#initialize(opts) ➤ MasterKeyDocument

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Cria um objeto de documento de chave mestra a partir de um hash de parâmetros.

Parâmetros:

  • opciona (Hash)

    Um hash que contém opções de chave mestra para o provedor do Azure KMS.

Hash de opções (opts):

  • :key_vault_endpoint (string)

    Ponto de extremidade Azure Key Vault .

  • :key_name (string)

    Nome da chave Azure KMS.

  • :key_version (string | nil)

    Versão da chave Azure KMS, opcional.

Aumenta:

  • (ArgumentError)

    Se as opções necessárias estiverem ausentes ou incorretas.



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

def inicializar(opciona)
  a menos que opciona.is_a?(Hash)
    aumentar ArgumentError.Novo(
      'As opções de documento chave devem conter uma chave chamada :master_key com um valor de Hash'
    )
  end
  @key_vault_endpoint = validate_param(:key_vault_endpoint, opciona, FORMAT_HINT)
  @key_name = validate_param(:key_name, opciona, FORMAT_HINT)
  @key_version = validate_param(:key_version, opciona, FORMAT_HINT, necessário: false)
end

Detalhes do atributo da instância

#key_name ➤ string (somente leitura)

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Retorna o nome da chave KMS do Azure.

Retorna:

  • (string)

    Nome da chave Azure KMS.



32
33
34
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/KMS/Azure/master_document.rb', linha 32

def key_name
  @key_name
end

#key_vault_endpoint ➤ string (somente leitura)

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Retorna o ponto de extremidade Azure Key Vault .

Retorna:

  • (string)

    Ponto de extremidade Azure Key Vault .



29
30
31
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/KMS/Azure/master_document.rb', linha 29

def key_vault_endpoint
  @key_vault_endpoint
end

#key_version ➤ string | nil (somente leitura)

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Retorna a versão da chave Azure KMS.

Retorna:

  • (string | nil)

    Versão da chave Azure KMS.



35
36
37
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/KMS/Azure/master_document.rb', linha 35

def key_version
  @key_version
end

Detalhes do método de instância

#to_document ➤ BSON::Document

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Converta o objeto de documento de chave mestra em um documento BSON no formato libmongocrypt.

Retorna:

  • (BSON::Document)

    Credenciais Azure KMS no formato libmongocrypt.



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

def to_document
  BSON::Documento.Novo({
    fornecedor: 'azure',
    Ponto final do KeyVault: key_vault_endpoint,
    keyName: key_name,
  }).toque fazer |BSON|
    a menos que key_version.nada?
      BSON.update({ keyVersion: key_version })
    end
  end
end