2017-07-18 49 views
0

我想通过使用Python 3.6和Boto 3的aws lambda函数来获取用户访问密钥年龄的方法。我的问题是,我似乎无法找到正确的api呼叫使用,如果有任何为此目的。我可以找到的两个最接近的是list_access_keys,我可以使用它来查找密钥的创建日期。和get_access_key_last_used它可以给我一天的关键是上次使用。但是,无论是其他用户还是其他用户,都可以简单地在AWS IAM控制台用户视图中显示访问密钥年龄。有一种方法可以简单地获得Access密钥的年龄?获取访问密钥的年龄AWS Boto3

回答

0

没有直接的办法。您可以使用下面的代码来实现你想什么:

import boto3, json, time, datetime, sys 

client = boto3.client('iam') 
username = "<YOUR-USERNAME>" 
res = client.list_access_keys(UserName=username) 
accesskeydate = res['AccessKeyMetadata'][0]['CreateDate'] ### Use for loop if you are going to run this on production. I just wrote it real quick 
accesskeydate = accesskeydate.strftime("%Y-%m-%d %H:%M:%S") 
currentdate = time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime()) 

accesskeyd = time.mktime(datetime.datetime.strptime(accesskeydate, "%Y-%m-%d %H:%M:%S").timetuple()) 
currentd = time.mktime(datetime.datetime.strptime(currentdate, "%Y-%m-%d %H:%M:%S").timetuple()) 

active_days = (currentd - accesskeyd)/60/60/24 ### We get the data in seconds. converting it to days 
print (int(round(active_days))) 

让我知道这是否正常工作。

相关问题