From 77a50e0abfa749874cede765dc774d4fb3b628e8 Mon Sep 17 00:00:00 2001 From: sayali Date: Thu, 28 Jan 2021 17:56:12 -0800 Subject: [PATCH] API Key logs --- lemur/api_keys/service.py | 9 ++++++++- lemur/logs/service.py | 3 ++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/lemur/api_keys/service.py b/lemur/api_keys/service.py index ea681a62..3cb896aa 100644 --- a/lemur/api_keys/service.py +++ b/lemur/api_keys/service.py @@ -7,6 +7,7 @@ """ from lemur import database from lemur.api_keys.models import ApiKey +from lemur.logs import service as log_service def get(aid): @@ -24,6 +25,7 @@ def delete(access_key): :param access_key: :return: """ + log_service.audit_log("delete_api_key", access_key.name, "Deleting the API key") database.delete(access_key) @@ -34,8 +36,9 @@ def revoke(aid): :return: """ api_key = get(aid) - setattr(api_key, "revoked", False) + setattr(api_key, "revoked", True) + log_service.audit_log("revoke_api_key", api_key.name, "Revoking API key") return database.update(api_key) @@ -55,6 +58,9 @@ def create(**kwargs): :return: """ api_key = ApiKey(**kwargs) + # this logs only metadata about the api key + log_service.audit_log("create_api_key", api_key.name, f"Creating the API key {api_key}") + database.create(api_key) return api_key @@ -69,6 +75,7 @@ def update(api_key, **kwargs): for key, value in kwargs.items(): setattr(api_key, key, value) + log_service.audit_log("update_api_key", api_key.name, f"Update summary - {kwargs}") return database.update(api_key) diff --git a/lemur/logs/service.py b/lemur/logs/service.py index 96b4b14f..f569a05d 100644 --- a/lemur/logs/service.py +++ b/lemur/logs/service.py @@ -42,8 +42,9 @@ def audit_log(action, entity, message): :param message: Additional info e.g. Role being assigned to user X :return: """ + user = g.current_user.email if hasattr(g, 'current_user') else "LEMUR" current_app.logger.info( - f"[lemur-audit] action: {action}, user: {g.current_user.email}, entity: {entity} [{message}]" + f"[lemur-audit] action: {action}, user: {user}, entity: {entity}, details:{message}" )