- Newest
- Most votes
- Most comments
Short answer: The Config.1 control got stricter. It now checks that your recorder uses the actual service-linked role (SLR), and this check didn't exist when you set things up. Your config didn't change — the benchmark did.
What's likely happening with the role:
There's a subtle but important distinction. The real service-linked role has this ARN path:
arn:aws:iam::<account-id>:role/aws-service-role/config.amazonaws.com/AWSServiceRoleForConfig
The StackSets from a few years ago often created a custom IAM role via CloudFormation that looks identical (same name, same policies), but lives at a different ARN path — something like:
arn:aws:iam::<account-id>:role/AWSServiceRoleForConfig
Notice the missing /aws-service-role/config.amazonaws.com/ path. That's what the control is flagging. They look the same in the console, which is why you think you're using the SLR — but technically you're not.
To confirm, run this in one of the failing accounts:
bash aws configservice describe-configuration-recorders --region <failing-region> --query 'ConfigurationRecorders[].roleARN'
If /aws-service-role/config.amazonaws.com/ is missing from the path, that's your answer.
Why only some accounts/regions? The StackSet may have deployed slightly differently across your org, or some accounts may have had the SLR created separately later (e.g., if you ever used the Config console in that account, it would have created the real SLR).
Fixing it at scale (50+ accounts):
The cleanest fix is to update your StackSet to point the recorder at the real SLR. First ensure it exists in each account:
bash aws iam create-service-linked-role --aws-service-name config.amazonaws.com
Then update the recorder:
bash
aws configservice put-configuration-recorder
--configuration-recorder name=default,roleARN=arn:aws:iam::<ACCOUNT_ID>:role/aws-service-role/config.amazonaws.com/AWSServiceRoleForConfig
If you need a quick fix right now, set the Config.1 parameter includeConfigServiceLinkedRoleCheck to false in Security Hub. The control will still validate that Config is enabled and recording — it just won't care about the role. That's perfectly reasonable if your current role has the right permissions.
Hope this clears things up. You did everything right when you set it up — AWS just moved the goalposts.
Relevant content
asked 2 years ago
- AWS OFFICIALUpdated 2 years ago
