経緯
社内で使用しているAWSのIAMユーザーに対して、使用者の契約期間に紐づいた有効期限を設定する必要がでてきたため、IAMポリシーにて実装したメモ。
前提
・社内ADを使用できないため、AWS内での実装が必要。
・使用人数が多くないこともあり、簡単にあまり労力を費やさずに実装したい。
どう対応したか
新規でIAMポリシーを作成しIAMグループに紐づけて対応。
既に複数のIAMポリシーを適用しているため、指定した日時を超えると与えている権限もすべて拒否されるように実装。
(IAMポリシーはAllowよりもDenyが優先されるため。)
実際のJSON
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Action": "*",
"Resource": "*",
"Condition": {
"DateGreaterThan": {"aws:CurrentTime": "2022-09-30T15:00:00Z"}
}
}
]
}
日時の部分はUTCなので、-9時間してあげる必要があります。
このポリシーであれば、2022年10月1日0時からは使用できません。
参考にしたサイト
IAMユーザに有効期限を設定することはできますか?
→安定のクラメゾさんの記事。
AWS: 日付と時刻に基づいてアクセスを許可します
→AWS公式ドキュメント。
独り言
社内ADを使わせてほしい。。
運用を考えるとベストな手段ではなく、あくまで応急処置的な対応かと…