You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MinIO中AssumeRoleWithCustomToken返回的凭证无法使用问题

问题原因及解决方法

核心原因分析

  • 身份插件响应缺少必要权限声明:MinIO身份插件的响应必须包含policy字段(可以是预定义策略名或JSON格式的自定义策略),仅返回user和maxValiditySeconds不满足MinIO签发有效临时凭证的要求。缺少权限策略时,MinIO无法正确生成专属SessionToken,会直接复用调用接口时传入的初始JWT,导致mc工具签名请求时计算的签名与服务端预期不匹配。
  • 临时凭证生成逻辑异常:当插件返回信息不完整,MinIO无法完成正常的临时凭证签发流程,进而导致SessionToken未被正确生成,而是回传初始JWT。这种情况下,临时凭证的SecretAccessKey与SessionToken不匹配,触发签名验证失败错误。

解决方法

修改身份插件的响应JSON,添加policy字段:

  • 使用MinIO预定义策略(如readwrite、readonly)的示例:
{
   "user": "foobar",
   "maxValiditySeconds": 3600,
   "policy": "readwrite"
}
  • 使用自定义权限策略的示例:
{
   "user": "foobar",
   "maxValiditySeconds": 3600,
   "policy": {
      "Version": "2012-10-17",
      "Statement": [
         {
            "Effect": "Allow",
            "Action": ["s3:ListBucket"],
            "Resource": ["arn:aws:s3:::your-bucket-name"]
         }
      ]
   }
}

重新调用AssumeRoleWithCustomToken接口获取凭证后,再执行mc ls myminio即可正常操作。

内容的提问来源于stack exchange,提问作者Peter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 15:42:05