はじめに
ITスクールのハッカソンに参加した際、個人のAWSマネジメントコンソールにポリシーを設定せずにアクセスした結果、他の参加者の個人情報が無防備に閲覧できる事態が発生しました。
この経験から、AWSのIAM(Identity and Access Management)の重要性を痛感し、必要な権限のみを許可するIAMポリシーの作成プロセスを振り返ります。
本記事は、その実体験を基にした知識の整理と、今後の自分への備忘録になります。
知識整理
以下に、必要な知識を簡単に整理します。
IAMとは
IAM(Identity and Access Management)は、AWSのサービスで、ユーザーやグループのアクセス権限を管理するための機能です。
IAMを使用することで、誰がAWSリソースにアクセスできるか、またそのユーザーがどの操作を行えるかを細かく制御することができます。
IAMロールとは
IAMロールは、特定のアクセス権限を持つ「役割」です。IAMユーザーに直接付与するのではなく、他のAWSサービスやアプリケーションから一時的にその権限を取得するために使用されます。
引用画像:https://aws.amazon.com/jp/builders-flash/202303/learn-iam-role/
これにより、リソースにアクセスする際のセキュリティを強化できます。
IAMポリシーとは
IAMポリシーは、JSON形式で書かれたドキュメントで、特定のアクションを許可または拒否するためのルールを定義します。
引用画像:https://iselegant.hatenablog.com/entry/2020/05/24/215808
ポリシーはユーザー、グループ、ロールにアタッチして使用され、AWSリソースへのアクセス制御を実現します。
アカウント間のスイッチ設定とは
アカウント間のスイッチ設定は、異なるAWSアカウント間でのアクセスを簡単にするための機能です。
引用画像:https://baresupport.jp/blog/2022/05/12/113/
この設定を行うことで、あるアカウントのIAMユーザーが、別のアカウントのリソースにアクセスできるようになります。特に複数のアカウントを管理している場合に便利です。
IAMポリシー作成及び適用
IAMポリシーを作成し、適用する際は、権限の範囲を明確に定義することが重要です。
ここでは、具体的な作成手順と適用の流れについて説明します。
ステップ1:IAMポリシーの作成
ステップ2:適用の流れ
適切にポリシーを設定することで、最小限の権限でセキュリティを保ちながら、必要な操作が実行できるようになります。
ステップ1:IAMポリシーの作成
AWSマネジメントコンソールにログイン後、IAMサービスへ移動し、「ポリシー」のセクションを選択します。
「ポリシーの作成」ボタンをクリックし、JSON形式で新しいポリシーを記述します。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Action": [
"sts:GetCallerIdentity",
"iam:ListAccountAliases"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "*",
"Resource": "*",
"Condition": {
"DateGreaterThan": {
"aws:CurrentTime": "2024-07-08T00:00:00Z"
},
"DateLessThan": {
"aws:CurrentTime": "2024-08-18T23:59:59Z"
}
}
}
]
}
ポリシーに名前と説明を付けて、設定内容を保存します。この際、他のユーザーが理解しやすいように説明を工夫することが重要です。
以下の箇所は、特定の期間内を指定していますので、必要に応じて修正してください。
"DateGreaterThan": {
"aws:CurrentTime": "2024-07-08T00:00:00Z"
},
"DateLessThan": {
"aws:CurrentTime": "2024-08-18T23:59:59Z"
このポリシーは、特定の期間内(2024年7月8日から2024年8月18日)にすべてのアクションを許可しますが、その期間外はすべてのアクションが拒否されます。
さらに、呼び出し元の情報取得とアカウントエイリアスの一覧表示は常に拒否されるように設定されています。
ステップ2:IAMポリシー適用の流れ
作成したポリシーは、IAMユーザーやグループ、ロールに適用できます。
対象となるユーザーやロールを選択し、ポリシーをアタッチします。
定期的にポリシーの見直しを行い、必要に応じて修正を加えることで、セキュリティを維持します。
適用後、ポリシーが正しく動作しているかを確認するため、対象ユーザーでログインして実際に操作してみてください!
まとめ
AWSのIAMポリシーを正しく設定することは、個人情報や重要なデータを守るために非常に重要です。
ハッカソンでの経験を通じて、必要な権限のみを許可することの重要性を再認識しました。
この忘備録が、今後のAWS利用時の参考になれば幸いです。IAMの知識を深めることで、より安全なクラウド環境を構築していきましょう!
参考記事