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 forma parte de una API privada. Debe evitarlo 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:

  • proveedores de kms (encriptada)

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

Aumenta:

  • (ArgumentError)

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



54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# Archivo 'lib/mongo/crypt/kms/credentials.rb', línea 54

def inicializar(proveedores de kms)
  si proveedores de kms.nil?
    propagar ArgumentError.Nuevo("Lasopciones de los proveedores de KMS no deben sernulas")
  end
  si proveedores de kms.key?(aws)
    @aws = AWS::credenciales.Nuevo(proveedores de kms[aws])
  end
  si proveedores de kms.key?(:azure)
    @azure = Azure::credenciales.Nuevo(proveedores de kms[:azure])
  end
  si proveedores de kms.key?(:gcp)
    @gcp = GCP::credenciales.Nuevo(proveedores de kms[:gcp])
  end
  si proveedores de kms.key?(:kmip)
    @kmip = KMIP::credenciales.Nuevo(proveedores de kms[:kmip])
  end
  si proveedores de kms.key?(:local)
    @local = Local::credenciales.Nuevo(proveedores de kms[:local])
  end
  si @aws.nil? && @azure.nil? && @gcp.nil? && @kmip.nil? && @local.nil?
    propagar ArgumentError.Nuevo(
      "Las opciones de los proveedores KMS deben tener una de las siguientes claves: " +
      ":aws, :azure, :gcp, :kmip, :local"
    )
  end
end

Detalles de los atributos de instancia

#awsCredenciales::AWS | ninguno (solo lectura)

Este método forma parte de una API privada. Debe evitarlo 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.



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

def aws
  @aws
end

#azureCredenciales::Azure | nulo (solo lectura)

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve las credenciales de Azure KMS.

Devuelve:

  • (Credenciales::Azure| nulo)

    Credenciales de Azure KMS.



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

def azur
  @azure
end

#gcpCredentials::GCP | nil (solo lectura)

Este método forma parte de una API privada. Debe evitarlo 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.



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

def gcp
  @gcp
end

#kmipCredenciales::KMIP | nulo (solo lectura)

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve las credenciales KMS de KMIP.

Devuelve:

  • (Credentials::KMIP | nil)

    Credenciales KMIP KMS.



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

def kmip
  @kmip
end

#localcredenciales::Local | nil (solo lectura)

Este método forma parte de una API privada. Debe evitarlo 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.



40
41
42
# Archivo 'lib/mongo/crypt/kms/credentials.rb', línea 40

def local
  @local
end

Detalles del método de instancia

#to_documentBSON::Document

Este método forma parte de una API privada. Debe evitarlo 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.



84
85
86
87
88
89
90
91
92
# Archivo 'lib/mongo/crypt/kms/credentials.rb', línea 84

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