現場実践|IAMポリシー設計

AWSのIAMポリシー設計入門|最小権限原則の実践とよくある設定ミス

「IAMポリシーの書き方がわからない」「とりあえずAdministratorAccessを付けている」——AWSのIAMポリシーの正しい設計方法・最小権限の実践・インラインポリシーとマネージドポリシーの使い分けを解説します。

読了目安:約18分更新日:2026年3月

💡 IAMの設定ミスはAWSセキュリティインシデントの最大の原因。「誰でも何でもできる」IAM設計は最もリスクが高い。最小権限の原則を実践することがAWSセキュリティの基本中の基本です。

この記事を書いた人
現役ITエンジニア・IT講師(経験14年)
CCNA・CCNP 取得LPIC-1 保有SES現場を複数経験

AWS環境のIAM設計・セキュリティ審査を多数担当してきた立場から解説します。

1. IAMポリシーの種類

📋
AWSマネージドポリシー
AWSが事前定義したポリシー。ReadOnlyAccess・AmazonS3FullAccess等。変更不可だがバージョン管理される。まず使えるものがないか確認する。
✏️
カスタマーマネージドポリシー
ユーザーが作成するポリシー。再利用可能で複数のIAMユーザー・ロールにアタッチできる。バージョン管理あり。
🔒
インラインポリシー
特定のIAMユーザー・グループ・ロールに直接埋め込むポリシー。再利用不可。例外的な権限付与にのみ使用を推奨。

2. 最小権限ポリシーの書き方

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowS3ReadOnlySpecificBucket",
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::my-bucket",
        "arn:aws:s3:::my-bucket/*"
      ]
    }
  ]
}

ActionはGetObject・ListBucketなど必要なものだけを列挙します。「s3:*」のようなワイルドカードは本番環境では使わないことを原則にします。

3. よくある危険なIAM設定

⚠️ やってはいけないIAM設定

「AdministratorAccess」を一般のIAMユーザーやLambdaロールに付与する・アクセスキーを長期間ローテーションしない・rootアカウントのアクセスキーを作成する——これらはAWSセキュリティの最重大な違反です。

4. IAM Access Analyzerで不要な権限を検出

IAM Access Analyzerは外部エンティティにアクセスを許可しているリソース(S3バケット・IAMロール等)を自動で検出するサービスです。意図しない公開設定をポリシーレベルで検出して修正できます。有効化はワンクリックで完了します。

📌 この記事のポイント
  • IAMポリシーはマネージドポリシー優先・カスタマーマネージドポリシーで細かく制御・インラインは例外のみ
  • Actionには必要なAPIのみを列挙しワイルドカード(s3:*等)は本番環境で使わないことを原則にする
  • IAM Access Analyzerで不要な外部アクセス許可を自動検出して修正する

キャリアの疑問、一緒に解決しませんか?

Route Bloomでは、インフラ系ITエンジニアを目指す方への個別サポートを行っています。2026年7月からフリーランス講師として本格始動予定です。

※IAMの仕様はAWSにより変更される場合があります。

ABOUT ME
たから
サラリーマンをしながら開業して経営やってます。 今年、本業で独立・別事業を起業予定です。 ◆経験:IT講師/インフラエンジニア/PM/マネジメント/採用/運用・保守・構築・設計 ◆取得資格:CCNA/CCNP/LPIC-1/AZ-900/FE/サーティファイC言語 ◆サイドビジネス:経営/個人事業/アパレル