keycloak.authorization

Authorization module.

Submodules

Package Contents

Classes

Permission

Base permission class.

Policy

Base policy class.

Role

Authorization Role base class.

Authorization

Keycloak Authorization (policies, roles, scopes and resources).

class keycloak.authorization.Permission(name, type, logic, decision_strategy)[source]

Base permission class.

Consider this simple and very common permission:

A permission associates the object being protected with the policies that must be evaluated to determine whether access is granted.

X CAN DO Y ON RESOURCE Z

where

  • X represents one or more users, roles, or groups, or a combination of them. You can

    also use claims and context here.

  • Y represents an action to be performed, for example, write, view, and so on.

  • Z represents a protected resource, for example, “/accounts”.

https://keycloak.gitbooks.io/documentation/authorization_services/topics/permission/overview.html

Parameters
  • name (str) – Name

  • type (str) – Type

  • logic (str) – Logic

  • decision_strategy (str) – Decision strategy

property name

Get name.

Returns

name

Return type

str

property type

Get type.

Returns

type

Return type

str

property logic

Get logic.

Returns

Logic

Return type

str

property decision_strategy

Get decision strategy.

Returns

Decision strategy

Return type

str

property resources

Get resources.

Returns

Resources

Return type

list

property scopes

Get scopes.

Returns

Scopes

Return type

list

__repr__()

Repr method.

Returns

Class representation

Return type

str

__str__()

Str method.

Returns

Class string representation

Return type

str

class keycloak.authorization.Policy(name, type, logic, decision_strategy)[source]

Base policy class.

A policy defines the conditions that must be satisfied to grant access to an object. Unlike permissions, you do not specify the object being protected but rather the conditions that must be satisfied for access to a given object (for example, resource, scope, or both). Policies are strongly related to the different access control mechanisms (ACMs) that you can use to protect your resources. With policies, you can implement strategies for attribute-based access control (ABAC), role-based access control (RBAC), context-based access control, or any combination of these.

https://keycloak.gitbooks.io/documentation/authorization_services/topics/policy/overview.html

Parameters
  • name (str) – Name

  • type (str) – Type

  • logic (str) – Logic

  • decision_strategy (str) – Decision strategy

property name

Get name.

Returns

Name

Return type

str

property type

Get type.

Returns

Type

Return type

str

property logic

Get logic.

Returns

Logic

Return type

str

property decision_strategy

Get decision strategy.

Returns

Decision strategy

Return type

str

property roles

Get roles.

Returns

Roles

Return type

list

property permissions

Get permissions.

Returns

Permissions

Return type

list

__repr__()

Repr method.

Returns

Class representation

Return type

str

__str__()

Str method.

Returns

Class string representation

Return type

str

add_role(role)

Add keycloak role in policy.

Parameters

role (keycloak.authorization.Role) – Keycloak role

Raises

KeycloakAuthorizationConfigError – In case of misconfigured policy type

add_permission(permission)

Add keycloak permission in policy.

Parameters

permission (keycloak.authorization.Permission) – Keycloak permission

class keycloak.authorization.Role(name, required=False)[source]

Authorization Role base class.

Roles identify a type or category of user. Admin, user, manager, and employee are all typical roles that may exist in an organization.

https://keycloak.gitbooks.io/documentation/server_admin/topics/roles.html

Parameters
  • name (str) – Name

  • required (bool) – Required role indicator

get_name()

Get name.

Returns

Name

Return type

str

__eq__(other)

Eq method.

Parameters

other (str) – The other object

Returns

Equality bool

Return type

bool | NotImplemented

class keycloak.authorization.Authorization[source]

Keycloak Authorization (policies, roles, scopes and resources).

https://keycloak.gitbooks.io/documentation/authorization_services/index.html

property policies[source]

Get policies.

Returns

Policies

Return type

dict

load_config(data)[source]

Load policies, roles and permissions (scope/resources).

Parameters

data (dict) – keycloak authorization data (dict)