Retrieval of Inline Policies for In-Scope IAM Groups
Beyond user-centric investigations, robust IAM enumeration necessarily extends to group-level analysis. Within AWS, group memberships can significantly change an individual’s effective permission set. Consequently, the first step in enumerating in-scope IAM groups which is defined as the groups that a particular user principal belongs to, often begins with either iam:ListGroupsForUser
or a combination of iam:ListGroups
followed by iam:GetGroup
to retrieve the situational awareness about the in-scope IAM groups. The direct approach iam:ListGroupsForUser
yields the list of groups to which the user belongs. Alternatively, if iam:ListGroupsForUser
is not permitted to perform, SkyEye will switch to invoke iam:ListGroups
and iam:GetGroup
systematically to enumerate all existing groups and confirms membership based on the targeting user principals.
Once the in-scope groups have been identified, the chain proceeds to iam:ListGroupPolicies
for each group. This action enumerates the names of inline policies residing at the group level. Next, for each policy name discovered, the call iam:GetGroupPolicy
retrieves the underlying policy document. This chain ensures that every inline policy statement nested within group membership is processed, providing the full scope of relevant permissions. It is critical in multi-account or multi-group scenarios where ephemeral group memberships might be leveraged, intentionally or inadvertently, to circumvent standard user-level constraints. By detailing the chain from group identification to policy retrieval, SkyEye ensures the complete IAM vision context across the permissions inherited from in-scope IAM groups, supporting the overall situational awareness of current IAM context assigned to the targeting user principals.
Last updated