nvflare.fuel.sec.authz module

class AuthorizationService[source]

Bases: object

static authorize(ctx: AuthzContext)[source]
static get_authorizer()[source]
static initialize(authorizer: ~nvflare.fuel.sec.authz.Authorizer) -> (<class 'nvflare.fuel.sec.authz.Authorizer'>, <class 'str'>)[source]
the_authorizer = None
class Authorizer(site_org: str, right_categories: dict | None = None)[source]

Bases: object

Base class containing the authorization policy.

authorize(ctx: ~nvflare.fuel.sec.authz.AuthzContext) -> (<class 'bool'>, <class 'str'>)[source]
evaluate(ctx: ~nvflare.fuel.sec.authz.AuthzContext) -> (<class 'bool'>, <class 'str'>)[source]
get_policy() Policy[source]
load_policy(policy_config: dict) str[source]
class AuthzContext(right: str, user: Person, submitter: Person | None = None)[source]

Bases: object

Base class to contain context data for authorization.

get_attr(key: str, default=None)[source]
set_attr(key: str, value)[source]
class ConditionEvaluator[source]

Bases: ABC

abstract evaluate(site_org: str, ctx: AuthzContext) bool[source]
class FalseEvaluator[source]

Bases: ConditionEvaluator

evaluate(site_org: str, ctx: AuthzContext) bool[source]
class FieldNames(value)[source]

Bases: str, Enum

An enumeration.

CATEGORY_RIGHT = 'Right for Category'
EXP = 'Expression'
RIGHT = 'Right'
ROLE_NAME = 'Role name'
SITE_ORG = 'Site org'
TARGET_TYPE = 'Target type'
TARGET_VALUE = 'Target value'
USER_NAME = 'User name'
USER_ORG = 'User org'
USER_ROLE = 'User role'
class Person(name: str, org: str, role: str)[source]

Bases: object

class Policy(config: dict, role_right_map: dict, roles: list, rights: list, role_rights: dict)[source]

Bases: object

evaluate(site_org: str, ctx: ~nvflare.fuel.sec.authz.AuthzContext) -> (<class 'bool'>, <class 'str'>)[source]
Parameters:
  • site_org

  • ctx

Returns:

A tuple of (result, error)

get_rights()[source]
get_roles()[source]
class TrueEvaluator[source]

Bases: ConditionEvaluator

evaluate(site_org: str, ctx: AuthzContext) bool[source]
class UserNameEvaluator(target: str)[source]

Bases: ConditionEvaluator

evaluate(site_org: str, ctx: AuthzContext)[source]
class UserOrgEvaluator(target)[source]

Bases: ConditionEvaluator

evaluate(site_org: str, ctx: AuthzContext)[source]
parse_policy_config(config: dict, right_categories: dict)[source]

Validates that an authorization policy configuration has the right syntax.

Parameters:
  • config – configuration dictionary to validate

  • right_categories – a dict of right => category mapping

Returns: a Policy object if no error, a string describing the error encountered