Как удалить секреты AWS в Секретном менеджере с помощью интерфейса командной строки AWS, которые не были получены за последние 6 месяцев

#amazon-web-services #aws-secrets-manager

Вопрос:

Мы создаем много секретов в AWS secret manager. Мне нужна помощь, чтобы узнать, как я могу удалить все секреты AWS (в разделе «Секретный менеджер»), которые не использовались /не извлекались в течение последних 60 дней оптом. Я попытался найти команду AWS CLI для этого, но ничего не получилось.

Ответ №1:

Звонящий list_secrets() возвращается:

 {
    'SecretList': [
        {
            'ARN': 'string',
            'Name': 'string',
            'Description': 'string',
            'KmsKeyId': 'string',
            'RotationEnabled': True|False,
            'RotationLambdaARN': 'string',
            'RotationRules': {
                'AutomaticallyAfterDays': 123
            },
            'LastRotatedDate': datetime(2015, 1, 1),
            'LastChangedDate': datetime(2015, 1, 1),
            'LastAccessedDate': datetime(2015, 1, 1),
            'DeletedDate': datetime(2015, 1, 1),
            ...
        },
    ],
    'NextToken': 'string'
}
 

LastAccessedDate Похоже, это будет полезно для вас. Вы можете использовать его с интерфейсом командной строки AWS следующим образом:

 aws secretsmanager list-secrets --query 'SecretList[?LastAccessedDate<`2021-06-01`].ARN'
 

Если вы хорошо разбираетесь в написании сценариев оболочки, вы можете написать сценарий, который затем удалит возвращаемые секреты. В противном случае я бы рекомендовал делать это на языке программирования (например, Python), так как это может быть немного проще, чем сценарий оболочки.