GCS-BOOT-01: Bootstrap-state bucket hardening¶
| Property | Value |
|---|---|
| Severity | high |
| Platform | GCP Confidential Space (AMD SEV-SNP) |
| Lifecycle stage | deploy |
| Mode | Passive: read-only cloud API calls. |
What a failure enables¶
- Workload keys released to tampered code
What it checks¶
It passes when:
- Bootstrap bucket enforces public-access prevention, scoped writes, and versioning.
How to fix¶
- Set publicAccessPrevention=enforced, enable uniformBucketLevelAccess, scope object-write to the workload identity only, enable object versioning, and add a retention policy (WORM) so bootstrap state cannot be rolled back.
- Enforce publicAccessPrevention, enable uniformBucketLevelAccess, scope object-write to the workload identity, enable versioning, and add a retention policy.
After the fix, scan again: the check should report PASS.
When it is not assessed¶
SKIP:
- No --gcs-bucket specified; skipping check.
ERROR:
- Could not read bucket metadata/IAM: …
Scan inputs¶
The untrust scan options this check reads:
| Option | Description |
|---|---|
--gcs-bucket |
GCS bucket holding bootstrap state. |
Permissions¶
The cloud API calls this check makes, read from the scanner's source:
| Cloud | API call | Permission | Access |
|---|---|---|---|
| Google Cloud | storage.buckets.get |
storage.buckets.get |
read |
| Google Cloud | storage.buckets.getIamPolicy |
storage.buckets.getIamPolicy |
read |
See Required permissions for every check on this platform.
Generated from untrust 1.3.0 (commit 7ef462d9a0c3).