Clase: Mongo::Auth::Aws::CredentialsRetriever Privado

Hereda:
Objeto
  • Objeto
Mostrar todo
Definido en:
lib/mongo/auth/aws/credentials_retriever.rb

Overview

Esta clase forma parte de una API privada. Debe evitar usarla siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.

Recupera credenciales de AWS de una variedad de fuentes.

Esta clase permite la recuperación de credenciales de AWS desde:

  • el usuario pasado (que recibe las credenciales pasadas al cliente a través de opciones de URI y opciones de Ruby)

  • Variables de entorno AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN (comúnmente utilizadas por los SDK de AWS y varias herramientas, así como por AWS Lambda)

  • Llamada a la API AssumeRoleWithWebIdentity

  • Punto final de metadatos EC2

  • Punto final de metadatos de ECS

Las fuentes mencionadas anteriormente se consultan en el orden especificado. Se utiliza la primera fuente que contenga cualquiera de los tres componentes de la credencial (ID de clave de acceso, clave de acceso secreta o token de sesión). Si se especifica alguno, los componentes de la credencial deben formar un conjunto válido; es decir, el ID de clave de acceso y la clave de acceso secreta siempre deben proporcionarse juntos, y si se proporciona un token de sesión, también deben proporcionarse el ID de clave y la clave secreta. Si una fuente proporciona credenciales parciales, la recuperación de credenciales falla con una excepción.

Desde:

  • 2.0.0

Colapso delresumen constante

METADATA_TIMEOUT =

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.

Tiempo de espera para operaciones de metadatos, en segundos.

La especificación de autenticación sugiere un tiempo de espera de 10 segundos, pero esto parece excesivamente largo dado que el punto final es esencialmente local.

Desde:

  • 2.0.0

5

Colapso delresumen de atributos de instancia

Colapso del resumen del método de instancia

Detalles del constructor

#initialize(usuario = nil, credentials_cache: CredentialsCache.instancia) ⇒ CredentialsRetriever

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve una nueva instancia de CredentialsRetriever.

Parámetros:

  • usuario (Aut::Usuario | nulo) (predeterminado: nulo)

    El objeto de usuario, si se proporcionó uno.

  • caché de credenciales (Auth::Aws::CredentialsCache) (predeterminado: CredentialsCache.instance)

    El caché de credenciales.

Desde:

  • 2.0.0



61
62
63
64
# Archivo 'lib/mongo/auth/aws/credentials_retriever.rb', línea 61

def inicializar(usuario = nulo, credenciales_cache: CredentialsCache.instancia)
  @usuario = usuario
  @credentials_cache = caché de credenciales
end

Detalles de los atributos de instancia

#usuarioAuth::User | nil (solo lectura)

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve el objeto de usuario, si se proporcionó uno.

Devuelve:

  • (Aut::Usuario | nulo)

    El objeto de usuario, si se proporcionó uno.

Desde:

  • 2.0.0



67
68
69
# Archivo 'lib/mongo/auth/aws/credentials_retriever.rb', línea 67

def usuario
  @usuario
end

Detalles del método de instancia

#credenciales(timeout_holder = nulo) ⇒ Auth::Aws::Credentials

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Recupera un conjunto válido de credenciales, si es posible, o genera Auth::InvalidConfiguration.

Parámetros:

  • timeout_holder (CsotTimeoutHolder | nil) (predeterminado: nulo)

    Tiempo de espera de CSOT, si lo hay.

Devuelve:

Aumentos:

  • Auth::InvalidConfiguration si una fuente contiene un conjunto inválido de credenciales.

  • Auth::Aws::CredentialsNotFound si no se pudieron recuperar las credenciales de ninguna fuente.

  • Error::TimeoutError si las credenciales no se pueden recuperar dentro del tiempo de espera definido en el contexto de la operación.

Desde:

  • 2.0.0



82
83
84
85
86
87
88
89
90
91
92
93
# Archivo 'lib/mongo/auth/aws/credentials_retriever.rb', línea 82

def cartas credenciales(timeout_holder = nulo)
  cartas credenciales = credenciales_del_usuario(usuario)
  return cartas credenciales a no ser que cartas credenciales.nil?

  cartas credenciales = credenciales_del_entorno
  return cartas credenciales a no ser que cartas credenciales.nil?

  cartas credenciales = @credentials_cache.Fetch { obtener_credenciales_de_puntos_finales(timeout_holder) }
  return cartas credenciales a no ser que cartas credenciales.nil?

  propagar Auth::AWS::Credenciales no encontradas
end