скрипт Python для получения списка пользователей IAM, которые не входили в систему в течение 60 дней - PullRequest
0 голосов
/ 27 сентября 2018

Я хочу запустить скрипт, который будет извлекать информацию о пользователях IAM, которые не входили в консоль AWS в течение 60 дней, сравнивая текущую дату.я пробовал этот скрипт и получаю ошибку как

"TypeError: аргумент strptime () 1 должен быть str, а не datetime.datetime".

Пожалуйста, помогите мне в устранении этой ошибки и проверьте мой код.

import boto3
import datetime
resource = boto3.resource('iam')
client = boto3.client("iam")
for user in resource.users.all():
      if user.password_last_used is not None:
            last_login = datetime.datetime.strptime(user.password_last_used, '%Y-%m-%d %H:%M:%S')
            current_time = datetime.datetime.now()
            print("Username: ",[user.user_name], current_date-last_login)

1 Ответ

0 голосов
/ 27 сентября 2018

Вам не нужно использовать strptime для этого.Попробуйте это:

import boto3
import datetime
from dateutil.tz import tzutc

resource = boto3.resource('iam')
client = boto3.client("iam")

today = datetime.datetime.now()

for user in resource.users.all():
    if user.password_last_used is not None:
        delta = (today - user.password_last_used.replace(tzinfo=None)).days
        if delta >= 60:
            print("Username: ",[user.user_name], delta)

AWS API возвращает время последнего использования паролей в часовом поясе.Команда replace удаляет его, и тогда происходит волшебство.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...