Class RunAsRoleMapper
java.lang.Object
org.jboss.as.controller.access.rbac.RunAsRoleMapper
- All Implemented Interfaces:
RoleMapper
A
RoleMapper that allows clients to specify the roles they desire to run as. By default this RoleMapper Reads
the set of roles from a request headers in the operation, allowing the client to completely control the mapping. Roles are
stored as a ModelNode of type ModelType.LIST, elements of ModelType.STRING, under operation.get("operation-headers",
"roles"). If no such header is found, the user is SUPERUSER. IF the list is empty, the user has no permissions.
This RoleMapper can be extended to allow the ability to run as different roles to be checked.- Author:
- Brian Stansberry (c) 2013 Red Hat Inc., Darran Lofthouse
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanGets whether the given set of mapped roles provides a caller with the privilege to run as the given "runAsRole".getOperationHeaderRoles(org.jboss.dmr.ModelNode operation) mapRoles(org.wildfly.security.auth.server.SecurityIdentity identity, Environment callEnvironment, Set<String> operationHeaderRoles) Determine the roles available for the caller without reference to a particular action or target.mapRoles(org.wildfly.security.auth.server.SecurityIdentity identity, Environment callEnvironment, Action action, TargetAttribute attribute) Determine the roles available for the caller for a management operation affecting an individual attribute.mapRoles(org.wildfly.security.auth.server.SecurityIdentity identity, Environment callEnvironment, Action action, TargetResource resource) Determine the roles available for the caller for a management operation affecting an entire resource.mapRoles(org.wildfly.security.auth.server.SecurityIdentity identity, Environment callEnvironment, JmxAction action, JmxTarget target) Determine the roles available for the caller for a JMX invocation unrelated to the management facade MBeans.
-
Constructor Details
-
RunAsRoleMapper
-
-
Method Details
-
mapRoles
public Set<String> mapRoles(org.wildfly.security.auth.server.SecurityIdentity identity, Environment callEnvironment, Action action, TargetAttribute attribute) Description copied from interface:RoleMapperDetermine the roles available for the caller for a management operation affecting an individual attribute.- Specified by:
mapRolesin interfaceRoleMapper- Parameters:
identity- the caller identity. Cannot benullcallEnvironment- the call environment. Cannot benullaction- the action being authorized. Cannot benullattribute- the target of the action. Cannot benull- Returns:
- the roles. Will not be
null, but may be an empty set
-
mapRoles
public Set<String> mapRoles(org.wildfly.security.auth.server.SecurityIdentity identity, Environment callEnvironment, Action action, TargetResource resource) Description copied from interface:RoleMapperDetermine the roles available for the caller for a management operation affecting an entire resource.- Specified by:
mapRolesin interfaceRoleMapper- Parameters:
identity- the caller identity. Cannot benullcallEnvironment- the call environment. Cannot benullaction- the action being authorized. Cannot benullresource- the target of the action. Cannot benull- Returns:
- the roles. Will not be
null, but may be an empty set
-
mapRoles
public Set<String> mapRoles(org.wildfly.security.auth.server.SecurityIdentity identity, Environment callEnvironment, JmxAction action, JmxTarget target) Description copied from interface:RoleMapperDetermine the roles available for the caller for a JMX invocation unrelated to the management facade MBeans.- Specified by:
mapRolesin interfaceRoleMapper- Parameters:
identity- the caller identity. Cannot benullcallEnvironment- the call environment. Cannot benullaction- the action being authorized. Cannot benulltarget- the target of the action. Cannot benull- Returns:
- the roles. Will not be
null, but may be an empty set
-
mapRoles
public Set<String> mapRoles(org.wildfly.security.auth.server.SecurityIdentity identity, Environment callEnvironment, Set<String> operationHeaderRoles) Description copied from interface:RoleMapperDetermine the roles available for the caller without reference to a particular action or target. Note that actually mapping a caller to roles without reference to a particular action or target is not required.- Specified by:
mapRolesin interfaceRoleMapper- Parameters:
identity- the caller identity. Cannot benullcallEnvironment- the call environment. Cannot benulloperationHeaderRoles- any roles specified as headers in the operation. May benull- Returns:
- the roles. Will not be
null, but may be an empty set
-
canRunAs
Description copied from interface:RoleMapperGets whether the given set of mapped roles provides a caller with the privilege to run as the given "runAsRole".- Specified by:
canRunAsin interfaceRoleMapper- Parameters:
mappedRoles- a set of roles obtained from a call to one of this mapper'smapRolesmethodsrunAsRole- the role the caller wishes to run as- Returns:
trueif running asrunAsRoleis allowed
-
getOperationHeaderRoles
-