guillotina-audit


Nameguillotina-audit JSON
Version 2.0.3 PyPI version JSON
download
home_pagehttps://github.com/guillotinaweb/guillotina_audit
Summaryelasticsearch audit support for guillotina
upload_time2024-03-06 10:54:27
maintainer
docs_urlNone
authorNil Bacardit Vinyals
requires_python
licenseGPL version 3
keywords search async guillotina elasticsearch audit
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            .. contents::

Guillotina_audit: ElasticSearch Logging for Audit Trail in Guillotina Framework
===============================================================================

Aim of the package?
-------------------

The main purpose of this package is to enable auditing and monitoring
of changes made to Guillotina objects. By integrating Elasticsearch as
the logging backend, it allows for efficient indexing and searching of
the audit logs.

When an object is created, modified, or deleted within the Guillotina
system, the `guillotina_audit` package captures relevant information
about the event, such as the object ID, the timestamp of the action,
the type of action (create, update, delete), and any additional
relevant data.

This information is then sent to Elasticsearch, which stores it in a
structured format. Elasticsearch provides powerful search
capabilities, allowing you to query and analyze the audit logs based
on various criteria, such as object ID, timestamps, action types, and
more.

By logging changes and events in Elasticsearch, `guillotina_audit`
facilitates monitoring and tracking of object activities in the
Guillotina system. It helps in ensuring data integrity, tracking user
actions, investigating issues, and maintaining a historical record of
object modifications.

The package provides an essential auditing layer for transparency and
accountability, helping users gain insights into the changes happening
within the Guillotina system and enabling effective monitoring and
analysis of object-level activities.

Installation
------------

`pip install guillotina-audit`


Configuration
-------------

config.yaml can include elasticsearch section. Add this to your
guillotina config file

.. code-block:: yaml

    audit:
      index_name: "audit"
      connection_settings:
        hosts:
          - "http://127.0.0.1:9200"
        sniffer_timeout: 0.5
        sniff_on_start: true



Installation on a site
----------------------

Guillotina_audit comes as an addon for guillotina. To install it in your site:

"POST", "/db/guillotina/@addons", data=json.dumps({"id": "audit"})


Uninstall on a site
-------------------

"DELETE", "/db/guillotina/@addons", data=json.dumps({"id": "audit"})

Uninstalling will not delete the log entries created in ES.

2.0.3 (2024-03-06)
------------------

- Adding permissions_changed action when permissions are changed


2.0.2 (2024-03-06)
------------------

- Being able to setting up index_permission_changes in settings. If
  defined as True, it will index all changes in permissions.


2.0.1 (2024-03-05)
------------------

- Being able to decode dates and datetimes when indexing custom
  payloads from events.


2.0.0 (2024-01-23)
------------------

- Supporting ES version 7 and 8
- By default the async elasticsearch version is 8.12


1.0.6 (2023-12-19)
------------------

- Changing date by datetime in models.
- Fixing creation_date was not indexed when login wildcards


1.0.5 (2023-12-12)
------------------

- Adding log_entry method to the utility. Now customized documents can
  be indexed

  
1.0.4 (2023-11-16)
------------------

- Changing requirement of guillotina


1.0.3 (2023-11-16)
------------------

- Adding try except clause in subscribers


1.0.2 (2023-11-15)
------------------

- Adding save_payload parameter in the settings of the utility


1.0.1 (2023-11-15)
------------------

- Solving bugs


1.0.0 (2023-11-15)
------------------

- Initial release
  [nilbacardit26]

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/guillotinaweb/guillotina_audit",
    "name": "guillotina-audit",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "search async guillotina elasticsearch audit",
    "author": "Nil Bacardit Vinyals",
    "author_email": "n.bacardit@iskra.cat",
    "download_url": "https://files.pythonhosted.org/packages/2f/98/b6ad7585d4b18792165dd44276cc73932a3e366df2af3e141657400d1968/guillotina_audit-2.0.3.tar.gz",
    "platform": null,
    "description": ".. contents::\n\nGuillotina_audit: ElasticSearch Logging for Audit Trail in Guillotina Framework\n===============================================================================\n\nAim of the package?\n-------------------\n\nThe main purpose of this package is to enable auditing and monitoring\nof changes made to Guillotina objects. By integrating Elasticsearch as\nthe logging backend, it allows for efficient indexing and searching of\nthe audit logs.\n\nWhen an object is created, modified, or deleted within the Guillotina\nsystem, the `guillotina_audit` package captures relevant information\nabout the event, such as the object ID, the timestamp of the action,\nthe type of action (create, update, delete), and any additional\nrelevant data.\n\nThis information is then sent to Elasticsearch, which stores it in a\nstructured format. Elasticsearch provides powerful search\ncapabilities, allowing you to query and analyze the audit logs based\non various criteria, such as object ID, timestamps, action types, and\nmore.\n\nBy logging changes and events in Elasticsearch, `guillotina_audit`\nfacilitates monitoring and tracking of object activities in the\nGuillotina system. It helps in ensuring data integrity, tracking user\nactions, investigating issues, and maintaining a historical record of\nobject modifications.\n\nThe package provides an essential auditing layer for transparency and\naccountability, helping users gain insights into the changes happening\nwithin the Guillotina system and enabling effective monitoring and\nanalysis of object-level activities.\n\nInstallation\n------------\n\n`pip install guillotina-audit`\n\n\nConfiguration\n-------------\n\nconfig.yaml can include elasticsearch section. Add this to your\nguillotina config file\n\n.. code-block:: yaml\n\n    audit:\n      index_name: \"audit\"\n      connection_settings:\n        hosts:\n          - \"http://127.0.0.1:9200\"\n        sniffer_timeout: 0.5\n        sniff_on_start: true\n\n\n\nInstallation on a site\n----------------------\n\nGuillotina_audit comes as an addon for guillotina. To install it in your site:\n\n\"POST\", \"/db/guillotina/@addons\", data=json.dumps({\"id\": \"audit\"})\n\n\nUninstall on a site\n-------------------\n\n\"DELETE\", \"/db/guillotina/@addons\", data=json.dumps({\"id\": \"audit\"})\n\nUninstalling will not delete the log entries created in ES.\n\n2.0.3 (2024-03-06)\n------------------\n\n- Adding permissions_changed action when permissions are changed\n\n\n2.0.2 (2024-03-06)\n------------------\n\n- Being able to setting up index_permission_changes in settings. If\n  defined as True, it will index all changes in permissions.\n\n\n2.0.1 (2024-03-05)\n------------------\n\n- Being able to decode dates and datetimes when indexing custom\n  payloads from events.\n\n\n2.0.0 (2024-01-23)\n------------------\n\n- Supporting ES version 7 and 8\n- By default the async elasticsearch version is 8.12\n\n\n1.0.6 (2023-12-19)\n------------------\n\n- Changing date by datetime in models.\n- Fixing creation_date was not indexed when login wildcards\n\n\n1.0.5 (2023-12-12)\n------------------\n\n- Adding log_entry method to the utility. Now customized documents can\n  be indexed\n\n  \n1.0.4 (2023-11-16)\n------------------\n\n- Changing requirement of guillotina\n\n\n1.0.3 (2023-11-16)\n------------------\n\n- Adding try except clause in subscribers\n\n\n1.0.2 (2023-11-15)\n------------------\n\n- Adding save_payload parameter in the settings of the utility\n\n\n1.0.1 (2023-11-15)\n------------------\n\n- Solving bugs\n\n\n1.0.0 (2023-11-15)\n------------------\n\n- Initial release\n  [nilbacardit26]\n",
    "bugtrack_url": null,
    "license": "GPL version 3",
    "summary": "elasticsearch audit support for guillotina",
    "version": "2.0.3",
    "project_urls": {
        "Homepage": "https://github.com/guillotinaweb/guillotina_audit"
    },
    "split_keywords": [
        "search",
        "async",
        "guillotina",
        "elasticsearch",
        "audit"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2f98b6ad7585d4b18792165dd44276cc73932a3e366df2af3e141657400d1968",
                "md5": "9fd9f420e2f06f1f149da17121013d16",
                "sha256": "88ad2a3f776f06413f78e3e3b8116c98c5ffe3e1a45963e10efaaecd07b7475e"
            },
            "downloads": -1,
            "filename": "guillotina_audit-2.0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "9fd9f420e2f06f1f149da17121013d16",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 23054,
            "upload_time": "2024-03-06T10:54:27",
            "upload_time_iso_8601": "2024-03-06T10:54:27.983020Z",
            "url": "https://files.pythonhosted.org/packages/2f/98/b6ad7585d4b18792165dd44276cc73932a3e366df2af3e141657400d1968/guillotina_audit-2.0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-06 10:54:27",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "guillotinaweb",
    "github_project": "guillotina_audit",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "guillotina-audit"
}
        
Elapsed time: 0.20382s