Clase: Mongo::Auth::Aws::CredentialsRetriever Privado
- Hereda:
-
Objeto
- Objeto
- Mongo::Auth::Aws::Recuperador de credenciales
- 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.
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.
5
Colapso delresumen de atributos de instancia
-
#usuario ⇒ Auth::Usuario | nulo
solo lectura
privada
El objeto de usuario, si se proporcionó uno.
Colapso del resumen del método de instancia
-
#credenciales(timeout_holder = nulo) ⇒ Auth::Aws::Credentials
privada
Recupera un conjunto válido de credenciales, si es posible, o genera Auth::InvalidConfiguration.
-
#inicializar(usuario = nulo, credenciales_cache: CredentialsCache.instance) ⇒ CredentialsRetriever
constructor
privada
Una nueva instancia de CredentialsRetriever.
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.
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
#usuario ⇒ Auth::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.
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.
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 |