클래스: Mongo::Crypt::KMS::Credentials Private

상속:
객체
  • 객체
모두 표시
다음에 정의됨:
lib/ Mongo/crypt/ KMS/ 자격 증명.rb

개요

이 클래스는 비공개 API의 일부입니다. 이 클래스는 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

KMS 자격 증명 객체에는 KMS 제공자를 사용하기 위한 자격 증명이 포함되어 있습니다.

상수 요약 접기

ON_DEMAND_PROVIDERS =

이 상수는 비공개 API의 일부입니다. 이 상수는 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

KMS provider types that support on-demand credential retrieval.

%w[AWS GCP Azure].동결

인스턴스 속성 요약 접기

인스턴스 메서드 요약 접기

생성자 세부 정보

#initialize(kms_providers) ⇒ 자격 증명

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

참고:

지정된 KMS 제공자가 두 개 이상 있을 수 있습니다.

Creates a KMS credentials object from a parameters hash.

매개변수:

  • kms_providers (해시)

    A hash that contains credentials for KMS providers. Keys may be provider types (:aws, :local, etc.) or named provider identifiers ("aws:name1", "local:name2", etc.). Values are hashes of credentials for the corresponding provider type.

다음을 발생시킵니다.

  • (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/ 자격 증명.rb', 줄 40

def 초기화(kms_providers)
  올리다 ArgumentError.신규('KMS 제공자 옵션은'nil'이 아니어야 합니다.) 만약 kms_providers.nil?

  @credentials_map = {}

  kms_providers. do |식별자, opts|
    identifier_str = 식별자.to_s
    provider_type = KMS.provider_base_type(identifier_str)

    creds = case provider_type
            when 'aws' then AWS::자격 증명.신규(opts)
            when 'azure' then Azure::자격 증명.신규(opts)
            when 'gcp' then GCP::자격 증명.신규(opts)
            when 'kmip' then KMIP::자격 증명.신규(opts)
            when 'local' then 로컬::자격 증명.신규(opts)
            other
              올리다 ArgumentError.신규(
                'KMS providers options must have one of the following keys: ' \
                ':aws, :azure, :gcp, :kmip, :local'
              )
            end

    @credentials_map[identifier_str] = creds
  end

  return unless @credentials_map.empty?

  raise ArgumentError.new(
    'KMS providers options must have one of the following keys: ' \
    ':aws, :azure, :gcp, :kmip, :local'
  )
end

인스턴스 속성 세부 정보

#credentials_mapObject (readonly)

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.



27
28
29
# 파일 'lib/ Mongo/crypt/ KMS/ 자격 증명.rb', 줄 27

def credentials_map
  @credentials_map
end

인스턴스 메서드 세부 정보

#any_on_demand?Boolean

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

Returns true if any configured provider supports on-demand credential retrieval and has been configured with empty credentials.

반환합니다:

  • (부울)


102
103
104
105
106
# 파일 'lib/ Mongo/crypt/ KMS/ 자격 증명.rb', 줄 102

def any_on_demand?
  @credentials_map.어떤? do |식별자, creds|
    ON_DEMAND_PROVIDERS.포함?(KMS.provider_base_type(식별자)) && creds.비어 있나요?
  end
end

#awsCredentials::AWS | nil

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

Returns AWS KMS credentials (unnamed provider only).

반환합니다:

  • (Credentials::AWS | nil)

    AWS KMS credentials (unnamed provider only).



74
75
76
# 파일 'lib/ Mongo/crypt/ KMS/ 자격 증명.rb', 줄 74

def AWS
  @credentials_map['aws']
end

#azureCredentials::Azure | nil

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

Returns Azure KMS credentials (unnamed provider only).

반환합니다:

  • (Credentials::Azure | nil)

    Azure KMS credentials (unnamed provider only).



79
80
81
# 파일 'lib/ Mongo/crypt/ KMS/ 자격 증명.rb', 줄 79

def Azure
  @credentials_map['azure']
end

#gcpCredentials::GCP | nil

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

Returns GCP KMS credentials (unnamed provider only).

반환합니다:

  • (Credentials::GCP | nil)

    GCP KMS credentials (unnamed provider only).



84
85
86
# 파일 'lib/ Mongo/crypt/ KMS/ 자격 증명.rb', 줄 84

def GCP
  @credentials_map['gcp']
end

#kmipCredentials::KMIP | nil

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

Returns KMIP KMS credentials (unnamed provider only).

반환합니다:

  • (Credentials::KMIP | nil)

    KMIP KMS credentials (unnamed provider only).



89
90
91
# 파일 'lib/ Mongo/crypt/ KMS/ 자격 증명.rb', 줄 89

def KMIP
  @credentials_map['kmip']
end

#localCredentials::Local | nil

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

Returns Local KMS credentials (unnamed provider only).

반환합니다:

  • (Credentials::Local | nil)

    Local KMS credentials (unnamed provider only).



94
95
96
# 파일 'lib/ Mongo/crypt/ KMS/ 자격 증명.rb', 줄 94

def 로컬
  @credentials_map['local']
end

#to_documentBSON::Document

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

자격 증명 객체 를 libmongocrypt 형식의 BSON 문서 로 변환합니다.

반환합니다:

  • (BSON::Document)

    BSON 문서로서의 자격 증명.



111
112
113
114
115
116
117
# 파일 'lib/ Mongo/crypt/ KMS/ 자격 증명.rb', 줄 111

def to_document
  BSON::문서.신규. do |BSON|
    @credentials_map. do |식별자, creds|
      BSON[식별자] = creds.to_document
    end
  end
end