mcvirt.auth package¶
Submodules¶
mcvirt.auth.auth module¶
Provide auth class for managing permissions.
-
class
mcvirt.auth.auth.
Auth
[source]¶ Bases:
mcvirt.rpc.pyro_object.PyroObject
Provides authentication and permissions for performing functions within MCVirt.
-
add_user_permission_group
(*args, **kwargs)¶
-
assert_permission
(permission_enum, vm_object=None)[source]¶ Use check_permission function to determine if a user has a given permission and throws an exception if the permission is not present.
-
assert_user_type
(*user_type_names)[source]¶ Ensure that the currently logged in user is of a specified type.
-
check_permission
(permission_enum, vm_object=None, user_object=None)[source]¶ Check that the user has a given permission, either globally through MCVirt or for a given VM.
-
check_permission_in_config
(permission_config, user, permission_enum)[source]¶ Read permissions config and determines if a user has a given permission.
-
static
check_root_privileges
()[source]¶ Ensure that the user is either running as root or using sudo.
-
check_user_type
(*user_type_names)[source]¶ Check that the currently logged-in user is of a specified type.
-
copy_permissions
(source_vm, dest_vm)[source]¶ Copy the permissions from a given VM to this VM. This functionality is used whilst cloning a VM
-
delete_user_permission_group
(*args, **kwargs)¶
-
mcvirt.auth.cluster_user module¶
Provide class for managing cluster users.
-
class
mcvirt.auth.cluster_user.
ClusterUser
(username)[source]¶ Bases:
mcvirt.auth.user_base.UserBase
User type for cluster daemon users.
-
CAN_GENERATE
= True¶
-
CLUSTER_USER
= True¶
-
DISTRIBUTED
= False¶
-
USER_PREFIX
= 'mcv-cluster-'¶
-
allow_proxy_user
¶ Connection users can proxy for another user.
-
node
¶ Return the node that the user is used for
-
mcvirt.auth.connection_user module¶
Provide class for managing connection users.
-
class
mcvirt.auth.connection_user.
ConnectionUser
(username)[source]¶ Bases:
mcvirt.auth.user_base.UserBase
User type for initial connection users
-
CAN_GENERATE
= True¶
-
CLUSTER_USER
= True¶
-
DISTRIBUTED
= False¶
-
PERMISSIONS
= [<Mock id='140218820756944'>]¶
-
USER_PREFIX
= 'mcv-connection-'¶
-
allow_proxy_user
¶ Connection users can proxy for another user.
-
mcvirt.auth.factory module¶
Provide factory class to create/obtain users.
-
class
mcvirt.auth.factory.
Factory
[source]¶ Bases:
mcvirt.rpc.pyro_object.PyroObject
Class for obtaining user objects
-
USER_CLASS
¶ alias of
UserBase
-
generate_user
(user_type)[source]¶ Remove any existing connection user and generates credentials for a new connection user.
-
mcvirt.auth.permissions module¶
Provide permission enum and permission group definitions.
mcvirt.auth.session module¶
Provide class for managing authentication sessions.
mcvirt.auth.user module¶
Provide class for regular MCVirt interactive users
-
class
mcvirt.auth.user.
User
(username)[source]¶ Bases:
mcvirt.auth.user_base.UserBase
Provides an interaction with the local user backend
mcvirt.auth.user_base module¶
Provide a base class for user objects.
-
class
mcvirt.auth.user_base.
UserBase
(username)[source]¶ Bases:
mcvirt.rpc.pyro_object.PyroObject
Base object for users (both user and automated).
-
CAN_GENERATE
= False¶
-
CLUSTER_USER
= False¶
-
DISTRIBUTED
= True¶
-
PERMISSIONS
= []¶
-
USER_PREFIX
= None¶
-
allow_proxy_user
¶ Connection users can proxy for another user.
-
delete
(*args, **kwargs)¶
-