Clase: Mongo::Crypt::KMS::GCP::CredentialsRetriever Privado
- Hereda:
-
Objeto
- Objeto
- Mongo::Crypt::KMS::GCP::CredentialsRetriever
- Definido en:
- lib/mongo/crypt/kms/gcp/credentials_retriever.rb
Overview
Esta clase forma parte de una API privada. Evita usar esta clase si es posible, ya que puede ser eliminada o modificada en el futuro.
Esta clase recupera credenciales de GPC usando el host de metadatos de Google Compute Engine. Esto debe usarse cuando el driver (controlador) se utiliza en la instancia de Google Compute Engine.
Colapso delresumen constante
- METADATA_HOST_ENV =
Esta constante forma parte de una API privada. Debe evitar usarla siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.
'GCE_METADATA_HOST'- DEFAULT_HOST =
Esta constante forma parte de una API privada. Debe evitar usarla siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.
'metadata.google.internal'
Resumen del método de clase colapsar
-
.fetch_access_token(timeout_holder = nil) ⇒ String
privado
Obtener el token de acceso de GCP.
Detalles del método de clase
.fetch_access_token(timeout_holder = nil) ⇒ String
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Obtener el token de acceso de GCP.
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# Archivo 'lib/mongo/crypt/kms/gcp/credentials_retriever.rb', línea 40 def sí mismo.obtener_token_de_acceso(timeout_holder = nulo) host = ENV.obtener(METADATA_HOST_ENV) { DEFAULT_HOST } uri = URI("http://#{host}/computeMetadata/v1/instance/service-accounts/default/token") req = Net::HTTP::Obtener.Nuevo(uri) req['Metadata-Flavor'] = 'Google' resp = obtener_respuesta(uri, req, timeout_holder) si resp.Código != '200' propagar KMS::CredentialsNotFound, "Elhost de metadatos de GCE respondió con el código #{resp.code }" end parsed_resp = JSON.parse(resp.cuerpo) parsed_resp.obtener('access_token') rescate JSON::ParserError, Error de clave => e propagar KMS::CredentialsNotFound, "La respuesta de metadatos de GCE no es válida: '#{resp.body}'; #{e.class}: #{e.}" rescate ::Se acabó el tiempo::Error, IOError, SystemCallError, Error de socket => e propagar KMS::CredentialsNotFound, "Nose pudo recibir la respuesta de metadatos de GCP; #{e.class}: #{e.}" end |