클래스: Mongo::Crypt::KMS::GCP::CredentialsRetriever Private
- 상속:
-
객체
- 객체
- Mongo::Crypt::KMS::GCP::CredentialsRetriever
- 다음에 정의됨:
- 빌드/ Ruby-driver-v2.19/lib/mongo/crypt/KMS/GCP/credentials_retriever.rb
개요
이 클래스는 비공개 API의 일부입니다. 이 클래스는 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
이 클래스는 Google Compute Engine 메타데이터 호스트를 사용하여 GPC 자격 증명을 검색합니다. Google Compute Engine 인스턴스에서 드라이버를 사용할 때 사용해야 합니다.
상수 요약 접기
- METADATA_HOST_ENV =
이 상수는 비공개 API의 일부입니다. 이 상수는 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
'GCE_METADATA_HOST'
- DEFAULT_HOST =
이 상수는 비공개 API의 일부입니다. 이 상수는 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
'metadata.google.internal'
클래스 메서드 요약 접기
클래스 메서드 세부 정보
.fetch_access_token ⇒ 객체
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/crypt/KMS/GCP/credentials_retriever.rb', 줄 32 def self.fetch_access_token 호스트 = ENV.가져오기(METADATA_HOST_ENV) { DEFAULT_HOST } uri = URI("http://#{호스팅하다}/computeMetadata/v1/ 인스턴스/service-accounts/ 기본값/token") req = Net::HTTP::get.신규(uri) req['Metadata-Flavor'] = 'Google' resp = Net::HTTP.시작하기(uri.호스트 이름, uri.포트, use_ssl: 거짓) do |HTTP| HTTP.요청(req) end 만약 resp.코드 != '200' 올리다 KMS::CredentialsNotFound, "GCE 메타데이터 호스트가 #{resp.code}코드로 응답했습니다. " end parsed_resp = JSON.parse(resp.body) parsed_resp.가져오기('access_token') 구출 JSON::ParserError, KeyError => e 올리다 KMS::CredentialsNotFound, "GCE 메타데이터 response is invalid: '#{resp.body}'; #{e.class}: #{e.}" 구출 ::시간 초과::오류, IOError, SystemCallError, SocketError => e 올리다 KMS::CredentialsNotFound, "GCP 메타데이터 응답을 받을 수 없습니다. #{e.class}: #{e.}" end |