2017-07-18 70 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))) 

讓我知道這是否正常工作。