clase: Mongo::Crypt::KMS::credenciales Privado

Hereda:
Objeto
  • Objeto
Mostrar todo
Definido en:
lib/mongo/crypt/kms/credenciales.rb

Overview

Esta clase forma parte de una API privada. Evita usar esta clase si es posible, ya que puede ser eliminada o modificada en el futuro.

El objeto Credenciales KMS contiene las credenciales para utilizar proveedores KMS.

Resumen de atributos de la instancia colapsar

Resumen del método de instancia colapsar

Detalles del Constructor

#inicializar(kms_providers) ⇒ Credenciales

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Nota:

Puede haber más de un proveedor de KMS especificado.

Crea un formulario de objeto de credenciales KMS a partir de un hash de parámetros.

Parámetros:

  • kms_providers (encriptada)

    Un hash que contiene la credencial para los proveedores de KMS. El hash debe tener los nombres de los proveedores de KMS como claves y los parámetros requeridos para cada proveedor como valores. Los parámetros requeridos para los proveedores de KMS se describen en las clases correspondientes dentro del módulo Mongo::Crypt::KMS.

Aumenta:

  • (ArgumentError)

    Si faltan las opciones requeridas o están formateadas incorrectamente.



51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# Archivo 'lib/mongo/crypt/kms/credentials.rb', línea 51

def inicializar(kms_providers)
  propagar ArgumentError.Nuevo('Las opciones de los proveedores de KMS no deben ser nulas') si kms_providers.nil?

  @aws = AWS::credenciales.Nuevo(kms_providers[aws]) si kms_providers.key?(aws)
  @azure = Azure::credenciales.Nuevo(kms_providers[:azure]) si kms_providers.key?(:azure)
  @gcp = GCP::credenciales.Nuevo(kms_providers[:gcp]) si kms_providers.key?(:gcp)
  @kmip = KMIP::credenciales.Nuevo(kms_providers[:kmip]) si kms_providers.key?(:kmip)
  @local = Local::credenciales.Nuevo(kms_providers[:local]) si kms_providers.key?(:local)
  return a menos que @aws.nil? && @azure.nil? && @gcp.nil? && @kmip.nil? && @local.nil?

  propagar ArgumentError.Nuevo(
    'Las opciones de los proveedores de KMS deben tener una de las siguientes claves: ' +
    ':aws, :azure, :gcp, :kmip, :local'
  )
end

Detalles de atributo de instancias

#awsCredenciales::AWS | ninguno (solo lectura)

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve las credenciales de AWS KMS.

Devuelve:

  • (Credentials::AWS | nil)

    Credenciales de AWS KMS.



25
26
27
# Archivo 'lib/mongo/crypt/kms/credentials.rb', línea 25

def aws
  @aws
end

#azureCredentials::Azure | nil (solo lectura)

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve las credenciales de Azure KMS.

Devuelve:

  • (Credentials::Azure | nil)

    Credenciales de Azure KMS.



28
29
30
# Archivo 'lib/mongo/crypt/kms/credentials.rb', línea 28

def Azure
  @azure
end

#gcpCredentials::GCP | nil (solo lectura)

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve las credenciales de GCP KMS.

Devuelve:

  • (credenciales::GCP | nil)

    Credenciales de GCP KMS.



31
32
33
# Archivo 'lib/mongo/crypt/kms/credentials.rb', línea 31

def gcp
  @gcp
end

#kmipCredentials::KMIP | nil (solo lectura)

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve credenciales KMIP KMS.

Devuelve:

  • (Credentials::KMIP | nil)

    Credenciales KMIP KMS.



34
35
36
# Archivo 'lib/mongo/crypt/kms/credentials.rb', línea 34

def kmip
  @kmip
end

#localcredenciales::Local | nil (solo lectura)

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Returns Local KMS credentials. (Devuelve las credenciales del KMS local.)

Devuelve:

  • (credenciales::Local | nil)

    Credenciales KMS locales.



37
38
39
# Archivo 'lib/mongo/crypt/kms/credentials.rb', línea 37

def local
  @local
end

Detalles del método de instancia

#to_documentBSON::Document

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Convierte el objeto credencial a un documento BSON en formato libmongocrypt.

Devuelve:

  • (BSON::Document)

    Credenciales como documento BSON.



70
71
72
73
74
75
76
77
78
# Archivo 'lib/mongo/crypt/kms/credentials.rb', línea 70

def to_document
  BSON::Documento.Nuevo.tocar hacer |BSON|
    BSON[aws] = @aws.to_document si @aws
    BSON[:azure] = @azure.to_document si @azure
    BSON[:gcp] = @gcp.to_document si @gcp
    BSON[:kmip] = @kmip.to_document si @kmip
    BSON[:local] = @local.to_document si @local
  end
end