shell脚本计算AWS IAM访问密钥的使用时间



查找iam访问密钥的年龄和用户最后一次登录的Shell脚本

您将不得不使用日期操作来完成相同的操作。将CreatedDate保存在一个变量中。然后,您可以使用下面的代码来获取经过的天数:

#!/bin/bash
datediff() {
d1=$(date -d "$1" +%s)
d2=$(date -d "$2" +%s)
echo $(( (d1 - d2) / 86400 )) days
}
datediff $(date --iso-8601=seconds) $createdDate

使用GNU awk:

awk -F" '{ gsub("[-:TZ]"," ",$4);print (((strftime("%s")-mktime($4))/60)/60)/24 }' <<< '"CreateDate": "2021-02-01T12:02:36Z"'

使用gsub代替-,:,T,Z作为空格。使用mktime创建已转换日期的纪元版本。使用strftime计算epoch格式的差值,然后除以60得到分钟,再除以60得到小时,再除以24得到天。

  1. 通过jq查询从json中提取原始日期
  2. 使用date计算差异
#!/bin/bash
user=$1
PASS_LAST_USED="$(aws iam get-user --user-name $user | jq -r '.User.PasswordLastUsed')" #| grep -i PasswordLastUsed
CREATE_DATE="$(aws iam list-access-keys --user-name $user | jq -r '.AccessKeyMetadata[].CreateDate')" #| grep -i createdate

echo "$(( (  $(gdate "+%s") - $(gdate -d "$PASS_LAST_USED" "+%s") )/(60*60*24) )) days"
echo "$(( (  $(gdate "+%s") - $(gdate -d "$CREATE_DATE" "+%s") )/(60*60*24) )) days"

相关内容

  • 没有找到相关文章

最新更新