agent-substrate / agent-substrate/substrate

Per-snapshot authorization

未關閉
#777 0 則留言 2 個 reaction 已指派 0 人 在 GitHub 檢視
area/security area/storage kind/feature
主要語言
Go
星號
1.8k
分支
316
平均合併
2 天 43 分鐘
30 天內合併 PR
287

描述

We don't have very granular authz for which snapshots atelet is allowed to read. Ideally, an atelet can only read snapshots for Actors that are actively scheduled to it. Several ideas have been discussed, such as GCP IAM conditions or Credential Access Boundaries. However, these are GCP-specific features, and it would be better to do something less cloud specific. GCS, S3, and Azure Storage all support variants of signed URLs, for example.

Potential option:
- On Create (for reading golden snapshot), Suspend, and Resume: ateapi requests a signed URL from the appropriate storage provider and passes it to atelet.
- If this is a performance bottleneck, consider caching pre-signed URLs in ateapi memory to speed it up (we probably can't cache ALL of them, TBD).

This can help mitigate the following threats in the [threat model](https://github.com/agent-substrate/substrate/blob/main/docs/threat-model.md):
- "Attacker who can create ActorTemplates can read or write any storage buckets atelet has access to."
- "A compromised node accesses all snapshots for the cluster."

貢獻指南

開啟貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。