Security Considerations — recovery-controller-setup
Guidance for securing ARC routing controls, safety rules, and zonal shift / zonal autoshift.
- Least privilege: scope the IAM principals that operate routing controls and zonal shift to the specific actions they need — never service-level wildcards. For zonal shift / zonal autoshift:
arc-zonal-shift:StartZonalShift,arc-zonal-shift:GetManagedResource,arc-zonal-shift:CreatePracticeRunConfiguration, andarc-zonal-shift:UpdateZonalAutoshiftConfiguration. For data-plane failover:route53-recovery-cluster:GetRoutingControlState,route53-recovery-cluster:UpdateRoutingControlState,route53-recovery-cluster:UpdateRoutingControlStates, androute53-recovery-cluster:ListRoutingControls. Scope each statement to the specific routing-control / resource ARNs involved. - Condition keys: further restrict access with IAM condition keys — e.g. scope
route53-recovery-cluster:UpdateRoutingControlStateto specific routing-control ARNs via the statementResource, and useaws:ResourceTagto limit which resources a principal may shift. For cross-service access (such as Route53 health-check association), constrain withaws:SourceAccount/aws:SourceArnto avoid the confused-deputy problem. - Safety rules are a control: never create routing controls without safety rules — they prevent an operator from accidentally turning off all Regions at once. Consider a gating rule requiring approval for production failover.
- Restrict failover access: limit which principals can change routing-control state, as a state change can shift production traffic between Regions.
- Failover notifications: SNS topics and CloudWatch Logs groups carrying routing-control state-change or zonal-shift notifications SHOULD be KMS-encrypted and restricted to authorized personnel, since failover events reveal production resilience posture. Validate that SNS subscription endpoints (email, HTTP/S, Lambda ARNs) belong to authorized recipients before subscribing, and use an SNS topic access policy to restrict who may subscribe. (Notification/alarm setup itself is owned by the AWS Observability companion skill.)
- Further reading: see Security in Amazon Application Recovery Controller and the AWS Well-Architected Reliability Pillar for guidance on securing resilience infrastructure.