Skip to content

Commit a34f16c

Browse files
authored
test assumed role (#3621)
1 parent 37aaa9e commit a34f16c

File tree

2 files changed

+29
-0
lines changed

2 files changed

+29
-0
lines changed

src/cfnlint/data/schemas/other/iam/policy.json

+3
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@
2828
{
2929
"pattern": "^arn:(aws|aws-cn|aws-us-gov):iam::\\d{12}:(?:root|user|group|role)"
3030
},
31+
{
32+
"pattern": "^arn:(aws|aws-cn|aws-us-gov):sts::\\d{12}:assumed-role"
33+
},
3134
{
3235
"pattern": "^arn:(aws|aws-cn|aws-us-gov):iam::cloudfront:user/.+$"
3336
}

test/unit/rules/resources/iam/test_resource_policy.py

+26
Original file line numberDiff line numberDiff line change
@@ -224,3 +224,29 @@ def test_principal_wildcard(self):
224224
)
225225
)
226226
self.assertListEqual(errs, [])
227+
228+
def test_assumed_role(self):
229+
validator = CfnTemplateValidator({}).evolve(
230+
context=Context(functions=FUNCTIONS)
231+
)
232+
233+
policy = {
234+
"Version": "2012-10-17",
235+
"Statement": [
236+
{
237+
"Effect": "Allow",
238+
"Action": "*",
239+
"Resource": "arn:aws:s3:::bucket",
240+
"Principal": {
241+
"AWS": "arn:aws:sts::123456789012:assumed-role/rolename/rolesessionname"
242+
},
243+
},
244+
],
245+
}
246+
247+
errs = list(
248+
self.rule.validate(
249+
validator=validator, policy=policy, schema={}, policy_type=None
250+
)
251+
)
252+
self.assertListEqual(errs, [])

0 commit comments

Comments
 (0)