Classe: Mongo::Auth::Aws::CredentialsRetriever Private

Herda:
Objeto
  • Objeto
mostrar tudo
Definido em:
build/ruby-driver-v2.19/lib/mongo/auth/Amazon Web Services/credentials_retriever.rb

Visão geral

Esta classe faz parte de uma API privada. Evite usar essa classe, se possível, pois ela pode ser removida ou alterada no futuro.

Recupera credenciais do Amazon Web Services de diversas fontes.

Esta classe fornece recuperação de credenciais do Amazon Web Services de:

  • o usuário passado (que recebe as credenciais passadas para o cliente por meio de opções de URI e opções de Ruby)

  • AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN variáveis de ambiente (comumente usadas por SDKs do Amazon Web Services e várias ferramentas, bem como pelo Amazon Web Services Lambda)

  • Chamada de API AssumeRoleWithWebIdentity

  • Endpoint de metadados EC2

  • Endpoint de metadados ECS

As fontes listadas acima são consultadas na ordem especificada. A primeira fonte que contém qualquer um dos três componentes de credenciais (ID da chave de acesso, chave de acesso secreta ou token de sessão) é usada. Os componentes de credenciais devem formar um conjunto válido se qualquer um dos componentes for especificado; ou seja, o ID da chave de acesso e a chave de acesso secreta sempre devem ser fornecidos juntos e, se um token de sessão for fornecido, o ID da chave e a chave secreta também devem ser fornecidos. Se uma origem fornecer credenciais parciais, a recuperação de credenciais falhará com uma exceção.

Desde:

  • 2.0.0

Colapsode resumo constante

METADATA_TIMEOUT =

Essa constante faz parte de uma API privada. Você deve evitar usar essa constante, se possível, pois ela pode ser removida ou alterada no futuro.

Tempo limite para operações de metadados, em segundos.

A especificação de autenticação sugere um tempo limite de 10 segundo, mas isso parece excessivamente longo, dado que o endpoint é essencialmente local.

Desde:

  • 2.0.0

5

Recolhimento do Resumo do atributo de instância

Recolhimento do Resumo do método de instância

Detalhes do construtor

#initialize(user = nil, credenciais_cache: CredentialsCache.instance) ➤ CredentialsRetriever

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Retorna uma nova instância de CredentialsRetriever.

Parâmetros:

  • utilizador (Auth::User | nil) (padrão para: nil)

    O objeto do usuário, se houver.

  • credenciais_cache (Auth::Aws::CredentialsCache) (padrão para: CredentialsCache.instance)

    O cache de credenciais.

Desde:

  • 2.0.0



61
62
63
64
# File 'build/ruby-driver-v2.19/lib/mongo/auth/Amazon Web Services/credentials_retriever.rb', linha 61

def inicializar(utilizador = nada, credenciais_cache: CredenciaisCache.instância)
  @user = utilizador
  @credentials_cache = credenciais_cache
end

Detalhes do atributo da instância

#userAuth::User | nil (somente leitura)

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Retorna o objeto de usuário , se tiver sido fornecido.

Retorna:

  • (Auth::User | nil)

    O objeto do usuário, se houver.

Desde:

  • 2.0.0



67
68
69
# File 'build/ruby-driver-v2.19/lib/mongo/auth/Amazon Web Services/credentials_retriever.rb', linha 67

def utilizador
  @user
end

Detalhes do método de instância

#credenciaisAuth::Aws::Credentials

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Recupera um conjunto válido de credenciais, se possível, ou gera Auth::InvalidConfiguration.

Retorna:

Aumenta:

  • Auth::InvalidConfiguration se uma origem contiver um conjunto inválido de credenciais.

  • Auth::Aws::CredentialsNotFound se as credenciais não puderem ser recuperadas de nenhuma fonte.

Desde:

  • 2.0.0



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

def credenciais
  credenciais = credenciais_from_user(utilizador)
  Método credenciais a menos que credenciais.nada?

  credenciais = credenciais_from_environment
  Método credenciais a menos que credenciais.nada?

  credenciais = @credentials_cache.buscar { obter_credentials_from_endpoints }
  Método credenciais a menos que credenciais.nada?

  aumentar auth::AWS::CredentialsNotFound
end