AWSIT

AWS IAMとは|AWS認定試験対策

★ 記事内にプロモーションが含まれる場合があります ★

当ブログの内容は筆者の経験と知識に基づいていますが、AWSのサービスおよび認定試験は定期的にアップデートされています。もし記事に誤りや古い情報がある場合、お手数ですが「コメント」や「お問い合わせ」からお知らせいただければ幸いです。読者の皆様からの貴重なフィードバックを歓迎しており、正確かつ有益な情報を提供できるよう努めてまいります。
どうぞよろしくお願いいたします。

スポンサーリンク

AWS IAMとは

概要

AWS Identity and Access Management(IAM)は、AWSのセキュリティ管理を担う中核的なサービスで、ユーザーやグループの作成、アクセス許可の管理、リソースへのアクセス制御を行うことができます。

特徴

AWS IAMの主な特徴には以下があります。

  • ユーザーとグループの管理
    AWSアカウントに対してユーザーを作成し、それらをグループに分類することで、管理を簡素化できます。例えば、開発チームと運用チームに異なるアクセス権を設定できます。
  • 詳細なアクセス許可の設定
    IAMポリシーを使用して、ユーザーやグループがどのAWSリソースに対してどのような操作を行えるかを細かく設定できます。ポリシーはJSON形式で記述し、許可や拒否のルールを定義します。
  • 多要素認証(MFA)
    セキュリティを強化するために、ユーザーアカウントに対して多要素認証を設定できます。これにより、パスワードに加えて一時コードによる認証が必要となり、アカウントの保護が強化されます。
  • ロールの使用
    ロールを使用することで、特定の権限を一時的に付与できます。例えば、あるサービスが他のサービスにアクセスする必要がある場合や、一時的なタスクの実行時に役立ちます。

ユースケース

AWS IAMの代表的なユースケースをいくつか紹介します。

  • アクセス制御の集中管理
    企業内の全AWSリソースに対するアクセス制御を一元的に管理します。例えば、異なるプロジェクトチームに対して異なるアクセス権を設定し、適切なリソースの使用を保証します。
  • セキュアなサービス間通信
    IAMロールを使用して、Lambda関数がDynamoDBにアクセスする際の権限を設定するなど、セキュリティを確保しながらサービス間の通信を行います。
  • コンプライアンスと監査
    IAMポリシーとログを使用して、誰がいつどのリソースにアクセスしたかを監視し、コンプライアンスとセキュリティ要件を満たします。例えば、監査ログを定期的に確認し、不正アクセスを防止します。
  • 一時的なアクセス権の付与
    外部ベンダーや一時的なタスクの実行者に対して、一時的なアクセス権を付与し、タスク完了後に自動的に権限を剥奪します。

AWS認定試験での頻出ポイント

リソースベースポリシー」と「アイデンティティベースポリシー」の違い

1. ポリシーの概要

IAMポリシーは、AWSリソースへのアクセスを制御するルールセットです。その中で、以下の2つのタイプがあります。

  • アイデンティティベースポリシー
    ユーザーやロールなどの「アイデンティティ」に直接紐づけて権限を付与するポリシー
  • リソースベースポリシー
    S3バケットやキーバリューストアなどの「リソース」に直接紐づけて権限を設定するポリシー

2. 違いを直感的に理解しよう

アイデンティティベースポリシー
  • 誰に権限を与える?
    IAMユーザー、IAMグループ、IAMロールなど、「誰が」何をできるかを定義します。
  • 例えるなら?
    社員証の役割。
    社員(IAMユーザー)に「このドア(リソース)は開けていいですよ」という許可証を渡すようなイメージ。
  • 主な特徴:
    • アタッチできるもの→IAMアイデンティティ(IAMユーザー、IAMグループ、IAMロール)
    • 複数のリソースに跨るアクセス制御が可能
    • JSON形式で、Effect(許可/拒否)、Action(操作内容)、Resource(対象リソース)を指定できる
リソースベースポリシー
  • どのリソースに権限を与える?
    AWSリソース(S3バケットやSNSトピックなど)そのものに「この人が使ってもいいですよ」と直接設定します。
  • 例えるなら?
    鍵付きドア。
    ドア(リソース)自体に「この鍵を持っている人なら通れます」とルールを貼り付けるようなイメージ。
  • 主な特徴:
    • アタッチできるもの→AWSリソース(S3バケット、SNSトピックなど)
    • 他のAWSアカウントや匿名アクセスも設定可能
    • JSON形式で、アクセス元(Principal)を明示的に指定できる

3. サンプルコードでイメージをつかむ

アイデンティティベースポリシー

IAMユーザーにS3バケットを読み書きする権限を与える例

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:GetObject", "s3:PutObject"],
"Resource": "arn:aws:s3:::example-bucket/*"
}
]
}
リソースベースポリシー

S3バケット自体に特定のAWSアカウントからアクセスを許可する例

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::123456789012:root"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::example-bucket/*"
}
]
}

まとめ

AWS IAMとは?AWS認定試験対策

AWS IAMは、ユーザーとリソースへのアクセス制御を詳細に管理できる強力なサービスです。

次回の記事では、「AWS IAM Identity Center (AWS Single Sign-On)」について詳しく解説します。

参考

・AWS公式
https://aws.amazon.com/jp/iam/

【AWS認定試験対策 サービス一覧】

【AWS各サービス概要一覧】

【おすすめの参考書】

リンク先からご購入いただき、サイト運営をご支援いただけますと幸いです…

\タイムセール中/
Amazonで探す
\お買い物マラソン開催中/
楽天市場で探す

コメント

タイトルとURLをコピーしました