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

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

개요

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

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

상수 요약 접기

ON_DEMAND_PROVIDERS =

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

온디맨드 자격 증명 검색을 지원하는 KMS 제공자 유형입니다.

%w[AWS GCP Azure].동결

인스턴스 속성 요약 접기

인스턴스 메서드 요약 접기

생성자 세부 정보

#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/ 자격 증명.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 제공자 옵션에는 다음 키 중 하나가 있어야 합니다. ' \
                ':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객체 (readonly)

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



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

def credentials_map
  @credentials_map
end

인스턴스 메서드 세부 정보

#any_on_demand?Boolean

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

구성된 제공자 중 온디맨드 자격 증명 검색을 지원하고 빈 자격 증명으로 구성된 경우 true를 반환합니다.

반환합니다:

  • (부울)


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

#AWS자격 증명::AWS | nil

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

Amazon Web Services KMS 자격 증명을 반환합니다(무명 제공자에 한함).

반환합니다:

  • (Credentials::AWS | nil)

    Amazon Web Services KMS 자격 증명(무명 제공자에 한함).



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

def AWS
  @credentials_map['aws']
end

#azure자격 증명::Azure | nil

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

Azure KMS 자격 증명을 반환합니다(이름 없는 제공자에 한함).

반환합니다:

  • (Credentials::Azure | nil)

    Azure KMS 자격 증명(이름 없는 제공자에 한함).



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

def Azure
  @credentials_map['azure']
end

#gcp자격 증명::GCP | nil

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

이름 없는 제공자에만 해당하는 GCP KMS 자격 증명을 반환합니다.

반환합니다:

  • (Credentials::GCP | nil)

    GCP KMS 자격 증명(이름 없는 제공자에만 해당).



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

def GCP
  @credentials_map['gcp']
end

#kmip자격 증명::KMIP | nil

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

KMIP KMS 자격 증명을 반환합니다(이름 없는 제공자에게만 해당).

반환합니다:

  • (Credentials::KMIP | nil)

    KMIP KMS 자격 증명(이름 없는 제공자에 한함).



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

def KMIP
  @credentials_map['kmip']
end

#local자격 증명::Local | nil

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

로컬 KMS 자격 증명(이름 없는 제공자에 한함)을 반환합니다.

반환합니다:

  • (Credentials::Local | nil)

    로컬 KMS 자격 증명(이름 없는 제공자에 한함).



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