SECRETS-01: Secrets Manager secret security¶
| Property | Value |
|---|---|
| Severity | high |
| Platform | AWS Nitro Enclaves |
| Lifecycle stage | deploy |
| Mode | Passive: read-only cloud API calls. |
What it checks¶
It passes when:
- Secret uses a customer-managed CMK, rotation, a scoped resource policy, and is audited.
How to fix¶
- Encrypt the secret with a customer-managed KMS CMK gated on enclave attestation (KMS-01); enable automatic rotation; attach a resource policy scoping GetSecretValue to the enclave role with no wildcard principal; and enable CloudTrail data events for the secret.
After the fix, scan again: the check should report PASS.
When it is not assessed¶
SKIP:
- No secret ARN specified; skipping check.
ERROR:
- Could not describe secret: …
Scan inputs¶
The untrust scan options this check reads:
| Option | Description |
|---|---|
--region |
AWS region. |
--secret-arn |
Secrets Manager secret ARN the enclave loads at boot. |
Permissions¶
The cloud API calls this check makes, read from the scanner's source:
| Cloud | API call | Permission | Access |
|---|---|---|---|
| AWS | cloudtrail.describe_trails |
cloudtrail:DescribeTrails |
read |
| AWS | cloudtrail.get_event_selectors |
cloudtrail:GetEventSelectors |
read |
| AWS | cloudtrail.get_trail_status |
cloudtrail:GetTrailStatus |
read |
| AWS | kms.describe_key |
kms:DescribeKey |
read |
| AWS | secretsmanager.describe_secret |
secretsmanager:DescribeSecret |
read |
| AWS | secretsmanager.get_resource_policy |
secretsmanager:GetResourcePolicy |
read |
Every AWS scan also calls sts:GetCallerIdentity. See Required permissions for a complete policy.
Generated from untrust 1.3.0 (commit 7ef462d9a0c3).