Clase: Mongo::Crypt::KMS::Credentials Privada

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

Overview

Esta clase forma parte de una API privada. Debe evitar usarla siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.

El objeto Credenciales KMS contiene credenciales para utilizar proveedores KMS.

Colapso delresumen de atributos de instancia

Colapso del resumen del método de instancia

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:

Es posible que haya más de un proveedor KMS especificado.

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

Parámetros:

  • proveedores de kms (Hash)

    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.

Aumentos:

  • (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?(:azur)
    @azure = Azure::Credenciales.Nuevo(proveedores de kms[:azur])
  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(
      "Lasopciones de proveedores de KMS deben tener una de las siguientesclaves:" +
      ":aws,:azure,:gcp,:kmip,:local"
    )
  end
end

Detalles de los atributos de instancia

#awsCredenciales::AWS | 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 AWS KMS.

Devuelve:

  • (Credenciales::AWS | nulo ) —

    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

#gcpCredenciales::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 | nulo ) —

    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:

  • (Credenciales::KMIP | nulo)

    Credenciales KMS de KMIP.



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

def kmip
  @kmip
end

#localCredenciales::Local | 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 KMS locales.

Devuelve:

  • (Credenciales::Local | nulo)

    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 de credenciales en un documento BSON en formato libmongocrypt.

Devuelve:

  • (BSON::Documento)

    Credenciales como documento BSON.



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

def al_documento
  BSON::Documento.Nuevo.grifo hacer |BSON|
    BSON[:aws] = @aws.al_documento Si @aws
    BSON[:azur] = @azure.al_documento Si @azure
    BSON[:gcp] = @gcp.al_documento Si @gcp
    BSON[:kmip] = @kmip.al_documento Si @kmip
    BSON[:local] = @local.al_documento Si @local
  end
end