Skip to content

Nodes can read only the micro-VM assets in the snapshot bucket - #3038

Closed
ILLUM1N0X wants to merge 2 commits into
agent-substrate:mainfrom
ILLUM1N0X:microvm-asset-prefix
Closed

ILLUM1N0X wants to merge 2 commits into
agent-substrate:mainfrom
ILLUM1N0X:microvm-asset-prefix

Conversation

@ILLUM1N0X

@ILLUM1N0X ILLUM1N0X commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

Draft for discussion. This is one of two alternatives for removing atelet's access to the snapshot bucket, the other is #3037. Not tested on a cluster yet.

Nodes read micro-VM sandbox assets with their own identity, and the assets live in the snapshot bucket, so atelet still holds object admin on it. Here the assets stay where they are, and atelet gets object viewer limited to kata-assets/ by an IAM condition instead. setup-gcp also stops granting atelet object admin on the whole project, which covered the snapshot bucket too.

Existing installs keep the old grants, since setup-gcp only adds bindings. Remove them by hand:

ATELET="principal://iam.googleapis.com/projects/${PROJECT_NUMBER}/locations/global/workloadIdentityPools/${PROJECT_ID}.svc.id.goog/subject/ns/ate-system/sa/atelet"
gcloud projects remove-iam-policy-binding "${PROJECT_ID}" --member="${ATELET}" --role=roles/storage.objectAdmin --condition=None
gcloud storage buckets remove-iam-policy-binding "gs://${BUCKET_NAME}" --member="${ATELET}" --role=roles/storage.objectAdmin
gcloud storage buckets remove-iam-policy-binding "gs://${BUCKET_NAME}" --member="${ATELET}" --role=roles/storage.bucketViewer

Related to #777

AI use: AI-assisted, I reviewed it.

  • Tests pass
  • Docs updated

…ucket

atelet's object-store plugin reads micro-VM sandbox assets under kata-assets/
with its own identity, and snapshot transfers on GCS run on per-actor tokens.
setup-gcp now grants atelet object viewer on that prefix through an IAM
condition, instead of object admin on the whole bucket. The bucket policy is
read and written at version 3, which conditions need.
The project-wide grant covered the snapshot bucket too, so atelet could
still read and write every snapshot. atelet keeps only Artifact Registry
reader at project level.
@ILLUM1N0X ILLUM1N0X closed this Oct 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant