aws-ds-can-reset-user-password-simple-ad
match (effective permission)
{
"action": "ds:ResetUserPassword",
"resource_type": "AWS::DirectoryService::SimpleAD"
}
emit
| source type | Identity |
|---|---|
| target type | HumanIdentity |
| source | <principal> |
| target | <DirectoryUser node(s) within the directory> |
| permissions | ds:ResetUserPassword |
Narrative
{principal.name} holds effective ds:ResetUserPassword on Simple AD directory {directory.name} and can reset the password of any user in that directory, taking over their session.
Raw rule rules/explicit/aws-ds.yaml
id: aws-ds-can-reset-user-password-simple-ad
emits: CanResetCredential
applies_to:
- aws
match_effective_permission:
action: ds:ResetUserPassword
resource_type: AWS::DirectoryService::SimpleAD
emit:
source_type: Identity
target_type: HumanIdentity
source: <principal>
target: <DirectoryUser node(s) within the directory>
api_source: iam:SimulatePrincipalPolicy | policy evaluation
permissions:
- ds:ResetUserPassword
evidence_field: effective ds:ResetUserPassword on Simple AD ARN
narrative: '{principal.name} holds effective ds:ResetUserPassword on Simple AD directory {directory.name}
and can reset the password of any user in that directory, taking over their session.'
note: Simple AD is AWS's lightweight directory without forest trusts or SSO integration. Blast radius
is reduced vs. Managed AD (no forest trusts, no multi-domain escalation), but still grants user-credential
access within the Simple AD scope. Emit per user if enumeration is available; otherwise blanket to
the directory node. No CanEscalateTo to domain-admin roles (Simple AD does not use standard AD group
semantics).