はじめに
業務の関係と個人的な興味からAWS Summit Japan 2025に飛び入り参加して以降AWSへの興味が絶えず、取り敢えず登録して触ってみることにしました。
まずはIAMで権限を制限してみるぞ~~!と管理者権限持ちのユーザーを作ったはいいものの、いまいちIAMの権限管理powerを実感し難かったため、ガチガチに縛った自作ポリシー作って適用してみよう!という試みです。
そもそも AWS IAM とはなんぞや
正式な名称は「AWS Identity and Access Management (IAM) 」
AWS リソースへのアクセスを安全に管理するためのウェブサービスです。
AWSのアカウントには、大きく分けて二種類あります。ルートユーザー と IAMユーザー です。
ルートユーザー
AWSアカウントを作成した時点では、ユーザーは 「ルートユーザー」 という 超強力な権限をもったアカウントで動いています。
このルートユーザーは すべてのサービスの操作 (作成, 変更, 削除 etc...)を行うことが出来、非常に強力なので普段の作業で使いたくはありません。うっかり変な操作しちゃっても困ります。
大いなる力には大いなる責任が伴うので、無暗に使っちゃダメなんですね。
IAMユーザー
アクセスできるリソースに 制限が付けられたアカウント です。
制限を受けたアカウントを使って運用することで、うっかり変な操作も出来なくなり、インシデントの規模も小さく出来るってコトですね。
大いなる力じゃなければ大いなる責任も伴わないってワケ!
AWS環境内にて 「IAMユーザー」 を作成し、どのAWSリソースにアクセスできるのか記述した 「IAMポリシー」 を適用することで、AWSアカウントの認証と認可を制御することができます。
つまるところ AWS IAMとは「「誰が」「なにに対して」「なにを実行できる」のか、AWS環境での動きを制限できる」サービス です。
自作ポリシーをIAMユーザーに適用する
全体の手順としては
1. AWS IAMのダッシュボードに移動
2. ポリシーを作成
3. ユーザーを追加
って感じです。
今回作成するポリシーの内容については、パッと見て「アクセスが制限されてる~」という実感を得たいので、 S3へのフルアクセス権のみ を与えてみます。
1. AWS IAMのダッシュボードに移動
早速 AWS IAM のダッシュボードに移動します。
サービス検索欄で「IAM」と調べれば一番上に出てきますね。こちらを選択します。
2. ポリシーを作成
IAMのダッシュボードへ移動すると、画面左のリストから各アクセス管理に移れます。
今回はポリシーを選択
AWS側で既に様々なポリシーが用意されています。
今回は自作のポリシーを作ってみようという試みなので「ポリシーの作成」へ。
どの サービスへのアクセス*許可 を与えるか設定できます。
今回は S3 を選択。
選択したサービスにおいて、 どのような操作が行えるのか を設定できます。
S3に関する操作は一通り許可したいので取り敢えず すべてのアクション を選択。
依存関係が選択されていないとの警告がでていますが、一旦無視してリソースを「すべて」に設定したら次へ。
ポリシーの名前を設定し、ポリシーの作成を行います。
今回は「test_S3」とでもしておきます。
ポリシー管理画面に戻って確認すると、「test_S3」が増えています。
自作のポリシーが追加されていることを確認できたら、次はユーザー追加です。
3. ユーザーを追加
画面左のリストから「ユーザー」の管理画面に移動します。
「ユーザーの作成」から新規のIAMユーザー作成に移ります。
ユーザー名を設定し、「AWSマネジメントコンソールへのユーザーアクセスを提供する -オプション」を許可します。この操作によって、GUIからAWSの操作が可能になります。
その後はパスワードを設定。テスト用なので新規パスワード作成は不要としましょう。
次へ進めると、許可のオプションが表示されます。
IAMポリシーはユーザーへ直接宛てるだけでなく、グループへ宛てて、そのグループにユーザーを入れることで権限を一括で管理することができます。
推奨されているのはグループでの権限管理ですが、今回はテストなのでポリシーを直接ユーザーに宛てましょう。
「ポリシーを直接アタッチする」を選択すると、どのポリシーを宛てるのか一覧で表示されます。
先ほど作成した自作ポリシーを検索し、適用しましょう。
確認画面に進むので、内容に問題がないことを確認したら「ユーザーの作成」
無事作成が完了したら画面上部に成功のお知らせが表示されます。
コンソールサインインのURLが表示されるので、早速ログインして「S3サービスにだけアクセスできる」状態になっているのか確認します。
サインイン直後の画面です。
表示されている限りのサービスでは、アクセスが拒否されています!
今回許可しているのは「S3へのアクセス」だけです。
IAMのダッシュボードに移動してみます。権限がちゃんと適用できていれば、IAMでもアクセスが拒否されるはずです。
なにもみえねぇ…。
IAMにもアクセスできていませんね。
S3へのアクセスを確かめてみます。
こちらは問題なく表示されています。
アクセス許可は通っていますね。




















