クラス: Mongo::Auth::Aws::CredentialsRetried Private

継承:
オブジェクト
  • オブジェクト
すべて表示
定義:
lib/mongo/auth/ Amazon Web Services/credentials_retriます.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 メタデータエンドポイント

上記でリストされたソースは、指定された順序で参照されます。 3 つの認証情報コンポーネント(アクセス キー ID、シークレット アクセス キー、またはセッション トークン)のいずれかを含む最初のソースが使用されます。 いずれかのコンポーネントが指定されている場合は、認証情報コンポーネントが有効なセットを形成している必要があります。つまり、アクセスキー ID とシークレットアクセスキーは常に一緒に提供する必要があり、セッション トークンが提供される場合は、キー ID と秘密キーも提供する必要があります。 ソースが部分的な認証情報を提供する場合、認証情報の取得は例外を出して失敗します。

以来

  • 2.0.0

定数の概要の削減

METADATA_TIMEOUT =

この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。

メタデータ操作のタイムアウト(秒単位)。

認証仕様では10秒のタイムアウトが推奨されていますが、エンドポイントが基本的にローカルであることを考慮すると、これは長くなりすぎています。

以来

  • 2.0.0

5

インスタンス属性の概要を折りたたむ

インスタンス メソッドの概要を折りたたむ

コンストラクターの詳細

#初期化(ユーザー = nil、credentials_cache: CredentialsCache.instance) = CredentialsRetriaver

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

CredentialsRetried の新しいインスタンスを返します。

パラメーター:

  • user Auth::User | nil (デフォルトはnil

    ユーザー オブジェクト(指定されている場合)。

  • credentials_cache Auth::Aws::CredentialsCache (デフォルトはCredentialsCache.instance

    認証情報キャッシュ。

以来

  • 2.0.0



61
62
63
64
# ファイル 'lib/mongo/auth/ Amazon Web Services/credentials_retriever.rb' の検索行は 61 です。

デフォルト 初期化(user = nil, credentials_cache: CredentialsCache.インスタンス)
  @user = user
  @credentials_cache = credentials_cache
end

インスタンス属性の詳細

# user =認証::User | nil (読み取り専用)

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

ユーザー オブジェクト(指定されている場合)を返します。

次の値を返します。

  • ( Auth::User | nil )

    ユーザー オブジェクト(指定されている場合)。

以来

  • 2.0.0



67
68
69
# ファイル 'lib/mongo/auth/ Amazon Web Services/credentials_retriever.rb' の検索行は 67 です。

デフォルト user
  @user
end

インスタンス メソッドの詳細

認証情報の数(timeout_handler = nil)= Auth::Aws::Credentials

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

可能な場合は、有効な認証情報セットを取得するか、Auth::InvalidConfiguration を発生させます。

パラメーター:

  • timeout_holder (CsotTimeoutHolder | nil) (デフォルトはnil

    CSO タイムアウト(存在する場合)。

次の値を返します。

次の値が発生します。

  • ソースに無効な認証情報のセットが含まれている場合は、 Auth::InvalidConfiguration 。

  • Auth::Aws::CredentialsNotFound : 認証情報をどのソースからでも検索できなかった場合。

  • 操作コンテキストで定義されたタイムアウト内に認証情報を取得できない場合は、 Error::TimeoutError が発生します。

以来

  • 2.0.0



82
83
84
85
86
87
88
89
90
91
92
93
# ファイル 'lib/mongo/auth/ Amazon Web Services/credentials_retriever.rb' の検索行は 82 です。

デフォルト Credentials(timeout_holder = nil)
  Credentials = credentials_from_user(user)
  return Credentials ただし、 Credentials.nil?

  Credentials = credentials_from_environment
  return Credentials ただし、 Credentials.nil?

  Credentials = @credentials_cache.fetch { get_credentials_from_endpoints(timeout_holder) }
  return Credentials ただし、 Credentials.nil?

  発生 認証::Amazon Web Services::CredentialsNotFound
end