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 diversas fuentes.
Esta clase permite la recuperación de credenciales de AWS desde:
- el usuario proporcionado (que recibe las credenciales proporcionadas al cliente mediante opciones URI y opciones 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 contiene cualquiera de los tres componentes de credencial (ID de clave de acceso, clave de acceso secreta o token de sesión). Los componentes de credenciales deben formar un conjunto válido si se especifica alguno de ellos; es decir, se debe proporcionar siempre el ID de la clave de acceso y la clave secreta de acceso juntos, y si se proporciona un token de sesión, también se deben proporcionar el ID de la clave y la clave secreta. Si una fuente proporciona credenciales parciales, la recuperación de credenciales falla con una excepción.
Resumen de constantes colapsar
- METADATA_TIMEOUT =
Esta constante es parte de una API privada. Deberías evitar usar esta constante si es posible, ya que podría ser retirada o cambiada 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 lanza 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 es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve una nueva instancia de CredentialsRetriever.
60 61 62 63 |
# Archivo 'lib/mongo/auth/aws/credentials_retriever.rb', línea 60 def inicializar(usuario = nulo, credentials_cache: CredentialsCache.instancia) @user = usuario @credentials_cache = credentials_cache end |
Detalles de atributo de instancias
#usuario ⇒ Auth:: Usuario | nil (solo lectura)
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve el objeto usuario, si se proporcionó uno.
66 67 68 |
# Archivo 'lib/mongo/auth/aws/credentials_retriever.rb', línea 66 def usuario @user end |
Detalles del método de instancia
#credenciales(timeout_holder = nil) ⇒ Auth::Aws::Credentials
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Recupera un conjunto válido de credenciales, si es posible, o lanza Auth::InvalidConfiguration.
81 82 83 84 85 86 87 88 89 90 91 92 |
# Archivo 'lib/mongo/auth/aws/credentials_retriever.rb', línea 81 def credenciales(timeout_holder = nulo) credenciales = credenciales_del_usuario(usuario) return credenciales a menos que credenciales.nil? credenciales = credentials_from_environment return credenciales a menos que credenciales.nil? credenciales = @credentials_cache.obtener { obtener_credenciales_de_endpoints(timeout_holder) } return credenciales a menos que credenciales.nil? propagar Autenticación::AWS::CredentialsNotFound end |