- Access exclusive content
- Connect with peers
- Share your expertise
- Find support resources
04-27-2021 11:39 AM
Trying to put together a query to identify excessive assumeRole permissions. For example it would identify if the following is in a policy.
"Action": ["sts:AssumeRole"],
"Effect": "Allow",
"Resource": "*"
I've been messing around with some queries, I haven't had any luck finding one that works. The following query will pickup policies where the "sts:AssumeRole" and the "*" are in separate statement blocks.
config from cloud.resource where cloud.type = 'aws' AND api.name = 'aws-iam-list-roles' AND json.rule = inlinePolicies[*].policyDocument.Statement[*].Action contains "sts:AssumeRole" and inlinePolicies[*].policyDocument.Statement[*].Resource equals "*"
05-04-2021 11:28 AM
I figured it out. Here is the query I used.
config from cloud.resource where cloud.type = 'aws' AND api.name = 'aws-iam-list-roles' AND json.rule = inlinePolicies[*].policyDocument.Statement[?any( Action contains "sts:AssumeRole" and Resource equals "*" )] exists
05-04-2021 11:28 AM
I figured it out. Here is the query I used.
config from cloud.resource where cloud.type = 'aws' AND api.name = 'aws-iam-list-roles' AND json.rule = inlinePolicies[*].policyDocument.Statement[?any( Action contains "sts:AssumeRole" and Resource equals "*" )] exists
Click Accept as Solution to acknowledge that the answer to your question has been provided.
The button appears next to the replies on topics you’ve started. The member who gave the solution and all future visitors to this topic will appreciate it!
These simple actions take just seconds of your time, but go a long way in showing appreciation for community members and the LIVEcommunity as a whole!
The LIVEcommunity thanks you for your participation!