keycloak.authorization.policy
=============================

.. py:module:: keycloak.authorization.policy

.. autoapi-nested-parse::

   Keycloak authorization Policy module.



Classes
-------

.. autoapisummary::

   keycloak.authorization.policy.Policy


Module Contents
---------------

.. py:class:: Policy(name: str, type: str, logic: str, decision_strategy: str)

   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

   :param name: Name
   :type name: str
   :param type: Type
   :type type: str
   :param logic: Logic
   :type logic: str
   :param decision_strategy: Decision strategy
   :type decision_strategy: str



   .. py:property:: name
      :type: str


      Get name.

      :returns: Name
      :rtype: str



   .. py:property:: type
      :type: str


      Get type.

      :returns: Type
      :rtype: str



   .. py:property:: logic
      :type: str


      Get logic.

      :returns: Logic
      :rtype: str



   .. py:property:: decision_strategy
      :type: str


      Get decision strategy.

      :returns: Decision strategy
      :rtype: str



   .. py:property:: roles
      :type: list


      Get roles.

      :returns: Roles
      :rtype: list



   .. py:property:: permissions
      :type: list


      Get permissions.

      :returns: Permissions
      :rtype: list



   .. py:method:: __repr__() -> str

      Repr method.

      :returns: Class representation
      :rtype: str



   .. py:method:: __str__() -> str

      Str method.

      :returns: Class string representation
      :rtype: str



   .. py:method:: add_role(role: str | keycloak.authorization.role.Role) -> None

      Add keycloak role in policy.

      :param role: Keycloak role
      :type role: keycloak.authorization.Role
      :raises KeycloakAuthorizationConfigError: In case of misconfigured policy type



   .. py:method:: add_permission(permission: str | keycloak.authorization.permission.Permission) -> None

      Add keycloak permission in policy.

      :param permission: Keycloak permission
      :type permission: keycloak.authorization.Permission



