Added support for roles and role management. - #1603
Conversation
Signed-off-by: Paul Agbabian <pagbabian@splunk.com>
Signed-off-by: Paul Agbabian <pagbabian@splunk.com>
…classes. Signed-off-by: Paul Agbabian <pagbabian@splunk.com>
Schema Description ReviewAutomated suggestions for improving description clarity for LLM consumption. These are advisory — not required changes. Based on my comparison with the previous review, here's my updated assessment: Previous Issues Status❌ Description issue remains - The ✅ CHANGELOG conflicts resolved - The git merge conflicts have been fixed. Suggestions
Anti-Pattern FindingsAll previously identified anti-patterns persist unchanged:
SummaryThe PR has resolved the CHANGELOG formatting issues but the main description fix for |
Signed-off-by: Paul Agbabian <pagbabian@splunk.com>
…ade all non-entity attributes of Role optional. Signed-off-by: Paul Agbabian <pagbabian@splunk.com>
Signed-off-by: Paul Agbabian <pagbabian@splunk.com>
Signed-off-by: Paul Agbabian <pagbabian@splunk.com>
Signed-off-by: Paul Agbabian <pagbabian@splunk.com>
|
Also, do we not want to add this new object to the |
|
Good comments all - let me take a crack at an update with them included. |
Signed-off-by: Paul Agbabian <pagbabian@splunk.com>
…descriptions. Signed-off-by: Paul Agbabian <pagbabian@splunk.com>
Signed-off-by: Paul Agbabian <pagbabian@splunk.com>
Added |
Schema Anti-Pattern CheckAutomated structural analysis for common schema design anti-patterns. These are advisory — not required changes. Warnings
Summary: 6 warning(s), 0 informational finding(s) |
|
I'm going to experiment with a separate Since roles are first class citizens of most RBAC based products, the lifecycle of a role, and the changes to a role itself likely belong in a separate class. Assigning roles to users and groups given they already exist can still be done in
|
Signed-off-by: Paul Agbabian <pagbabian@splunk.com>
Aniak5
left a comment
There was a problem hiding this comment.
Great work! This is a huge improvement, and I love the prescriptive descriptions!
Signed-off-by: Paul Agbabian <pagbabian@splunk.com>
2989e10
Signed-off-by: Paul Agbabian <pagbabian@splunk.com>
Signed-off-by: Paul Agbabian <pagbabian@splunk.com>
I've addressed all the changes requested - I don't know why they haven't resolved.
|
This is useful for many products. I want to understand if it will accommodate my use case for enterprise network devices like NXOS where the group management and privileges assigned are classically considered "permissive" - i.e., "permit/deny ..." This model follows not just a right (read/write), but also follows commands the group can execute -- like sudo command assignments: [config-role]$ rule 1 permit command {{ command_name_here }}How would I take my Syslog telemetry and encode these types of group changes given this PR? |
Related Issue: #1600
Description of changes:
Added support for roles and role management.
Although we have been describing users as users or roles in many contexts, we don't have explicit support for roles (and there was no Role object). This PR adds
IAM Roleto existing IAM classes,group_managementandauthorize_session, adds arole_managementclass anduser_managementclass which combinesuser_access_managementandaccount_change. The latter two classes are deprecated. Activities are updated in the modified classes to supportIAM Roles.Where there were
_resultobjects they were replaced byupdated_objects, and where Update activities were missing they were added.IAM classes that had activities against a target, such as
userorgroupsuch as attaching policies or privileges now consistently use arrays for the attached or assigned objects, so that more than one IAM Role, more than one Policy etc. can be assigned or removed in a single event.An
IAM Roleobject includes key attributes from theUserobject but none of the personal information that would not apply to a Role. As an example, aRoleobject can have aSessionfor temporary credentials that can expire with the session. APolicyobject is available for attaching a policy to a role, as well asprivilegesas we have withUser Management.Because there are cross-account roles, the
IAM Roleobject can have a different account (via anAccount) object than theactor's account (e.g. via theUser Managementclass).