Kea 3.3.4
isc::rbac Namespace Reference

Classes

class  AccessAcl
 Read or write access control list. More...
class  Acl
 Access control list base class. More...
class  AliasAcl
 Alias of an access control list. More...
class  AllAcl
 All access control list. More...
class  AndAcl
 Conjunction of access control lists. More...
class  Api
 Command from the API class. More...
struct  ApiAccessIndexTag
 A tag for accessing access index. More...
struct  ApiHookIndexTag
 A tag for accessing hook index. More...
struct  ApiNameIndexTag
 A tag for accessing name index. More...
class  BasicAuthRole
 Role assignment using the basic HTTP authentication. More...
class  CommandsAcl
 Explicit access control list. More...
class  Config
 RBAC Configuration class. More...
class  CustomRole
 Role assignment using the custom value. More...
class  HookAcl
 Hook access control list. More...
class  IssuerRole
 Role assignment using the issuer. More...
class  ListCommandsResponseFilter
 Response filter for list-commands. More...
class  NoneAcl
 None access control list. More...
class  NoopResponseFilter
 Noop response filter. More...
class  NotAcl
 Boolean operators. More...
class  OrAcl
 Disjunction of access control lists. More...
class  RemoteRole
 Role assignment using the remote address. More...
class  ResponseFilter
 Response filter base class. More...
class  Role
 Role assignment base class. More...
class  RoleConfig
 Per role configuration class. More...
class  StaticRole
 Static role assignment. More...
class  SubjectRole
 Role assignment using the subject. More...

Typedefs

typedef std::list< AclPtr > AclList
 Type of list of shared pointers to Acl.
typedef boost::shared_ptr< Acl > AclPtr
 Type of shared pointers to Acl.
typedef std::map< std::string, AclPtr > AclTable
 Type of the access control list table.
typedef boost::shared_ptr< Api > ApiPtr
 Type of shared pointer to Api.
typedef boost::multi_index_container< ApiPtr, boost::multi_index::indexed_by< boost::multi_index::hashed_unique< boost::multi_index::tag< ApiNameIndexTag >, boost::multi_index::const_mem_fun< Api, std::string, &Api::getName > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< ApiAccessIndexTag >, boost::multi_index::const_mem_fun< Api, std::string, &Api::getAccess > >, boost::multi_index::hashed_non_unique< boost::multi_index::tag< ApiHookIndexTag >, boost::multi_index::const_mem_fun< Api, std::string, &Api::getHook > > > > ApiTable
 The type of the API command table.
typedef std::list< ResponseFilterPtr > ResponseFilterList
 The type of list of shared pointers to response filters.
typedef boost::shared_ptr< ResponseFilter > ResponseFilterPtr
 The type of shared pointers to response filters.
typedef std::map< std::string, ResponseFilterPtr > ResponseFilterTable
 The type of the response filter table.
typedef boost::shared_ptr< RoleConfig > RoleConfigPtr
 Type of shared pointers to role configurations.
typedef std::map< std::string, RoleConfigPtr > RoleConfigTable
 Type of the role configurations table.
typedef boost::shared_ptr< Role > RolePtr
 Type of shared pointers to Role.

Variables

AclTable aclTable
 The access control list table.
set< string > apiAccesses
 The API access list (should be "read" and "write").
set< string > apiHooks
 The API hook list.
ApiTable apiTable
 The API command table.
RoleConfigPtr defaultRoleConfig
 The default (role is "") role configuration.
isc::log::Logger rbac_logger ("rbac-hooks")
Config rbacConfig
 The configuration.
ResponseFilterTable responseFilterTable
 The response filter table.
RolePtr roleAssign
 The role assignment.
RoleConfigTable roleConfigTable
 The role configurations table.
RoleConfigPtr unknownRoleConfig
 The unknown (role is not in the table) role configuration.

Typedef Documentation

◆ AclList

typedef std::list<AclPtr> isc::rbac::AclList

Type of list of shared pointers to Acl.

Definition at line 32 of file rbac_acl.h.

◆ AclPtr

typedef boost::shared_ptr<Acl> isc::rbac::AclPtr

Type of shared pointers to Acl.

Definition at line 29 of file rbac_acl.h.

◆ AclTable

typedef std::map<std::string, AclPtr> isc::rbac::AclTable

Type of the access control list table.

Definition at line 35 of file rbac_acl.h.

◆ ApiPtr

typedef boost::shared_ptr<Api> isc::rbac::ApiPtr

Type of shared pointer to Api.

Definition at line 26 of file rbac_api.h.

◆ ApiTable

typedef boost::multi_index_container< ApiPtr, boost::multi_index::indexed_by< boost::multi_index::hashed_unique< boost::multi_index::tag<ApiNameIndexTag>, boost::multi_index::const_mem_fun<Api, std::string, &Api::getName> >, boost::multi_index::ordered_non_unique< boost::multi_index::tag<ApiAccessIndexTag>, boost::multi_index::const_mem_fun<Api, std::string, &Api::getAccess> >, boost::multi_index::hashed_non_unique< boost::multi_index::tag<ApiHookIndexTag>, boost::multi_index::const_mem_fun<Api, std::string, &Api::getHook> > >> isc::rbac::ApiTable

The type of the API command table.

Definition at line 137 of file rbac_api.h.

◆ ResponseFilterList

The type of list of shared pointers to response filters.

Definition at line 24 of file rbac_response_filter.h.

◆ ResponseFilterPtr

typedef boost::shared_ptr<ResponseFilter> isc::rbac::ResponseFilterPtr

The type of shared pointers to response filters.

Definition at line 21 of file rbac_response_filter.h.

◆ ResponseFilterTable

typedef std::map<std::string, ResponseFilterPtr> isc::rbac::ResponseFilterTable

The type of the response filter table.

Definition at line 27 of file rbac_response_filter.h.

◆ RoleConfigPtr

typedef boost::shared_ptr<RoleConfig> isc::rbac::RoleConfigPtr

Type of shared pointers to role configurations.

Definition at line 23 of file rbac.h.

◆ RoleConfigTable

typedef std::map<std::string, RoleConfigPtr> isc::rbac::RoleConfigTable

Type of the role configurations table.

Definition at line 26 of file rbac.h.

◆ RolePtr

typedef boost::shared_ptr<Role> isc::rbac::RolePtr

Type of shared pointers to Role.

Definition at line 20 of file rbac_role.h.

Variable Documentation

◆ aclTable

AclTable isc::rbac::aclTable

The access control list table.

Definition at line 23 of file rbac_acl.cc.

Referenced by isc::rbac::Acl::initTable(), isc::rbac::Acl::parse(), isc::rbac::AliasAcl::parse(), and unload().

◆ apiAccesses

std::set< std::string > isc::rbac::apiAccesses

The API access list (should be "read" and "write").

Definition at line 30 of file rbac_api.cc.

Referenced by isc::rbac::Api::fillApiTable(), isc::rbac::Acl::parse(), isc::rbac::Api::parse(), and unload().

◆ apiHooks

std::set< std::string > isc::rbac::apiHooks

The API hook list.

Definition at line 32 of file rbac_api.cc.

Referenced by isc::rbac::Api::fillApiTable(), isc::rbac::Acl::parse(), isc::rbac::Api::parse(), and unload().

◆ apiTable

ApiTable isc::rbac::apiTable

The API command table.

Definition at line 28 of file rbac_api.cc.

Referenced by isc::rbac::Api::fillApiTable(), isc::rbac::Api::getApiByName(), isc::rbac::Api::parse(), and unload().

◆ defaultRoleConfig

RoleConfigPtr isc::rbac::defaultRoleConfig

The default (role is "") role configuration.

Definition at line 26 of file rbac.cc.

Referenced by isc::rbac::RoleConfig::getConfig(), isc::rbac::Config::parse(), and unload().

◆ rbac_logger

isc::log::Logger isc::rbac::rbac_logger ( "rbac-hooks" )

◆ rbacConfig

Config isc::rbac::rbacConfig

The configuration.

Definition at line 22 of file rbac_config.cc.

Referenced by http_auth(), load(), and isc::rbac::Config::parse().

◆ responseFilterTable

ResponseFilterTable isc::rbac::responseFilterTable

The response filter table.

Definition at line 25 of file rbac_response_filter.cc.

Referenced by isc::rbac::ResponseFilter::initResponseFilterTable(), isc::rbac::ResponseFilter::parse(), and unload().

◆ roleAssign

RolePtr isc::rbac::roleAssign

The role assignment.

Definition at line 22 of file rbac.cc.

Referenced by http_auth(), http_response(), isc::rbac::Config::parse(), and unload().

◆ roleConfigTable

RoleConfigTable isc::rbac::roleConfigTable

The role configurations table.

Definition at line 24 of file rbac.cc.

Referenced by isc::rbac::RoleConfig::getConfig(), isc::rbac::Config::parse(), and unload().

◆ unknownRoleConfig

RoleConfigPtr isc::rbac::unknownRoleConfig

The unknown (role is not in the table) role configuration.

Definition at line 28 of file rbac.cc.

Referenced by isc::rbac::RoleConfig::getConfig(), isc::rbac::Config::parse(), and unload().