I have a requirement to implement some logic, that will audit the assign of webroles to contact (portal user). Whenever CRM user assigns a webrole to specific portal contact, I would like to have a log evidenting this event.
Is there any out-of-the-box functionality that supports that?
There is a limited OOB way to audit the web role assignments to the Contact entity.
You would need to go to: Settings->Auditing->Global Audit Settings
From there you would enable: Audit Settings - Start Auditing and you would Enable Auditing - Common Entities
See the screenshot below of what this will look like. I can see the web role being assigned and I can see the user that made the change. If you need more functionality or detail, you would likely need a custom entity / workflow.