TOUCH THE SECURITY Powered by Security Service G

ナレッジ

2025.03.10

AWSのセキュリティ対策―IAMユーザーのアクセス許可の境界の設定方法

AWSのIAMユーザーでポリシーをアタッチする際に、ユーザーには最小権限を設定するという考え方がベストプラクティスです。
その設定を実現する方法の一つとして、アクセス許可の境界を設定することが挙げられます。
本記事では、アクセス許可の境界を設定し、IAMユーザーの操作を制限する方法と手順をご紹介いたします。
【参考文献】「IAMでのセキュリティのベストプラクティス」AWS

エンジニアとしてチャレンジしたい方
パーソルクロステクノロジー社で実現しませんか?

詳細についてはこちらボタン

アクセス許可の境界とは

アクセス許可の境界とは、IAMユーザーやロールに付与できるアクセス許可の上限を設定する機能です。 アクセス許可の境界で設定したポリシーの内容と、アイデンティティベースのポリシーの内容とで一致する権限のみが有効となります。 アイデンティティベースのポリシーで権限を広く許可していても、アクセス許可の境界で許可されていなければ、アクションを実行できないという設定になります。 以下の図の通り、両方のポリシーで許可されているアクションのみが実行できます。
”アクセス許可の境界”
AWS公式ドキュメント:「IAM エンティティのアクセス許可の境界」AWS

設定手順

今回は、新規にIAMユーザーを作成し、そのユーザーに許可ポリシーとアクセス許可の境界を設定します。

IAMユーザーの作成

ユーザー名は「testuser」に設定し、「AWSマネジメントコンソールへのユーザーアクセスを提供する」にチェックを入れます。
”ユーザーの設定”
「IAMユーザーを作成します」にチェックを入れます。
”ユーザーのタイプの設定”
今回はカスタムパスワードで設定します。用途に合わせて自動生成などで設定しても問題ないです。入力後に「次へ」をクリックします。
”パスワードの設定”
「ポリシーを直接アタッチする」にチェックを入れます。
”許可の設定”
「許可ポリシー」の欄では、AWS管理ポリシーの「AmazonS3FullAccess」を選択します。
”許可ポリシーの設定”
「許可の境界を設定」の欄では、「許可の境界を使用して、最大許可を制御」にチェックを入れます。そして、AWS管理ポリシーの「AmazonS3ReadOnlyAccess」を選択します。
”許可ポリシーの選択”
「AmazonS3ReadOnlyAccess」の許可ポリシーの内容は以下の通りです。
”AWS管理画面”
「ユーザーの作成」をクリックすると、IAMユーザーが作成されます。IAMの「ユーザー」から確認できます。
”ユーザ設定”

操作制限の確認

権限の境界が適用されているか確認します。今回はアクセス許可の境界でS3の読み取りのみを許可したため、S3バケットの設定変更ができないようになっているか確認します。
先ほど作成したIAMユーザー「testuser」でマネジメントコンソールにログインします。 S3を選択して画面遷移すると、現在存在しているS3バケットが表示されます。
”バケット選択画面”
バケットを選択して、「アクセス許可」の「ブロックパブリックアクセス」欄の右にある「編集」をクリックします。
”アクセス許可の画面”
設定はそのまま、「設定の保存」をクリックします。
”設定の保存”
以下のポップアップが表示されるため、「確認」と入力して「確認」をクリックします。
”編集のポップアップ”
変更を保存できず、以下のエラーが発生します。アクセス許可の境界の設定でS3の読み取りのみを許可しているため、S3の設定を変更することができない状態となっています。以上から、アクセス許可の境界で設定したポリシーが反映されていることが分かります。
”アクセス許可の設定”

まとめ

本記事では、アクセス許可の境界で権限の上限を設定することで、IAMユーザーのアクションの実行範囲を制御する方法を紹介しました。ユースケースとしては、誤操作で強い権限を与えてしまった際の予防線として活用できるでしょう。

記事一覧に戻る