|
477 | 477 | "CloudTrailEvent": '{"userIdentity": {"type": "SAMLUser", "principalId": "SAML:[email protected]", "userName": "[email protected]"}, "requestParameters": {"roleArn": "arn:aws:iam::987654321098:role/CrossAccountRole", "principalArn": "arn:aws:iam::123456789012:saml-provider/ExampleProvider"}, "responseElements": {"assumedRoleUser": {"arn": "arn:aws:sts::123456789012:assumed-role/SAMLRole/[email protected]"}}}',
|
478 | 478 | },
|
479 | 479 | ]
|
| 480 | + |
| 481 | +# ============================================================================= |
| 482 | +# EDGE CASE TEST MOCK DATA - ACCESS DENIED EVENTS |
| 483 | +# ============================================================================= |
| 484 | + |
| 485 | +# Mock CloudTrail AssumeRole events that failed with AccessDenied error |
| 486 | +# These events have null requestParameters which causes NoneType errors |
| 487 | +ACCESS_DENIED_ASSUME_ROLE_CLOUDTRAIL_EVENTS = [ |
| 488 | + { |
| 489 | + "EventName": "AssumeRole", |
| 490 | + "EventTime": "2024-01-15T15:45:30.123000", |
| 491 | + "UserIdentity": {"arn": "arn:aws:iam::123456789012:user/john.doe"}, |
| 492 | + "Resources": [], |
| 493 | + "ErrorCode": "AccessDenied", |
| 494 | + "ErrorMessage": "User: arn:aws:iam::123456789012:user/john.doe is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::123456789012:role/RestrictedRole", |
| 495 | + "CloudTrailEvent": '{"eventVersion": "1.08", "userIdentity": {"type": "IAMUser", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::123456789012:user/john.doe", "accountId": "123456789012", "userName": "john.doe"}, "eventTime": "2024-01-15T15:45:30Z", "eventSource": "sts.amazonaws.com", "eventName": "AssumeRole", "awsRegion": "us-east-1", "sourceIPAddress": "203.0.113.12", "userAgent": "aws-cli/2.0.0", "errorCode": "AccessDenied", "errorMessage": "User: arn:aws:iam::123456789012:user/john.doe is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::123456789012:role/RestrictedRole", "requestParameters": null, "responseElements": null, "requestID": "12345678-1234-1234-1234-123456789012", "eventID": "87654321-4321-4321-4321-210987654321", "readOnly": false, "eventType": "AwsApiCall", "apiVersion": "2011-06-15", "managementEvent": true, "recipientAccountId": "123456789012", "eventCategory": "Management", "tlsDetails": {"tlsVersion": "TLSv1.2", "cipherSuite": "ECDHE-RSA-AES128-GCM-SHA256"}}', |
| 496 | + }, |
| 497 | + { |
| 498 | + "EventName": "AssumeRole", |
| 499 | + "EventTime": "2024-01-15T16:20:45.789000", |
| 500 | + "UserIdentity": {"arn": "arn:aws:iam::123456789012:user/alice"}, |
| 501 | + "Resources": [], |
| 502 | + "ErrorCode": "AccessDenied", |
| 503 | + "ErrorMessage": "User: arn:aws:iam::123456789012:user/alice is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::999999999999:role/CrossAccountRole", |
| 504 | + "CloudTrailEvent": '{"eventVersion": "1.08", "userIdentity": {"type": "IAMUser", "principalId": "AIDACKCEVSQ6C2ALICE", "arn": "arn:aws:iam::123456789012:user/alice", "accountId": "123456789012", "userName": "alice"}, "eventTime": "2024-01-15T16:20:45Z", "eventSource": "sts.amazonaws.com", "eventName": "AssumeRole", "awsRegion": "us-west-2", "sourceIPAddress": "203.0.113.45", "userAgent": "aws-sdk-java/1.12.0", "errorCode": "AccessDenied", "errorMessage": "User: arn:aws:iam::123456789012:user/alice is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::999999999999:role/CrossAccountRole", "requestParameters": null, "responseElements": null, "requestID": "abcdef12-ab34-cd56-ef78-abcdef123456", "eventID": "fedcba98-9876-5432-1098-fedcba987654", "readOnly": false, "eventType": "AwsApiCall", "apiVersion": "2011-06-15", "managementEvent": true, "recipientAccountId": "123456789012", "eventCategory": "Management", "tlsDetails": {"tlsVersion": "TLSv1.3", "cipherSuite": "TLS_AES_128_GCM_SHA256"}}', |
| 505 | + }, |
| 506 | +] |
| 507 | + |
| 508 | +# Mock CloudTrail AssumeRoleWithSAML events that failed with AccessDenied error |
| 509 | +ACCESS_DENIED_SAML_ASSUME_ROLE_CLOUDTRAIL_EVENTS = [ |
| 510 | + { |
| 511 | + "EventName": "AssumeRoleWithSAML", |
| 512 | + "EventTime": "2024-01-15T17:30:15.456000", |
| 513 | + "UserIdentity": { |
| 514 | + "type": "SAMLUser", |
| 515 | + "principalId": "SAML:[email protected]", |
| 516 | + }, |
| 517 | + "Resources": [], |
| 518 | + "ErrorCode": "AccessDenied", |
| 519 | + "ErrorMessage": "Not authorized to perform sts:AssumeRoleWithSAML", |
| 520 | + "CloudTrailEvent": '{"eventVersion": "1.08", "userIdentity": {"type": "SAMLUser", "principalId": "SAML:[email protected]", "userName": "[email protected]"}, "eventTime": "2024-01-15T17:30:15Z", "eventSource": "sts.amazonaws.com", "eventName": "AssumeRoleWithSAML", "awsRegion": "us-east-1", "sourceIPAddress": "203.0.113.78", "userAgent": "custom-saml-client/1.0", "errorCode": "AccessDenied", "errorMessage": "Not authorized to perform sts:AssumeRoleWithSAML", "requestParameters": null, "responseElements": {"assumedRoleUser": {"arn": "arn:aws:sts::123456789012:assumed-role/SAMLRole/[email protected]"}}, "requestID": "saml1234-5678-9abc-def0-123456789abc", "eventID": "saml9876-5432-1098-7654-321098765432", "readOnly": false, "eventType": "AwsApiCall", "apiVersion": "2011-06-15", "managementEvent": true, "recipientAccountId": "123456789012", "eventCategory": "Management"}', |
| 521 | + }, |
| 522 | +] |
| 523 | + |
| 524 | +# Mock CloudTrail AssumeRoleWithWebIdentity events that failed with AccessDenied error |
| 525 | +ACCESS_DENIED_WEB_IDENTITY_ASSUME_ROLE_CLOUDTRAIL_EVENTS = [ |
| 526 | + { |
| 527 | + "EventName": "AssumeRoleWithWebIdentity", |
| 528 | + "EventTime": "2024-01-15T18:45:22.789000", |
| 529 | + "UserIdentity": { |
| 530 | + "type": "WebIdentityUser", |
| 531 | + "principalId": "repo:unauthorizedorg/forbidden-repo:ref:refs/heads/main", |
| 532 | + }, |
| 533 | + "Resources": [], |
| 534 | + "ErrorCode": "AccessDenied", |
| 535 | + "ErrorMessage": "Not authorized to perform sts:AssumeRoleWithWebIdentity", |
| 536 | + "CloudTrailEvent": '{"eventVersion": "1.08", "userIdentity": {"type": "WebIdentityUser", "principalId": "repo:unauthorizedorg/forbidden-repo:ref:refs/heads/main", "identityProvider": "token.actions.githubusercontent.com", "userName": "repo:unauthorizedorg/forbidden-repo:ref:refs/heads/main"}, "eventTime": "2024-01-15T18:45:22Z", "eventSource": "sts.amazonaws.com", "eventName": "AssumeRoleWithWebIdentity", "awsRegion": "us-west-2", "sourceIPAddress": "140.82.112.3", "userAgent": "GitHub-Actions", "errorCode": "AccessDenied", "errorMessage": "Not authorized to perform sts:AssumeRoleWithWebIdentity", "requestParameters": null, "responseElements": {"assumedRoleUser": {"arn": "arn:aws:sts::123456789012:assumed-role/GitHubActionsRole/forbidden-repo"}}, "requestID": "github12-3456-789a-bcde-f0123456789a", "eventID": "github98-7654-321a-bcde-f0987654321a", "readOnly": false, "eventType": "AwsApiCall", "apiVersion": "2011-06-15", "managementEvent": true, "recipientAccountId": "123456789012", "eventCategory": "Management"}', |
| 537 | + }, |
| 538 | +] |
0 commit comments