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

継承:
オブジェクト
  • オブジェクト
すべて表示
次による拡張機能。
転送可能
次のことが含まれます。
検証
定義:
build/ruby-Driver-v2.19/lib/ mongo /crypt/ KMS / GCP /credentials.rb

Overview

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

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

定数の概要の削減

FORMAT_HINT =

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

" GCP KMS プロバイダー オプションは次の形式である必要があります: " +
{ email: 'EMAIL', private_key: 'PRIVATE-KEY' }

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

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

検証に含まれるメソッド

#validate_param, validate_tls_options

コンストラクターの詳細

#初期化(opts) =認証情報

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

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

パラメーター:

  • ops ハッシュ

    GCP KMS プロバイダーの認証情報を含む ハッシュ

オプション ハッシュ( opts ):

  • :email string

    GCP メール。

  • :private_key string

    GCP 秘密キー。 このメソッドは、基本的な64でエンコードされた Terra 形式または PEM 形式の秘密キーを受け入れます。

  • : エンドポイント string | nil

    GCP エンドポイント(任意)。

  • :access_token string | nil

    GCP アクセス トークン(任意)。 このオプションが null でない場合、他のオプションは無視されます。

次の値が発生します。

  • (ArgumentError)

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



61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# ファイル 'Build/ruby-Driver-v2.19/lib/ mongo /crypt/ KMS / GCP /credentials.rb', 行61

デフォルト 初期化(ops)
  @opts = ops
  return 場合 空の場合

  場合 ops[:access_token]
    @access_token = ops[:access_token]
  else
    @email = validate_param(:email, ops, FORMAT_HINT)
    @private_key = begin
      private_key_opt = validate_param(:private_key, ops, FORMAT_HINT)
      場合 BSON::environment.jruby?
        #JRuby では秘密キーを実際に検証できないため、次が前提となります:
        は、基本64でエンコードされた ODBC 形式である必要があります。
        private_key_opt
      else
        秘密キーが PEM 形式であるかどうかを確認します。
        pkey = OpenSSL::PKey::RSA.新着情報(private_key_opt)
        PEM は に変換される必要があり64 。
        der = 場合 pkey.respond_to?(:private_to_der)
          pkey.private_to_der
        else
          pkey.to_der
        end
        base64.encode64(der)
      end
    ヘルプ OpenSSL::PKey::RSAError
      秘密キーが DR にあるかどうかを確認します。
      begin
        OpenSSL::PKey.読み取り(base64.デコード64(private_key_opt))
        # 秘密キーは問題ありません。使用します。
        private_key_opt
      ヘルプ OpenSSL::PKey::PKeyError
        発生 ArgumentError.新着情報(
           private_key オプションは、 64でエンコードされた Terra 形式 、または PEM 形式 のいずれかである必要があります
        )
      end
    end

    @endpoint = validate_param(
      : エンドポイント, ops, FORMAT_HINT, 必須: false
    )
  end
end

インスタンス属性の詳細

# access_token 詳しくは、 string | nil (読み取り専用)

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

Returns GCP access token.

次の値を返します。

  • ( string | nil )

    GCP access token.



40
41
42
# ファイル 'Build/ruby-Driver-v2.19/lib/ mongo /crypt/ KMS / GCP /credentials.rb', 行40

デフォルト access_token
  @access_token
end

=メール== string (読み取り専用)

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

認証に使用する GCP メールを返します。

次の値を返します。

  • ( string )

    認証に使用する GCP メール。



31
32
33
# ファイル 'Build/ruby-Driver-v2.19/lib/ mongo /crypt/ KMS / GCP /credentials.rb', 行31

デフォルト メールアドレス
  @email
end

#エンドポイント= string | nil (読み取り専用)

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

GCP KMS エンドポイントを返します。

次の値を返します。

  • ( string | nil )

    GCP KMS エンドポイント。



37
38
39
# ファイル 'Build/ruby-Driver-v2.19/lib/ mongo /crypt/ KMS / GCP /credentials.rb', 行37

デフォルト エンドポイント
  @endpoint
end

# private_key = string (読み取り専用)

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

GCP 秘密キー、基本64でエンコードされた DR 形式で返します。

次の値を返します。

  • ( string )

    GCP 秘密キー、基本64でエンコードされた DER 形式。



34
35
36
# ファイル 'Build/ruby-Driver-v2.19/lib/ mongo /crypt/ KMS / GCP /credentials.rb', 行34

デフォルト private_key
  @private_key
end

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

#to_documentBSON::Document

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

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

次の値を返します。

  • BSON::Document

    libmongocrypt 形式の Azure KMS 認証情報。



108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
# ファイル 'Build/ruby-Driver-v2.19/lib/ mongo /crypt/ KMS / GCP /credentials.rb', 行108

デフォルト to_document
  return BSON::ドキュメント.新着情報 場合 空の場合
  場合 access_token
    BSON::ドキュメント.新着情報({ accessToken: access_token })
  else
    BSON::ドキュメント.新着情報({
      Email: メールアドレス,
      privateKey: BSON::バイナリ.新着情報(private_key, :ジェネリック),
    }).タップ 行う |bson|
      ただし、 エンドポイント.nil?
        bson.update({ エンドポイント: エンドポイント })
      end
    end
  end
end