The karbor.policy Module

Policy Engine For karbor

karbor.policy.check_is_admin(roles, context=None)

Whether or not user is admin according to policy setting.

karbor.policy.enforce(context, action, target)

Verifies that the action is valid on the target in this context.

Parameters:
  • context – karbor context
  • action – string representing the action to be checked this should be colon separated for clarity. i.e. compute:create_instance, compute:attach_volume, volume:attach_volume
  • target – dictionary representing the target of the action for target creation this should be a dictionary representing the location of the target e.g. {'project_id': context.project_id}
Raises:

PolicyNotAuthorized – if verification fails.

karbor.policy.enforce_action(context, action)

Checks that the action can be done by the given context.

Applies a check to ensure the context’s project_id and user_id can be applied to the given action using the policy enforcement api.

karbor.policy.init()