STS AssumeRole(角色扮演)常见错误及原因如下:
序号 | 错误 | 原因 |
1 | ErrorCode: NoPermission ErrorMessage: Roles may not be assumed by root accounts. | 使用主用户的密钥调用AssumeRole,请使用子用户的密钥。 |
2 | ErrorCode: MissingSecurityToken ErrorMessage: SecurityToken is mandatory for this action. | 使用临时用户的密钥调用AssumeRole,请使用子用户的密钥。 |
3 | Error code: InvalidAccessKeyId.NotFound Error message: Specified access key is not found | AccessKeyId无效,请检查是否写错,特别是前后不能有空格。 |
4 | Error code: InvalidAccessKeyId.Inactive Error message: Specified access key is disabled. | 使用的子用户的密钥,已经被禁止,请启用密钥或更换密钥。 密钥是否被禁止,请通过控制台的 [backcolor=transparent]访问控制 > [backcolor=transparent]用户管理 > [backcolor=transparent]管理 > [backcolor=transparent]用户详情 > [backcolor=transparent]用户AccessKey 确认,并开启。 |
5 | ErrorCode: InvalidParameter.PolicyGrammar ErrorMessage: The parameter Policy has not passed grammar check. | 角色扮演时指定的授权策略无效。AssumeRole时可以指定授权(Policy),也可以不指定。如果指定授权策略,则临时用户的权限是指定的授权策略和角色权限的交集;如果不指定授权策略,临时用户的权限是角色的权限。报该错误时,请检查指定的授权策略Policy。不推荐临时用户扮演角色时指定授权策略。如果的确需要使用授权策略,强烈建使用 RAM Policy Editor 生成授权策略。 |
6 | ErrorCode: InvalidParameter.RoleSessionNameErrorMessage: The parameter RoleSessionName is wrongly formed. | 角色扮演时指定RoleSessionName无效。此参数用来区分不同的Token,以标明谁在使用此Token,便于审计。格式:^[a-zA-Z0-9.@-_]+$,2-32个字符,了解更多请参看 扮演角色操作接口。如命名a,1,abc\*abc,忍者神龟等都是非法的。 |
7 | ErrorCode: InvalidParameter.DurationSeconds Error message: The Min/Max value of DurationSeconds is 15min/1hr. | 角色扮演时指定的过期时间无效,即AssumeRoleRequest.setDurationSeconds参数无效。角色扮演时可以指定过期时间,单位为秒,有效时间是900 ~ 3600,如assumeRoleRequest.setDurationSeconds(60L * 20),20分钟内有效。 |
提示:
- Java角色扮演的示例,请参看 GitHub。
- 其它的原因的角色扮演示例,请参考 STS SDK使用手册。
- 您想更多了解阿里云访问控制(RAM),请参看 阿里云访问控制初探 。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。