Skip to content

Commit 6c99804

Browse files
committed
requires both identity check and resource check for cross-account checks
fixes #27
1 parent 81ee9d4 commit 6c99804

2 files changed

Lines changed: 10 additions & 1 deletion

File tree

iamspy/parse.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -519,7 +519,7 @@ def generate_evaluation_logic_checks(model_vars, source: Optional[str], resource
519519
)
520520
constraints.append(
521521
z3.Or(
522-
z3.And(z3.String("s_account") != z3.String("r_account"), resource_check),
522+
z3.And(z3.String("s_account") != z3.String("r_account"), identity_check, resource_check),
523523
z3.String("s_account") == z3.String("r_account"),
524524
)
525525
)

tests/test_integration.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,15 @@
9696
),
9797
True,
9898
),
99+
(
100+
{"gaads": ["basic-allow.json"], "resources": ["cross-account-rp.json"]},
101+
(
102+
"arn:aws:iam::123456789012:role/name2",
103+
"lambda:InvokeFunction",
104+
"arn:aws:lambda:eu-west-1:111111111111:function:helloworld",
105+
),
106+
False,
107+
),
99108
(
100109
{"gaads": ["allow-with-conditions.json"]},
101110
(

0 commit comments

Comments
 (0)