モジュール: Mongoid::Tasks::Encryption

次による拡張機能。
暗号化
次のドキュメントに含まれます。
暗号化
定義:
lib/mongoid/tasks/encryption.rb

Overview

このモジュールには、データ暗号化のヘルパー メソッドが含まれています。

インスタンス メソッドの概要を折りたたむ

インスタンス メソッドの詳細

# create_data_key (client_name: nil, kms_provider_name: nil, key_alt_name: nil) =ハッシュ

クライアントの構成の auto_encryption_options を使用して、指定されたKMSプロバイダーのデータ暗号化キーを作成します。

パラメーター:

  • kms_provider_name string | nil (デフォルトはnil

    使用するKMSプロバイダーの名前。 指定されない場合は、クライアントの auto_encryption_options の最初のプロバイダーが使用されます。

  • client_name string | nil (デフォルトはnil

    auto_encryption_options を取得するクライアントの名前。 指定しない場合は、デフォルトのクライアントが使用されます。

  • key_alt_name string | nil (デフォルトはnil

    キーの別名。

次の値を返します。

  • ハッシュ

    ID:key_id、KMS_provider としてのKMS プロバイダー名、および : としてのキーヴォールト名前空間を含むハッシュ。



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# ファイル 'lib/mongoid/tasks/encryption.rb' 行24

デフォルト create_data_key(client_name: nil, kms_provider_name: nil, key_alt_name: nil)
  kms_provider_name, kms_providers, key_vault_namespace = prepare_arguments(
    kms_provider_name,
    client_name
  )
  key_vault_client = Mongoid::クライアント.default.と共に(database: key_vault_namespace.分裂('.').最初に)
  client_encryption = mongo::ClientEncryption.新着情報(
    key_vault_client,
    key_vault_namespace: key_vault_namespace,
    kms_providers: kms_providers
  )
  client_encryption_opts = {}.タップ 行う |ops|
    ops[:key_alt_names] = [key_alt_name] 場合 key_alt_name
  end
  data_key_id = client_encryption.create_data_key(kms_provider_name, client_encryption_opts)
  {
    key_id: base64.strict_encode 64(data_key_id.データ),
    kms_provider: kms_provider_name,
    key_vault_namespace: key_vault_namespace,
    key_alt_name: key_alt_name
  }.compact
end