@discuss_darende - you could use below code in the notebook.
Pls adjust it based on your need.
from databricks.sdk import AccountClient, WorkspaceClient
# If env vars are set, this picks them up automatically
a = WorkspaceClient()
# List identities
users = list(a.users.list())
groups = list(a.groups.list())
service_principals = list(a.service_principals.list())
print(f"Users: {len(users)}")
for u in users[:10]:
print(f"- {u.user_name}")
print(f"\nGroups: {len(groups)}")
for g in groups[:10]:
print(f"- {g.display_name}")
print(f"\nService Principals: {len(service_principals)}")
for sp in service_principals[:10]:
print(f"- {getattr(sp, 'display_name', getattr(sp, 'application_id', 'unknown'))}")
def get_group_members_by_id(group_id: str):
w = WorkspaceClient()
group = w.groups.get(id=group_id) # SCIM read of the group
members = group.members or []
return members
# List users and service principals in each group
for group in a.groups.list():
print(f"Group: {group.display_name}")
members = list(get_group_members_by_id(group.id))
for member in members:
print(f" - {member.type}: {getattr(member, 'display', getattr(member, 'user_name', 'unknown'))}")
RG #Driving Business Outcomes with Data Intelligence