Impala
Impalaistheopensource,nativeanalyticdatabaseforApacheHadoop.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
impala::AuthManager Class Reference

#include <authentication.h>

Collaboration diagram for impala::AuthManager:

Public Member Functions

Status Init ()
 
AuthProviderGetExternalAuthProvider ()
 
AuthProviderGetInternalAuthProvider ()
 

Static Public Member Functions

static AuthManagerGetInstance ()
 

Private Attributes

boost::scoped_ptr< AuthProviderinternal_auth_provider_
 
boost::scoped_ptr< AuthProviderexternal_auth_provider_
 

Static Private Attributes

static AuthManagerauth_manager_ = new AuthManager()
 

Detailed Description

System-wide authentication manager responsible for initialising authentication systems, including Sasl and Kerberos, and for providing auth-enabled Thrift structures to servers and clients.

Definition at line 35 of file authentication.h.

Member Function Documentation

AuthProvider * impala::AuthManager::GetExternalAuthProvider ( )

Returns the authentication provider to use for "external" communication such as the impala shell, jdbc, odbc, etc. This only applies to the server side of a connection; the client side of said connection is never an internal process.

Definition at line 1025 of file authentication.cc.

Referenced by impala::TEST().

static AuthManager* impala::AuthManager::GetInstance ( )
inlinestatic
AuthProvider * impala::AuthManager::GetInternalAuthProvider ( )

Returns the authentication provider to use for internal daemon <-> daemon connections. This goes for both the client and server sides. An example connection this applies to would be backend <-> statestore.

Definition at line 1030 of file authentication.cc.

Referenced by impala::TEST(), impala::ThriftClient< InterfaceType >::ThriftClient(), and impala::ThriftServer::ThriftServer().

Status impala::AuthManager::Init ( )

Set up internal and external AuthProvider classes. This does a bunch of flag checking and calls each AuthProvider->Start().

Definition at line 896 of file authentication.cc.

References impala::SaslAuthProvider::InitKerberos(), impala::SaslAuthProvider::InitLdap(), impala::LDAP_URI_PREFIX, impala::LDAPS_URI_PREFIX, impala::OK, and RETURN_IF_ERROR.

Member Data Documentation

AuthManager * impala::AuthManager::auth_manager_ = new AuthManager()
staticprivate

Definition at line 55 of file authentication.h.

Referenced by GetInstance().

boost::scoped_ptr<AuthProvider> impala::AuthManager::external_auth_provider_
private

Definition at line 60 of file authentication.h.

boost::scoped_ptr<AuthProvider> impala::AuthManager::internal_auth_provider_
private

These are provided for convenience, so that demon<->demon and client<->demon services don't have to check the auth flags to figure out which auth provider to use.

Definition at line 59 of file authentication.h.


The documentation for this class was generated from the following files: