Closed loverustfs closed 2 weeks ago
The s3s only does authentication of the interface's access_key and secret_key (given at service startup).
We thought:
s3s只做了接口的access_key和secret_key的验证(服务启动时给定的)。
我们想:
初步判断是可以做,通过添加一个 S3Policy
trait,在适当的地方调用其提供的认证方法检测请求。
这个可以由用户实现,也可以集成到 s3s,集成可能更好。s3s 仅负责传入合适的上下文信息,调用认证方法,关于 policy 的后台管理不属于 s3s 的范围。
S3Policy
作为 S3Service 的可选组件,仅当传入 trait 后启用,保持兼容性。
目前还需要调查 minio 的 policy 实现方法,以及 s3s 下游用户是否已有相关实现。如果你们有时间,也可一同调查,加速这个 feature 的落地。
S3Policy
也可合并到 S3Auth
中,减少冗余概念。
https://crates.io/crates/aws-iam 这个 crate 已有两年未更新,若功能不足以实现 demo,后续有可能需要 fork 或与作者沟通。
IAM policies are used in each object store for permission control:
There is an existing Rust library for IAM policies: https://crates.io/crates/aws-iam .
Is it possible to integrate IAM policies?
Thank you very much.