Secrets Manager secret's resource policy is shared beyond this account
- Severity
- Medium
- Service
- Secrets Manager
- Check ID
- SECRETSMANAGER_SECRET_CROSS_ACCOUNT
What this check finds
The secret's resource policy names a principal in another AWS account, or grants Principal "*" narrowed only to an organisation (aws:PrincipalOrgID, aws:PrincipalOrgPaths) or to other accounts (aws:PrincipalAccount, aws:SourceAccount). If the secret's KMS key also lets them decrypt, those accounts can read the value, and their own administrators decide who there can.
Passing looks like: Secret resource policies are not shared beyond this account.
How to fix it
Confirm each account or organisation should have this access. If not, remove it from the resource policy: aws secretsmanager put-resource-policy --secret-id SECRET_NAME --resource-policy file://policy.json, or delete the policy with aws secretsmanager delete-resource-policy. If it should, grant only the actions it needs and name its role, not the account root or "*".
AWS console
Secrets Manager → Secrets → select secret → Resource permissions.
Compliance controls it is evidence for
A failing result counts against these controls in KloudLytics; a passing one is evidence towards them. How compliance mapping works
| Framework | Controls |
|---|---|
| HIPAA Security Rule |
|
| NIST SP 800-53 Rev5 (Moderate) |
|
| NIST Cybersecurity Framework 2.0 |
|
| ISO/IEC 27001:2022 Annex A |
|
Checked on every scan
KloudLytics runs this check each time it scans a connected AWS account, through a read-only role, and lists every affected resource with its region. On Pro and Business a fix is written for the specific resource rather than the general case above. The exact access it needs