AWS 创建具有生命周期的用户/AKSK

用户需要创建一个具有180天有效期的账号, 以前没做过类似的操作, 问遍了身边的同事等, 没有遇见过这种情况, 最后通过提交AWS工单解决了, 记录一下

问题描述

需要一个具有180天有效期的AKSK(不需要提供Console权限)

解决过程

理解误差

  1. IAM User并没有生命周期的概念, 并且在控制台显示的活动密钥有效期属于翻译有误, 实际应为密钥已使用时长

    IAM User
  2. IAM Policy是有有效期的概念的, 不过隐藏的比较深, 不容易发现

解决结论

Amazon:允许基于日期和时间进行访问 - Amazon Identity and Access Management

通过可视化编辑器添加

指定请求条件
添加条件
条件的键值
可以设置日期的早晚区域
添加后结果

通过JSON添加

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "*",
"Resource": "*",
"Condition": {
"DateGreaterThan": {
"aws:CurrentTime": "2022-07-18T00:00:00Z"
},
"DateLessThan": {
"aws:CurrentTime": "2022-07-18T08:50:59Z"
}
}
}
]
}

补充内容

  1. "aws:CurrentTime"为 UTC 时间

  2. 不支持限制Console!

    不支持限制Console!

    不支持限制Console!

    以上方式只能限制 AWS CLI, API call,无法限制 IAM user console 登录之后执行操作

    因此您在创建 IAM user 时候,可以根据实际需求决定是否选择"Password - AWS Management Console access"

    如果需要限定Console登录需要额外的条件, 具体后续待补充