Hello, Viktor.

Do you want to implement the exact approach as it described in the current KIP?
Or you have another proposal on how it has to be implemented?

I abandoned this KIP due to lack of interest from community.
Guess we can collaborate during implementation.

> 7 сент. 2020 г., в 13:13, Viktor Somogyi-Vass <viktorsomo...@gmail.com> 
> написал(а):
> 
> Hi folks,
> 
> It's been a few days since I last pinged and nobody replied so I assume
> that this KIP is abandoned and I can take this over (but please let me know
> if it's not). I will keep the current version of the KIP and move it to a
> sub-page if it's ever needed.
> 
> Thanks,
> Viktor
> 
> On Fri, Aug 28, 2020 at 11:35 AM Viktor Somogyi-Vass <
> viktorsomo...@gmail.com> wrote:
> 
>> Hi folks,
>> 
>> I have a use-case and a non-trivial implementation with Apache Atlas for
>> this KIP and since this kip seems to be dormant for a while now, I'd take
>> it over and drive it to completion if you don't mind.
>> The current state of the PoC can be found on my fork at
>> https://github.com/viktorsomogyi/kafka/tree/atlas-audit-impl.
>> 
>> Viktor
>> 
>> On Wed, Jan 29, 2020 at 9:32 AM Игорь Мартемьянов <ledost...@gmail.com>
>> wrote:
>> 
>>> Hello, Nikolai.
>>> 
>>> 
>>> 
>>>> Can you, please, make it more specific?
>>> 
>>>> Why does a business want to have this information?
>>> 
>>> It is very demanded for security department to know who/when/where create
>>> or edit ACL settings. The same situation about topics.
>>> 
>>> 
>>> 
>>>> What are the use-cases for it?
>>> 
>>> This KIP are able to help catching some unauthorized changes of cluster
>>> resources or save history these changes.
>>> 
>>> 
>>> 
>>>> Who will be analyzing these events and how?
>>> 
>>> Events could be analyzed by some security department or developers who
>>> builds applications that can change cluster resources.
>>> 
>>> 
>>> 
>>>> Why it’s not convenient to implement it with third-party tools?
>>> 
>>> It is imposible to my mind getting detailed information about these events
>>> through third-party tools, because we don`t have the ability to catch
>>> these
>>> events outside Kafka core.
>>> 
>>> 
>>> 
>>>> 1. `audit` name sounds too general for me. How about `onEvent`?
>>> 
>>> Thanks, good point. I`ll change the method name.
>>> 
>>> 
>>> 
>>>> 2. Should we introduce a special marker interface for audit events?
>>> 
>>>> `AuditableRequest`, for example?
>>> 
>>> No, we shouldn`t. We are going to create these events if we process
>>> special
>>> request in KafkaApis class (ApiKeys.CREATE_TOPICS, ApiKeys.DELETE_TOPICS,
>>> ApiKeys.CREATE_ACLS, ApiKeys.DELETE_ACLS, ApiKeys.DESCRIBE_ACLS,
>>> ApiKeys.ALTER_CONFIGS)
>>> 
>>> 
>>> 
>>>>> public interface AuditEvent<T extends AbstractRequest> {
>>> 
>>>>>     String guid();
>>> 
>>> 
>>> 
>>>> Where this `guid` comes from?
>>> 
>>> Guid generated automatically when the audit event is created.
>>> 
>>> 
>>> 
>>>> Will it be the same on each node that receives an auditable event?
>>> 
>>> Event is creating while request that changes cluster resource is processed
>>> and will destroyed after the prosessing will finished on each node.
>>> 
>>> 
>>> 
>>>> Do we have `guid` for any extensions of `AbstractRequest`?
>>> 
>>> No, we don`t.
>>> 
>>> 
>>> 
>>>> If this field is `guid` why do we format this as a String on the API
>>> level?
>>> 
>>> Thanks for the point.
>>> 
>>> I have changed event interface recently.
>>> 
>>> 
>>> 
>>>> Can you, please, add a full list of proposed new configuration
>>> properties
>>> and
>>> 
>>>> examples for each to clarify your intentions?
>>> 
>>> Yes, I have added some examples of new configuration properties.
>>> 
>>> ср, 29 янв. 2020 г., 10:23 Владимир Беруненко <vvberune...@gmail.com>:
>>> 
>>>> Hi Nikolai!
>>>> 
>>>>> Can you, please, make it more specific?
>>>> Why does a business want to have this information?
>>>>> What are the use-cases for it?
>>>>> Who will be analyzing these events and how?
>>>>> Why it’s not convenient to implement it with third-party tools?
>>>> 
>>>> This is required by the guys from information security to detect
>>> potential
>>>> threats of violation the rules for providing access to the data layer.
>>>> Analysis in the audit system is usually based on identifying
>>>> uncharacteristic integrations. The key feature of the audit, is that
>>>> cluster administrators do not have access to modification of audit
>>> events.
>>>> Third-party tools are great for data analysis, but its not good idea to
>>> use
>>>> it for audit events collection.
>>>> 
>>>>> It’s not clear for me where and when AuditEvents will be sent?
>>>> Who will be the receiver of events?
>>>> 
>>>> In my opinion, sending an audit event should be initiated when the
>>> broker
>>>> receives a request that matches the audit parameters. Each organization
>>> has
>>>> its own receiver system, so a common interface is required that the
>>>> organization’s development team can implement to integrate with their
>>> audit
>>>> system.
>>>> 
>>>> Best wishes, Vladimir
>>>> 
>>>> Hello, Igor.
>>>>> 
>>>>> Thanks for the KIP.
>>>>> I have a couple of comments for it:
>>>>> 
>>>>>> Motivation
>>>>>> It is highly demanded in most businesses to have the ability of
>>>>> obtaining audit information in case someone changes cluster
>>> configuration
>>>>> (like creation/deletion/modify/description of any topic or ACLs).
>>>>> 
>>>>> Can you, please, make it more specific?
>>>>> Why does a business want to have this information?
>>>>> What are the use-cases for it?
>>>>> Who will be analyzing these events and how?
>>>>> Why it’s not convenient to implement it with third-party tools?
>>>>> 
>>>>> It’s not clear for me where and when AuditEvents will be sent?
>>>>> Who will be the receiver of events?
>>>>> 
>>>>>> void audit<T extends AbstractRequest>(AuditEvent<T> event);
>>>>> 
>>>>> 1. `audit` name sounds too general for me. How about `onEvent`?
>>>>> 2. Should we introduce a special marker interface for audit events?
>>>>> `AuditableRequest`, for example?
>>>>> 
>>>>>> public interface AuditEvent<T extends AbstractRequest> {
>>>>>>     String guid();
>>>>> 
>>>>> Where this `guid` comes from?
>>>>> Will it be the same on each node that receives an auditable event?
>>>>> Do we have `guid` for any extensions of `AbstractRequest`?
>>>>> If this field is `guid` why do we format this as a String on the API
>>>> level?
>>>>> 
>>>>>> One or more of AuditExtension's implementations can be configured
>>> via
>>>>> the configuration audit.extension.classes
>>>>> 
>>>>> Can you, please, add a full list of proposed new configuration
>>> properties
>>>>> and examples for each to clarify your intentions?
>>>>> 
>>>>> 
>>>>>> 24 янв. 2020 г., в 18:12, Alexander Dunayevsky <
>>>> a.a.dunayev...@gmail.com>
>>>>> написал(а):
>>>>>> 
>>>>>> Hello Igor,
>>>>>> 
>>>>>> Thanks for your KIP 🙌🏽
>>>>>> It would be great to adopt this functionality and getting the best
>>> of
>>>>>> tracking cluster activity.
>>>>>> 
>>>>>> +1 vote from me
>>>>>> 
>>>>>> Cheers,
>>>>>> Alex Dunayevsky
>>>>>> 
>>>>>> 
>>>>>> On Fri, 24 Jan 2020, 15:35 Игорь Мартемьянов, <ledost...@gmail.com>
>>>>> wrote:
>>>>>> 
>>>>>>> Motivation:
>>>>>>> 
>>>>>>> 
>>>>>>> *It is highly demanded in most businesses to have the ability of
>>>>> obtaining
>>>>>>> audit information in case someone changes cluster configuration
>>> (like
>>>>>>> creation/deletion/modify/description of any topic or ACLs).We may
>>> add
>>>>> this
>>>>>>> ability. Since audit requirements are so broad, it's impractical to
>>>>> support
>>>>>>> all of them.Hence we have to provide ability for users to plug
>>>> resources
>>>>>>> helping to achieve required capabilities.*
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>> 
>>>> 
>>> https://cwiki.apache.org/confluence/display/KAFKA/KIP-567%3A+Kafka+Cluster+Audit
>>>>>>> 
>>>>>>> 
>>>>>>> пт, 24 янв. 2020 г., 17:29 Игорь Мартемьянов <ledost...@gmail.com
>>>> :
>>>>>>> 
>>>>>>>> Hello there.
>>>>>>>> Please review this KIP.
>>>>>>>> Thanks.
>>>>>>>> 
>>>>>>> 
>>>>> 
>>>>> 
>>>> 
>>> 
>> 

Reply via email to