Optional ReadonlyadditionalAdditional principals that can assume this role beyond the primary. Each can specify additional trusted actions (e.g. sts:SetSourceIdentity).
Use cases: Multi-service trust; Cross-account sharing; Complex trust relationships
AWS: IAM role trust policy additional principals
Validation: Optional; array of valid TrustedPrincipalProps
Optional ReadonlyassumeIAM conditions for the assume role trust policy (e.g. StringEquals on aws:PrincipalArn). Provides context-aware access restrictions.
Use cases: Conditional role assumption; IP-based restrictions; Principal ARN constraints
AWS: IAM trust policy conditions
Validation: Optional; must be valid IAM condition key-value pairs
Optional ReadonlyawsAWS managed policy names to attach (e.g. "service-role/AWSGlueServiceRole").
Use cases: Standardized AWS permissions; Common service role policies
AWS: AWS managed policy attachments on IAM role
Validation: Optional; array of valid AWS managed policy names
Optional ReadonlybaseBase persona determining the default set of MDAA managed policies attached to the role. Valid values: data-admin, data-engineer, data-scientist.
Use cases: Standardized permission sets; Role template application
AWS: MDAA persona-based managed policy attachments
Validation: Optional; must be valid BasePersona enum value
Optional ReadonlycustomerExisting customer managed policy names to attach.
Use cases: Organization-specific permissions; Pre-existing policy reuse
AWS: Customer managed policy attachments on IAM role
Validation: Optional; array of valid customer managed policy names
Optional ReadonlygeneratedNames of policies from the generatePolicies config section to attach.
Use cases: Dynamic policy attachment; Config-driven permission management
AWS: Generated managed policy attachments on IAM role
Validation: Optional; must reference valid policy names from generatePolicies config
Optional ReadonlysuppressionsSuppressions if required by the role configuration.
ReadonlytrustedPrimary trusted principal for the role's trust policy. Supports formats: "this_account", "service:svc.amazonaws.com", "federation:name", or ARN.
Use cases: Service trust; Cross-account trust; Federation-based assume role
AWS: IAM role trust policy primary principal
Validation: Required; must be valid principal identifier
Optional ReadonlyverbatimWhen true, uses the exact role name without MDAA naming prefixes.
Use cases: Legacy integration; Exact role name requirements
AWS: IAM role naming control
Validation: Optional; boolean
IAM role generation configuration with persona-based permissions, trust policies, and managed policy attachments. Supports multiple trust principals, conditional access, and both AWS and customer managed policies.
Use cases: Automated role creation; Persona-based permissions; Multi-principal trust; Conditional access
AWS: IAM role with configurable trust policy, managed policy attachments, and CDK Nag suppressions
Validation: trustedPrincipal required; all other properties optional