clase: Mongo::Crypt::KMS::credenciales Privado
- Hereda:
-
Objeto
- Objeto
- Mongo::Crypt::KMS::Credentials
- 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 constantes colapsar
- ON_DEMAND_PROVIDERS =
Esta constante es parte de una API privada. Deberías evitar usar esta constante si es posible, ya que podría ser retirada o cambiada en el futuro.
Tipos de proveedor de KMS que admiten la recuperación de credenciales on-demand.
%w[aws gcp Azure].freeze
Resumen de atributos de la instancia colapsar
- #credentials_map ⇒ Objeto Solo lectura privado
Resumen del método de instancia colapsar
-
#any_on_demand? ⇒ Boolean
privado
Devuelve verdadero si cualquier proveedor configurado admite la recuperación de credenciales on-demand y se ha configurado con credenciales vacías.
-
#aws ⇒ Credentials::AWS | nil
privado
Credenciales de Amazon Web Services KMS (solo proveedor sin nombre).
-
#azure ⇒ Credenciales::Azure | nulo
privado
Credenciales de Azure KMS (solo proveedor sin nombre).
-
#gcp ⇒ Credenciales::GCP | nil
privado
Credenciales de GCP KMS (solo proveedor sin nombre).
-
#initialize(kms_providers) ⇒ Credenciales
constructor
privado
Crea un objeto de credenciales KMS a partir de una encriptada de parámetros.
-
#kmip ⇒ Credentials::KMIP | nil
privado
Credenciales de KMIP KMS (solo proveedor sin nombre).
-
#local ⇒ Credenciales::Local | nil
privado
Credenciales de KMS locales (solo proveedor sin nombre).
-
#to_document ⇒ BSON::Document
privado
Convierte el objeto credencial a un documento BSON en formato libmongocrypt.
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.
Puede haber más de un proveedor de KMS especificado.
Crea un objeto de credenciales KMS a partir de una encriptada de parámetros.
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# Archivo 'lib/mongo/crypt/kms/credentials.rb', línea 40 def inicializar(kms_providers) propagar ArgumentError.Nuevo('Las opciones de los proveedores de KMS no deben ser nulas') si kms_providers.nil? @credentials_map = {} kms_providers.cada hacer |identifier, opciones| identifier_str = identifier.to_s provider_type = KMS.provider_base_type(identifier_str) credenciales = caso provider_type cuando 'aws' entonces AWS::credenciales.Nuevo(opciones) cuando 'azure' entonces Azure::credenciales.Nuevo(opciones) cuando 'gcp' entonces GCP::credenciales.Nuevo(opciones) cuando 'kmip' entonces KMIP::credenciales.Nuevo(opciones) cuando 'local' entonces Local::credenciales.Nuevo(opciones) else propagar ArgumentError.Nuevo( 'Las opciones del proveedor de KMS deben tener una de las siguientes claves: ' \ ':aws, :azure, :gcp, :kmip, :local' ) end @credentials_map[identifier_str] = creds end return unless @credentials_map.empty? raise ArgumentError.new( 'Las opciones del proveedor de KMS deben tener una de las siguientes claves: ' \ ':aws, :azure, :gcp, :kmip, :local' ) end |
Detalles de atributo de instancias
#credentials_map ⇒ Objeto (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.
27 28 29 |
# Archivo 'lib/mongo/crypt/kms/credentials.rb', línea 27 def credentials_map @credentials_map end |
Detalles del método de instancia
#any_on_demand? ⇒ Boolean
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 verdadero si cualquier proveedor configurado admite la recuperación de credenciales on-demand y se ha configurado con credenciales vacías.
102 103 104 105 106 |
# Archivo 'lib/mongo/crypt/kms/credentials.rb', línea 102 def any_on_demand? @credentials_map.any? hacer |identifier, credenciales| ON_DEMAND_PROVIDERS.incluir?(KMS.provider_base_type(identifier)) && credenciales.¿vacío? end end |
#aws ⇒ Credenciales::AWS | nil
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 (solo proveedor sin nombre).
74 75 76 |
# Archivo 'lib/mongo/crypt/kms/credentials.rb', línea 74 def aws @credentials_map['aws'] end |
#azure ⇒ Credenciales::Azure | nulo
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 (solo proveedor sin nombre).
79 80 81 |
# Archivo 'lib/mongo/crypt/kms/credentials.rb', línea 79 def Azure @credentials_map['azure'] end |
#gcp ⇒ Credenciales::GCP | nil
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 (solo proveedor sin nombre).
84 85 86 |
# Archivo 'lib/mongo/crypt/kms/credentials.rb', línea 84 def gcp @credentials_map['gcp'] end |
#kmip ⇒ credenciales::KMIP | nil
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 (solo proveedor sin nombre).
89 90 91 |
# Archivo 'lib/mongo/crypt/kms/credentials.rb', línea 89 def kmip @credentials_map['kmip'] end |
#local ⇒ Credenciales::Local | nil
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 del KMS local (solo proveedor sin nombre).
94 95 96 |
# Archivo 'lib/mongo/crypt/kms/credentials.rb', línea 94 def local @credentials_map['local'] end |
#to_document ⇒ BSON::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.
111 112 113 114 115 116 117 |
# Archivo 'lib/mongo/crypt/kms/credentials.rb', línea 111 def to_document BSON::Documento.Nuevo.tocar hacer |BSON| @credentials_map.cada hacer |identifier, credenciales| BSON[identifier] = credenciales.to_document end end end |