类:Mongo::Auth::Aws::CredentialsRetriever Private

继承:
对象
  • 对象
显示全部
定义于:
build/Ruby-driver-v2.19/lib/ mongo /auth/ Amazon Web Services /credentials_retriever.rb

Overview

此类是私有 API 的一部分。 应尽可能避免使用此类,因为它将来可能会被删除或更改。

从各种来源检索Amazon Web Services档案。

此类支持从以下位置检索Amazon Web Services档案:

  • 传递的用户(接收通过 URI 选项和Ruby选项传递给客户端的凭证)

  • AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY、AWS_SESSION_TOKEN 环境变量(常用于Amazon Web Services SDK 和各种工具,以及Amazon Web Services Lambda )

  • AssumeRoleWithWebIdentity API调用

  • EC 2元数据端点

  • ECS元数据端点

上面列出的来源是按指定的顺序查阅的。 使用包含三个凭证组件(访问权限密钥 ID、秘密访问权限密钥或会话令牌)中任何一个的第一个来源。 如果指定了任何凭证组件,则凭证组件必须形成有效的设立;也就是说,访问权限密钥 ID 和秘密访问权限密钥必须始终一起提供,如果提供了会话令牌,则还必须提供密钥 ID 和秘密密钥。 如果来源提供了部分凭证,则凭证检索将失败并出现异常。

由于:

  • 2.0.0

常量摘要折叠

METADATA_TIMEOUT =

此常量是私有 API 的一部分。 应尽可能避免使用此常量,因为它将来可能会被删除或更改。

元数据操作超时时间(以秒为单位)。

身份验证规范建议设置10秒超时,但考虑到端点本质上是本地端点,这个超时时间似乎过长。

由于:

  • 2.0.0

5

实例属性摘要折叠

实例方法摘要折叠

构造函数详情

#initialize (user = nil,credentials_cache: 实例) ⇒ CredentialsRetriever

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

返回 CredentialsRetriever 的新实例。

参数:

由于:

  • 2.0.0



61
62
63
64
# File ' 构建/ruby-driver-v2.19/lib/ mongo /auth/ Amazon Web Services /credentials_retriever.rb', 第61行

def 初始化(user = nil, 凭证缓存: CredentialsCache.实例)
  @user = user
  @credentials_cache = 凭证缓存
end

实例属性详细信息

# userAuth::User | nil (只读)

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

返回 用户对象(如果已提供)。

返回:

  • ( Auth::User | nil )

    用户对象(如果提供)。

由于:

  • 2.0.0



67
68
69
# File ' 构建/ruby-driver-v2.19/lib/ mongo /auth/ Amazon Web Services /credentials_retriever.rb', 第67行

def user
  @user
end

实例方法详细信息

#凭证Auth::Aws::Credentials

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

检索有效的凭证设立(如果可能),或引发 Auth::InvalidConfiguration。

返回:

引发:

  • Auth::InvalidConfiguration(如果源设立无效的凭证)。

  • Auth::Aws::CredentialsNotFound(如果无法从任何来源检索凭证)。

由于:

  • 2.0.0



78
79
80
81
82
83
84
85
86
87
88
89
# File ' 构建/ruby-driver-v2.19/lib/ mongo /auth/ Amazon Web Services /credentials_retriever.rb', 第78行

def 凭证
  凭证 = credentials_from_user(user)
  return 凭证 除非 凭证.nil?

  凭证 = credentials_from_environment
  return 凭证 除非 凭证.nil?

  凭证 = @credentials_cache.获取 { get_credentials_from_endpoints }
  return 凭证 除非 凭证.nil?

  提高 auth::AWS::CredentialsNotFound
end