Ir al final de los metadatos
Ir al inicio de los metadatos

Estás viendo una versión antigua de esta página. Ve a la versión actual.

Comparar con el actual Ver el historial de la página

« Anterior Versión 5 Siguiente »

RBAC gives more control of actions an account can perform


System defines

  • Permissions to perform some action
  • Roles: a set of permissions that have some relation
  • Groups: a set of roles that have some relation

Operations

  • Grant: Assign and allow
  • Deny: Assign and do not allow
  • Revoke: Remove

Precedence of operations

  1. Grant
  2. Deny

If you are granted some action by a role but you have denied that permission, the action can not be done.

Rules

  • Groups can only have roles
  • Roles can only have permissions
  • An account can be assigned granted and denied roles. Permissions inherited from roles are granted if roles is granted and denied if roles is denied
  • An account can be assigned granted and denied permissions
  • An account can have multiple groups, roles and permissions
  • An account can not have same role granted and denied at same time
  • An acconnt can not have same permission granted and denied at same time
  • Id 0 can not be used to define a group, role or permission

Added some permissions as a sample of use (Instant Logout, Skip Queue, Join BGs, Join DF) and some permissions as a workaround to commands till command system is modified to use RBAC

Permissions

IdNameDescription
1RBAC_PERM_INSTANT_LOGOUTInstantly logging out everywhere. Does not work while in combat, dueling or falling.
2RBAC_PERM_SKIP_QUEUESkip login queue.
3RBAC_PERM_JOIN_NORMAL_BGAllow joining normal battlegrounds.
4RBAC_PERM_JOIN_RANDOM_BGAllow joining random battlegrounds.
5RBAC_PERM_JOIN_ARENASAllow joining arenas.
6RBAC_PERM_JOIN_DUNGEON_FINDERAllow joining dungeon finder (LFD, LFG).
7RBAC_PERM_PLAYER_COMMANDSAllow the use of player commands. (Security level 0)
8RBAC_PERM_MODERATOR_COMMANDSAllow the use of moderator commands. (Security level 1)
9RBAC_PERM_GAMEMASTER_COMMANDSAllow the use of game-master commands. (Security level 2)
10RBAC_PERM_ADMINISTRATOR_COMMANDSAllow the use of administrator commands. (Security level 3)

In-game commands

NameSyntaxDescription
.rbac accountSyntax: .rbac account [$account]

View permissions of selected player or given account

Note: Only those that affect current realm

Note: Shows real permissions after checking group and roles

.rbac account groupSyntax: .rbac account group [$account]

View groups of selected player or given account

Note: Only those that affect current realm

.rbac account group addSyntax: .rbac account group add [$account] #id [#realmId]

Add a group to selected player or given account.

#reamID may be -1 for all realms.

.rbac account group removeSyntax: .rbac account group remove [$account] #idRemove a group from selected player or given account.
.rbac account roleSyntax: .rbac account role [$account]

View roles of selected player or given account

Note: Only those that affect current real

Note: Only those directly granted or denied, does not include inherited roles from groups

.rbac account role grantSyntax: .rbac account role grant [$account] #id [#realmId]

Grant a role to selected player or given account.

#reamID may be -1 for all realms.

.rbac account role denySyntax: .rbac account role deny [$account] #id [#realmId]

Deny a role to selected player or given account.

#reamID may be -1 for all realms.

.rbac account role revokeSyntax: .rbac account role revoke [$account] #id

Remove a role from an account

Note: Removes the role from granted or denied roles

.rbac account permissionSyntax: .rbac account permission [$account]

View permissions of selected player or given account

Note: Only those that affect current realm

Note: Only those directly granted or denied, does not include inherited permissions from roles

.rbac account permission grantSyntax: .rbac account permission grant [$account] #id [#realmId]

Grant a permission to selected player or given account.

#reamID may be -1 for all realms.

.rbac account permission denySyntax: .rbac account permission deny [$account] #id [#realmId]

Deny a permission to selected player or given account.

#reamID may be -1 for all realms.

.rbac account permission revokeSyntax: .rbac account permission revoke [$account] #id

Remove a permission from an account

Note: Removes the permission from granted or denied permissions

.rbac list groupsSyntax: .rbac list groups [$id]

View list of all groups.

If $id is given will show group info and his inherited roles.

.rbac list rolesSyntax: .rbac list roles [$id]

View list of all roles.

If $id is given will show role info and his inherited permissions.

.rbac list permissionsSyntax: .rbac list permissions [$id]

View list of all permissions.

If $id is given will show only info for that permission.

Commands are not (yet) covered by RBAC (allowing, denying and revoking specific commands to roles and groups)

Related tables (`auth` database)

Table NameTable DescriptionField NameField TypeField Description
rbac_account_groupsAccount-Group relationaccountIdintAccount id
groupIdintGroup id
realmIdintRealm Id, -1 means all
rbac_account_permissionsAccount-Permission relationaccountIdintAccount id
permissionIdintPermission id
grantedintGranted = 1, Denied = 0
realmIdintRealm Id, -1 means all
rbac_account_rolesAccount-Role relationaccountIdintAccount id
roleIdintRole id
grantedintGranted = 1, Denied = 0
realmIdintRealm Id, -1 means all
rbac_group_rolesGroup-Role relationgroupIdintGroup id
roleIdintRole id
rbac_role_permissionsRole-Permission relationroleIdintRole id
permissionIdintPermission id
rbac_groupsGroup ListidintGroup id
nametextGroup name
rbac_permissionsPermission ListidintPermission id
nametextPermission name
rbac_rolesRoles listidintRole id
nametextRole name
rbac_security_level_groupsDefault groups to assign when an account is set gm levelsecIdintSecurity Level id
groupIdintGroup id
  • Sin etiquetas