Classe: Mongo::Crypt::KMS::GCP::CredentialsRetriever Private
- Herda:
-
Objeto
- Objeto
- Mongo::Crypt::KMS::GCP::CredentialsRetriever
- 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
- .fetch_access_token ➤ Objeto privado
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.}" 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.}" end |