Clase: Mongo::Auth::Aws::CredentialsRetriever Privado
- Hereda:
-
Objeto
- Objeto
- Mongo::Auth::Aws::CredentialsRetriever
- Definido en:
- lib/mongo/auth/aws/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.
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 diversas herramientas, así como AWS Lambda)
-
Llamada a la API de AssumeRoleWithWebIdentity
-
Punto final de metadatos de 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 las 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 endpoint es esencialmente local.
5
Resumen de atributos de la instancia colapsar
-
#usuario ⇒ Auth::User | ninguno
Solo lectura
privado
El objeto de usuario, si se proporcionó uno.
Resumen del método de instancia colapsar
-
#credenciales(timeout_holder = nil) ⇒ Auth::Aws::Credentials
privado
Recupera un conjunto válido de credenciales, si es posible, o genera Auth::InvalidConfiguration.
-
#initialize(user = nil, credentials_cache: CredentialsCache.instancia) ⇒ CredentialsRetriever
constructor
privado
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, credentials_cache: CredentialsCache.instancia) @user = usuario @credentials_cache = credentials_cache end |
Detalles de los atributos de instancia
#usuario ⇒ Auth:: Usuario | 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 @user 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 menos que cartas credenciales.nil? cartas credenciales = credentials_from_environment return cartas credenciales a menos que cartas credenciales.nil? cartas credenciales = @credentials_cache.obtener { obtener_credenciales_de_endpoints(timeout_holder) } return cartas credenciales a menos que cartas credenciales.nil? propagar Autenticación::AWS::CredentialsNotFound end |