跳转到主要内容

mcli 20261112:严格策略校验与访问密钥内联策略重置

mcli 20261112 升级至 silo-pkg 3.16.1 与 Go 1.27.4,对齐各访问密钥编辑命令的显式空策略重置行为,并刷新基础依赖。

mcli 20261112 已正式发布。 标签:RELEASE.2026-11-12T00-00-00Z;软件包版本:20261112000000.0.0;源码提交:a37a9f054fba。本说明记录自 mcli 20261109 以来的变更。

这是独立的 mcli 维护版本。Console 2.7.1 已直接采用该正式提交(v0.0.0-20261111180825-a37a9f054fba);已发布的 SILO Server 20261109 在下一版 Server 正式发布前仍保留内置 mcli 20261109。正式支持目标为 PGSTY SILO,对上游 MinIO 及其他 S3 兼容服务保持尽最大努力兼容。

策略校验与内联策略重置

  • 显式空内联策略重置(pgsty/mc#78): admin accesskey edit --policy、idp ldap accesskey edit --policy 与 idp openid accesskey edit --policy 现均支持传入显式空策略文档({} 或 {"Statement":[]}),与 admin user svcacct edit --policy 和 admin user svcacct set 对齐。配合包含 20261109 之后服务账号策略修复(SN-2026-021)的 SILO Server 时,显式空文档会清除内联会话策略并恢复继承父账号权限,省略 --policy 则保留既有内联策略;单独替换客户端二进制不会改变旧版 Server 的服务端行为。
  • 严格策略 JSON 校验: 升级至 silo-pkg v3.16.1,客户端侧 IAM 与桶策略解析统一拒绝未知 JSON 字段、尾部多余载荷、非对象输入、空 Principal: {} 及未实现的 NotPrincipal,不再静默丢弃。创建账号与写入命名策略继续拒绝空策略文档。

工具链、依赖与制品交付

  • 源码构建、CI 与开发构建镜像统一要求 Go 1.27.4。
  • 升级 grpc-gateway/v2 至 v2.33.0、google.golang.org/grpc 至 v1.85.0、go-humanize 至 v1.1.0、klauspost/compress 至 v1.20.4、xo/terminfo 至 v1.2.1、GoReleaser 至 v2.20.1,刷新固定基础容器镜像摘要,并保留经验证的 minio-go/v7(320af050c445)、gjson、go-systemd v22.6.0、终端宽度与 tablewriter 选型。
  • GitHub Release 包含 19 个不可变制品(Windows ZIP、Linux/macOS tar.gz、经维护者 GPG 签名的 x86_64 与 aarch64 RPM、DEB/APK 软件包、SHA-256 校验和及 Sigstore 构建证明),同时发布多架构容器镜像 docker.io/pgsty/mc:RELEASE.2026-11-12T00-00-00Z 与 docker.io/pgsty/mc:latest(sha256:b532278b7a3747dbab6fe45eebb40a653efa704e6758e24e9d9ec54fc96c1800)。

验证

流水线记录:Go CI、Crosscompile、VulnCheck、Test Release Pipeline、Release 与 Docker Hub 发布。

GitHub Release · 兼容性注记 · 相对 20261109 的变更 · 下载