この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
こんにちは、臼田です。
みなさん、GuardDutyで脅威検知してますか?(挨拶
今回はちょっとしたAPIの更新があったのでこちらの紹介です。
GetRemainingFreeTrialDays API
先日GuardDutyのAPIにいくつかアップデートが来ていました。
そのうちの1つがGetRemainingFreeTrialDays
です。説明文は以下のようにあります。
Provides the number of days left for each data source used in the free trial period.
翻訳: 無料試用期間中に使用された各データソースの残り日数を提供します。
非常に単純なAPIですね。
早速試してみましょう。
やってみた
まず、私の手元にあるとうに無料トライアルが終了したアカウントで実行してみます。
aws guardduty get-remaining-free-trial-days --detector-id "ffffffffffffffffffffffffffffffff" --account-ids 999999999999
{
"Accounts": [
{
"AccountId": "999999999999",
"DataSources": {
"CloudTrail": {
"FreeTrialDaysRemaining": 0
},
"DnsLogs": {
"FreeTrialDaysRemaining": 0
},
"FlowLogs": {
"FreeTrialDaysRemaining": 0
},
"S3Logs": {
"FreeTrialDaysRemaining": 0
},
"Kubernetes": {
"AuditLogs": {
"FreeTrialDaysRemaining": 0
}
}
}
}
],
"UnprocessedAccounts": []
}
はい、一通り0で出力されることが確認できました。残り日数の数なので、無料トライアルが残っていないことが確認できます。
これだけだと物足りないので、まだGuardDutyを利用していない環境で、GuardDutyを有効化してから試してみました。
aws guardduty get-remaining-free-trial-days --detector-id "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" --account-ids 888888888888
{
"Accounts": [
{
"AccountId": "888888888888",
"DataSources": {
"CloudTrail": {
"FreeTrialDaysRemaining": 26
},
"DnsLogs": {
"FreeTrialDaysRemaining": 26
},
"FlowLogs": {
"FreeTrialDaysRemaining": 26
},
"S3Logs": {
"FreeTrialDaysRemaining": 30
},
"Kubernetes": {
"AuditLogs": {
"FreeTrialDaysRemaining": 26
}
}
}
}
],
"UnprocessedAccounts": []
}
残りの日数が各項目ごとに表示されました。
マネジメントコンソールでも同様の表記であることが確認できました。
おまけ - 対応しているbotocoreのバージョン
GetRemainingFreeTrialDays
に対応しているbotocoreバージョンは1.27.10です。awscli v1では1.25.10、v2では2.7.9で対応しています。
手元の動作を確認する際にはバージョンを確認して利用してください。
まとめ
GuardDutyの無料トライアルの状況をAPIでも確認できるようになりました。
こういう細かいAPIも実装されるとありがたいですね。ぜひ使ってみてください。