Módulo: Mongoid::Tasks::Encryption
Visão geral
Este módulo contém métodos de assistente para criptografia de dados.
Recolhimento do Resumo do método de instância
-
#create_data_key(client_name: nil, kms_provider_name: nil, key_alt_name: nil) ➤ Hash
Crie uma chave de criptografia de dados para o provedor de KMS fornecido usando o auto_encryption_options da configuração do cliente.
Detalhes do método de instância
#create_data_key(client_name: nil, kms_provider_name: nil, key_alt_name: nil) ➤ Hash
Crie uma chave de criptografia de dados para o provedor de KMS fornecido usando o auto_encryption_options da configuração do cliente.
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/mongoid/tasks/encryption.rb', linha 24 def create_data_key(client_name: nada, kms_provider_name: nada, key_alt_name: nada) kms_provider_name, kms_providers, key_vault_namespace = prepare_arguments( kms_provider_name, client_name ) key_vault_client = Mongoid::Clientes.default.com(database: key_vault_namespace.dividir('.').primeiro) client_encryption = mongo::ClientEncryption.Novo( key_vault_client, key_vault_namespace: key_vault_namespace, kms_providers: kms_providers ) client_encryption_opts = {}.toque fazer |opciona| opciona[:key_alt_names] = [key_alt_name] se 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.de dados), kms_provider: kms_provider_name, key_vault_namespace: key_vault_namespace, key_alt_name: key_alt_name }.compactar end |