Closed andrewbwm closed 2 years ago
* `Lockout` a whole `Group` if all of the member `Identities` have been locked out.
This is a debatable inclusion, I liked it enough to include it in the initial pull request, but let me know what you think of it, @skatsikeas. If you feel it is overly assumptive let me know and we can drop it.
One could make the case that since the group itself is not denied it should not be reflected on it, new users or users not modelled could exist that could still make use of those privileges. However, if we do decide to drop it we may have some funky situations where all of the users Idenitities
are locked out, but since the relevant privileges are on the Group
for whichever reason the lockout is not propagated.
Rework the
IAMObject
abstract asset to extend theInformation
asset and connect the attack steps that make sense.IAMObject
Deny
leads toLockout
.IAMObject
Write
leads toAssume
.IAMObject
Lockout
leads toDeny
on theData
is hasReadPrivileges
for and on theApplications
it hasExecutionPrivileges
on. The other types of privilegesWrite
andDelete
onData
andHigh
andLow
onApplications
were not seen as necessarily propagating the effects of a lockout. There may be circumstances where, for example, removing write privileges would impact the functionality of using the data. However, these are defined by the specific functionality of thatData
asset and therefore beyond the scope of coreLang.Privileges
to serve as a subset for anyIAMObject
class, not justIdentity
andGroup
. This also allows the modeller to buildPrivileges
hierarchies, I doubt it will be a commonly used feature, but it seemed like a more generic and cleaner design anyway.Lockout
a wholeGroup
if all of the memberIdentities
have been locked out.