IAMとは - AWS認定ソリューションアーキテクト

今年はAWSの資格取得を目指して勉強していこうかと思うので、内容をまとめていきます。

IAMとは

IAMはAWSリソースへのアクセスを安全に管理するためのウェブサービスで、たとえば次のようなことができます。

- AWS利用者の認証
- アクセスポリシーを特定のユーザーまたはグループごとに設定

2つめに関して言うと、特定のユーザーにはEC2へのアクセスだけを許可し、あるグループにはEC2に加えてS3へのアクセスも許可するといった詳細なアクセス権限の設定が可能になります。

このIAMには次の4つの要素が登場します。

1. ユーザー
2. グループ
3. IAMポリシー
4. IAMロール

1. ユーザー

ユーザーには次の2つが存在します。

- ルートユーザー
- IAMユーザー

ルートユーザー

最初に作成されるユーザーであり、すべてのAWSサービスとリソースにアクセスできる権限を有します。このルートユーザーは1つめのIAMアカウントを作成するためだけに使用するのがベストプラクティスとして強く推奨されています。仮に使う場合はMFA認証を設定して絶対に流出しないように気をつけます。

ルートユーザーにしかできない操作としては次のようなものがあります。

- AWSルートアカウントのメールアドレスやパスワードの設定
- IAMユーザーの課金情報へのアクセス設定
- Route53のドメインを他のAWSアカウントに移行
- CloudFrontのキーペアの作成
- AWSアカウントの停止
- 一括請求の設定
- 脆弱性診断フォームの提出
- 逆引きDNS申請

IAMユーザー

AWSでの個人ユーザーのことで、次のような特徴があります。

- 1アカウントで5000ユーザーまで作成可能
- 1ユーザー10グループまで所属可能
- AWSサービスへのアクセス権限の設定が可能

2. グループ

グループはユーザーの集合で、次のような特徴があります。

- 1アカウントで300グループまで作成可能
- グループに対してAWSサービスへのアクセス権限の設定が可能で、権限はIAMユーザーに付与したものと同時に評価されます

3. IAMポリシー

IAMポリシーはIAMアイデンティティ(ユーザー、グループ、ロール)またはリソースに関連付けてアクセス許可を定義するAWSのオブジェクトです。IAMポリシーは通常JSONドキュメントとしてAWSに保存されます。

IAMポリシーは次の2つに分けられます。

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

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

アイデンティティベースのポリシーは、IAMアイデンティティ(IAMユーザー、グループ、ロール)が実行できるアクション、リソース、および条件を定義できます。このポリシーはさらに次の2つに分類できます。​

- 管理ポリシー: AWSアカウント内の複数のユーザー、グループ、およびロールにアタッチできるスタンドアロンのポリシーで、次の2種類を使用できます。
- AWS管理ポリシー: AWSが作成・管理する管理ポリシー
- カスタマー管理ポリシー: AWSアカウントで作成・管理する管理ポリシー。AWS管理ポリシーよりも正確にポリシーを管理できる。
- インラインポリシー: AWSアカウントで作成・管理するポリシーであり、単一のユーザー、グループ、またはロールに直接埋め込まれる。通常これを使用することは推奨されていない。

リソースベースのポリシー

リソースベースのポリシーでは、関連付ける対象がユーザーではなくプリンシパル(AWSリソース)です。リソースベースのポリシーはS3等の一部のAWSサービスのみに対応しています。

4. IAMロール

IAMロールは、AWSで出来ることと出来ないことを定義するアクセス許可ポリシーが適応されるアイデンティティですが、IAMロールには認証情報を関連付けることができません(ロールを引き受けた場合、一時的なセキュリティ認証情報が提供される)。IAMロールは必要に応じて誰でも引き受けることが可能です。したがって、IAMユーザーやAWSリソースがロールを引き受けると、一時的に特定のタスクに対して異なるアクセス許可を得ることが可能になります。

アクセス権限の一時付与

AWS Security Token Service(AWS STS)を使用すると、AWSリソースへの一時的なセキュリティ認証情報を発行することができます。この機能のメリットとしては次のようなことが挙げられます。

- 長期のAWS認証情報を配布したり埋め込む必要がなくなる
- ユーザーに対してAWSアイデンティティを定義せずにAWSリソースへのアクセスを許可できます。一時認証情報はロールおよびIDフェデレーションの基本になります。
- 有効期限が限られているので、不要になった際にローテーションしたり明示的に取り消す必要がありません。

ユーザーの行動の記録

ここまでIAMについて概要を説明してきましたが、AWSにおいてユーザーの行動を記録しておきたい場合に役に立つツールを説明します。

AWS Config

IAMのユーザー、グループ、ロール、ポリシーに対して変更履歴、構成変更を管理・確認することができる

AWS CloudTrail

AWSインフラストラクチャ全体でアカウントアクティビティを記録し、継続的に監視し、保持することができる機能。

いいなと思ったら応援しよう!