クラス: Mongo::Crypt::KMS::Credentials Private

継承:
オブジェクト
  • オブジェクト
すべて表示
定義:
lib/mongo/crypt/KMS/credentials.rb

Overview

このクラスは、プライベート API の一部です。 このクラスは将来削除または変更される可能性があるため、可能な限り使用しないでください。

KMS 認証情報オブジェクトには、KMS プロバイダーを使用するための認証情報が含まれています。

定数の概要の削減

ON_DEMAND_PROVIDERS =

この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。

オンデマンドでの認証情報の取得をサポートする KMS プロバイダー タイプ。

%w[Amazon Web Services gcp Azure].freeze

インスタンス属性の概要を折りたたむ

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

コンストラクターの詳細

# initialize ( kms_providers) =認証情報

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

注:

複数の KMS プロバイダーを指定できます。

パラメーター ハッシュから KMS 認証情報オブジェクトを作成します。

パラメーター:

  • kms_providers ハッシュ

    KMS プロバイダーの認証情報を含むハッシュ。キーは、プロバイダーの種類(:aws、:local など)または、名前付きプロバイダー識別子("aws:name1"、"local:name2" など)です。値は、対応するプロバイダーの種類の認証情報のハッシュ化されたものです。

次の値が発生します。

  • (ArgumentError)

    必須 オプションが欠落しているか、形式が正しくない場合。



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
# ファイル 'lib/mongo/crypt/KMS/credentials.rb' の行 40

デフォルト 初期化(kms_providers)
  発生 ArgumentError.新着情報( KMS プロバイダー オプションは nil 以外である必要があります ) 場合 kms_providers.nil?

  @credentials_map = {}

  kms_providers. 行う |identifier, ops|
    identifier_str = identifier.to_s
    provider_type = KMS.provider_base_type(identifier_str)

    creds = ケース provider_type
            次の場合: 'aws' 次に Amazon Web Services::Credentials.新着情報(ops)
            次の場合: 'azure' 次に Azure::Credentials.新着情報(ops)
            次の場合: 'gcp' 次に GCP::Credentials.新着情報(ops)
            次の場合: 'kmip' 次に KMIP::Credentials.新着情報(ops)
            次の場合: ' local ' 次に ローカル::Credentials.新着情報(ops)
            else
              発生 ArgumentError.新着情報(
                'KMS プロバイダー オプションには、次のいずれかのキーが必要です。' \
                ':aws, :azure, :gcp, :kmip, :local'
              )
            end

    @credentials_map[identifier_str] = creds
  end

  return unless @credentials_map.empty?raise ArgumentError.new('KMS プロバイダー オプションには、次のいずれかのキーが必要です。' \
    ':aws, :azure, :gcp, :kmip, :local'
  )
end

インスタンス属性の詳細

#credentials_map=オブジェクト(読み取り専用)

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。



27
28
29
# ファイル 'lib/mongo/crypt/KMS/credentials.rb' の行 27

デフォルト credentials_map
  @credentials_map
end

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

#any_on_demand?Boolean

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

設定されたプロバイダーがオンデマンド認証情報検索をサポートし、空の認証情報で設定されている場合は true を返します。

次の値を返します。

  • ブール値


102
103
104
105
106
# ファイル 'lib/mongo/crypt/KMS/credentials.rb' の行 102

デフォルト any_on_demand?
  @credentials_map.any? 行う |identifier, creds|
    ON_DEMAND_PROVIDERS.include?(KMS.provider_base_type(identifier)) & & creds.空の場合
  end
end

# Amazon Web Services = 認証情報::AWS | nil

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

Amazon Web Services KMS認証情報(名前のないプロバイダーのみ)を返します。

次の値を返します。

  • (認証情報::AWS | nil )

    AWS KMS 認証情報(名前のないプロバイダーのみ)。



74
75
76
# ファイル 'lib/mongo/crypt/KMS/credentials.rb' の行 74

デフォルト Amazon Web Services
  @credentials_map['aws']
end

#azure認証情報::Azure | nil

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

Azure KMS 認証情報を返します(名前のないプロバイダーのみ)。

次の値を返します。

  • (認証情報::Azure | nil )

    Azure KMS 認証情報(名前のないプロバイダーのみ)。



79
80
81
# ファイル 'lib/mongo/crypt/KMS/credentials.rb' の行 79

デフォルト Azure
  @credentials_map['azure']
end

#gcp = 認証情報::GCP | nil

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

GCP KMS 認証情報(名前のないプロバイダーのみ)を返します。

次の値を返します。

  • 認証情報::GCP | nil

    GCP KMS 認証情報(名前のないプロバイダーのみ)。



84
85
86
# ファイル 'lib/mongo/crypt/KMS/credentials.rb' の行 84

デフォルト gcp
  @credentials_map['gcp']
end

#kmipCredentials::KMIP | nil

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

KMIP KMS 認証情報(名前のないプロバイダーのみ)を返します。

次の値を返します。

  • (認証情報::KMIP | nil )

    KMIP KMS 認証情報(名前のないプロバイダーのみ)。



89
90
91
# ファイル 'lib/mongo/crypt/KMS/credentials.rb' の行 89

デフォルト kmip
  @credentials_map['kmip']
end

#local認証情報::Local | nil

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

ローカル KMS 認証情報を返します(名前のないプロバイダーのみ)。

次の値を返します。

  • 認証情報 ::Local | nil

    ローカル KMS 認証情報(名前のないプロバイダーのみ)。



94
95
96
# ファイル 'lib/mongo/crypt/KMS/credentials.rb' の行 94

デフォルト ローカル
  @credentials_map[' local ']
end

#to_documentBSON::Document

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

認証情報オブジェクトを libmongocrypt 形式の BSON ドキュメントに変換します。

次の値を返します。

  • BSON::Document

    BSON ドキュメントとしての認証情報。



111
112
113
114
115
116
117
# ファイル 'lib/mongo/crypt/KMS/credentials.rb' の行 111

デフォルト to_document
  BSON::ドキュメント.新着情報.タップ 行う |bson|
    @credentials_map. 行う |identifier, creds|
      bson[identifier] = creds.to_document
    end
  end
end