Módulo: Mongoid::tareas::cifrado
Overview
Este módulo contiene métodos asistente para el cifrado de datos.
Resumen del método de instancia colapsar
-
#create_data_key(client_name: nil, kms_provider_name: nil, key_alt_name: nil) ⇒ Hash
Crea una clave de cifrado de datos para el proveedor kms dado usando las auto_encryption_options de la configuración del cliente.
Detalles del método de instancia
#create_data_key(client_name: nil, kms_provider_name: nil, key_alt_name: nil) ⇒ Hash
Crea una clave de cifrado de datos para el proveedor kms dado usando las auto_encryption_options de la configuración del cliente.
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# Archivo 'lib/mongoid/tasks/cifrado.rb', línea 23 def create_data_key(client_name: nulo, kms_provider_name: nulo, key_alt_name: nulo) kms_provider_name, kms_providers, key_vault_namespace = prepare_arguments( kms_provider_name, client_name ) key_vault_client = Mongoid::Clientes.predeterminado.con(database: key_vault_namespace.división('.').primero) client_encryption = mongo::ClientEncryption.Nuevo( key_vault_client, key_vault_namespace: key_vault_namespace, kms_providers: kms_providers ) client_encryption_opts = {}.tocar hacer |opciones| opciones[nombres alternativos] = [ key_alt_name ] si key_alt_name end data_key_id = client_encryption.create_data_key(kms_provider_name, client_encryption_opts) { key_id: Base64.strict_encode64(data_key_id.Datos), kms_provider: kms_provider_name, key_vault_namespace: key_vault_namespace, key_alt_name: key_alt_name }.compact end |