Examples
Examples
Try the starting example
- JSON Accounts [ID,privileged role IDs]
- [["A",["admin","billing"]],["B",["admin"]],["C",[]]]
- Privilege counts per account
- [["A",2],["B",1],["C",0]]
- Roles with single owner
- ["billing"]
- Largest account share of role assignments
- 0.666667
Try another scenario
- JSON Accounts [ID,privileged role IDs]
- [["A",["admin","billing"]],["B",["admin","billing"]],["C",["audit"]]]
- Privilege counts per account
- [["A",2],["B",2],["C",1]]
- Roles with single owner
- ["audit"]
- Largest account share of role assignments
- 0.4
Calculation method
Calculation method
Privilege counts per account
J([[r[0],len(r[1])] for r in a])
Roles with single owner
J([role for role in sorted({p for r in a for p in r[1]}) if sum(role in r[1] for r in a)==1])
Largest account share of role assignments
max(len(r[1]) for r in a)/sum(len(r[1]) for r in a) if sum(len(r[1]) for r in a) else 0
Symbols and units
- a
- JSON Accounts [ID,privileged role IDs]
Use the units shown. A list keeps the order in which you enter its values. The symbol ^ means “raised to the power of”.
Calculation steps and notation
sum(list) adds all entries in the list.
Assumptions & limits
Assumptions & limits
- Exact supplied account-role inventory; concentration is descriptive and does not establish least privilege, access risk or policy compliance. Supported limits: All numeric inputs must be finite. Only the explicitly described mathematical scenario is supported.
Are these inputs private?
These calculations run in your browser. A shared link contains the values you choose to share. Only questions submitted to the separate AI finder are sent to OpenAI.