Classe: Mongo::Crypt::KMS::GCP::CredentialsRetriever Private

Herda:
Objeto
  • Objeto
mostrar tudo
Definido em:
build/ruby-driver-v2.19/lib/mongo/crypt/KMS/GCP/credentials_retriever.rb

Visão geral

Esta classe faz parte de uma API privada. Evite usar essa classe, se possível, pois ela pode ser removida ou alterada no futuro.

Esta classe recupera credenciais GPC usando o host de metadados do Google Compute Engine. Deve ser usado quando o driver for usado na instância do Google Compute Engine.

Colapsode resumo constante

METADATA_HOST_ENV =

Essa constante faz parte de uma API privada. Você deve evitar usar essa constante, se possível, pois ela pode ser removida ou alterada no futuro.

'GCE_METADATA_HOST'
DEFAULT_HOST =

Essa constante faz parte de uma API privada. Você deve evitar usar essa constante, se possível, pois ela pode ser removida ou alterada no futuro.

'metadata.google.internal'

Recolhimento do Resumo do método de classe

Detalhes do método de classe

.fetch_access_token ➤ Objeto

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/KMS/GCP/credentials_retriever.rb', linha 32

def auto.fetch_access_token
  Anfitrião = ENV.buscar(METADATA_HOST_ENV) { DEFAULT_HOST }
  uri = URI("http://#{host}/computeMetadata/v1/instance/service-accounts/default/token")
  req = Líquido::HTTP::obter.Novo(uri)
  req['Metadata-Flabor'] = 'Google'
  res = Líquido::HTTP.iniciar(uri.nome do host, uri.Porta, use_ssl: false) fazer |HTTP|
    HTTP.Solicitar(req)
  end
  se res.código != '200'
    aumentar KMS::CredentialsNotFound,
      "O host de metadados GCE reagiu com o código #{res.code}"
  end
  parsed_resp = JSON.parse(res.corpo, corpo)
  parsed_resp.buscar('access_token')
salvar JSON::AnalisarError, KeyError => e
  aumentar KMS::CredentialsNotFound,
    "A resposta de metadados GCE é inválida: '#{res.body}'; #{e.classe}: #{e.message}"
  salvar ::Tempo-limite::Erro, IOError, SystemCallError, Erro de soquete => e
    aumentar KMS::CredentialsNotFound,
          "Não foi possível receber a resposta de metadados do GCP; #{e.classe}: #{e.message}"
end