Classe: Mongo::Crypt::KMS::GCP::MasterKeyDocument Private

Herda:
Objeto
  • Objeto
mostrar tudo
Inclui:
Validações
Definido em:
lib/mongo/crypt/KMS/GCP/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 GCP KMS 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.

' Odocumento chave GCP deve estar no formato:  ' +
"{ project_id: 'PROJECT_ID', localização: 'LOCATION', " +
"key_ring: 'KEY-RING', 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 mestre para o provedor GCP KMS.

Hash de opções (opts):

  • :project_id (string)

    ID do projeto GCP.

  • :location (string)

    Localização do GCP.

  • :key_ring (string)

    GCP KMS keyring.

  • :key_name (string)

    Nome da chave KMS do GCP.

  • :key_version (string | nil)

    Versão da chave GCP KMS, opcional.

  • :endpoint (string | nil)

    Ponto de conexão chave GCP KMS, opcional.

Aumenta:

  • (ArgumentError)

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



61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/mongo/crypt/KMS/GCP/master_document.rb', linha 61

def inicializar(opciona)
  se opciona.vazio?
    @empty = true
    Método
  end
  @project_id = validate_param(:project_id, opciona, FORMAT_HINT)
  @location = validate_param(:location, opciona, FORMAT_HINT)
  @key_ring = validate_param(:key_ring, opciona, FORMAT_HINT)
  @key_name = validate_param(:key_name, opciona, FORMAT_HINT)
  @key_version = validate_param(:key_version, opciona, FORMAT_HINT, necessário: false)
  @endpoint = validate_param(:endpoint, opciona, FORMAT_HINT, necessário: false)
end

Detalhes do atributo da instância

#endpointstring | 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 o endpoint GCP KMS.

Retorna:

  • (string | nil)

    Ponto de extremidade GCP KMS.



43
44
45
# File 'lib/mongo/crypt/KMS/GCP/master_document.rb', linha 43

def endpoint
  @endpoint
end

#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 GCP.

Retorna:

  • (string)

    Nome da chave KMS do GCP.



37
38
39
# File 'lib/mongo/crypt/KMS/GCP/master_document.rb', linha 37

def key_name
  @key_name
end

#key_ring ➤ 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 anel de chave GCP KMS.

Retorna:

  • (string)

    GCP KMS keyring.



34
35
36
# File 'lib/mongo/crypt/KMS/GCP/master_document.rb', linha 34

def key_ring
  @key_ring
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 GCP KMS.

Retorna:

  • (string | nil)

    Versão da chave KMS do GCP.



40
41
42
# File 'lib/mongo/crypt/KMS/GCP/master_document.rb', linha 40

def key_version
  @key_version
end

#localizaçãostring (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 localização do GCP.

Retorna:

  • (string)

    Localização do GCP.



31
32
33
# File 'lib/mongo/crypt/KMS/GCP/master_document.rb', linha 31

def localização
  @location
end

#project_idstring (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 ID do projeto GCP.

Retorna:

  • (string)

    ID do projeto GCP.



28
29
30
# File 'lib/mongo/crypt/KMS/GCP/master_document.rb', linha 28

def PROJECT_ID
  @project_id
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 GCP KMS no formato libmongocrypt.



77
78
79
80
81
82
83
84
85
86
87
88
89
90
# File 'lib/mongo/crypt/KMS/GCP/master_document.rb', linha 77

def to_document
  Método BSON::Documento.Novo({}) se @empty

  BSON::Documento.Novo({
                       fornecedor: 'gcp',
                       projectId: PROJECT_ID,
                       localização: localização,
                       chaveiro: key_ring,
                       keyName: key_name
                     }).toque fazer |BSON|
    BSON.update({ keyVersion: key_version }) a menos que key_version.nada?
    BSON.update({ ponto de extremidade: endpoint }) a menos que endpoint.nada?
  end
end