本記事について
本記事はAWS初学者の私が学習していく中でわからない単語や概要をなるべくわかりやすい様にまとめたものです。
もし誤りなどありましたらコメントにてお知らせいただけるとありがたいです。
IAMとは
AWS Identity and Access Management (IAM) は、AWS リソースへのアクセスを安全に管理するためのウェブサービスです。IAM を使用して、リソースを使用するために認証 (サインイン) され、許可された (アクセス許可を持つ) ユーザーを制御します。
IAMの前提知識
ユーザー
ルートユーザーとは
AWS使用開始時にメアド、クレジットカード、パスワードを登録してアカウントを制作します。そのメアドとパスワードを使用してログインできるアカウントをルートユーザーといい、フル権限を持っている。
AWSドキュメントでは日々の業務に使わないことと明記されている。
IAMユーザーとは
AWSではAWS範囲内で個別のユーザーを作りに権限を付与してそれを使うことを推奨している。その個別のユーザーをIAMユーザーと言う。
人間である必要がない(プログラムの場合もある)
ユーザー作成時には認証する情報を作成する必要がある
認証情報にはパスワードかアクセスキーかその両方化を選ぶ必要がある
アクセスキー
アクセスキーID、シークレットアクセスキーが発行される。(両方ともランダムな文字列)
*重要
これがあるとどこからでもAWSが操作できるようになる。
アクセスキーがもし他者に漏れてしまったら使われることになるので注意
(例えばAWS CLIの設定ファイルなどをGitHubなどに乗せてしまうとアクセスキーがバレてしまう)
IAMグループ
複数のIMAユーザーのまとまり
正式な認証情報でないことに注意
複数のユーザに権限を付与できる便利なものと認識する
IAMポリシー
AWSで操作できる権限を表したもの
実態はJSON形式で記述された設定ファイル、AWSに保管させる
評価を受ける主体(プリンシパル)にアタッチして使う、正確には認証主体(Identitiy)に対して許可、拒否をさだめる
ポリシーにはAWS管理ポリシーとカスタマー管理ポリシーがある
AWS管理ポリシー
AWSがあらかじめ用意したポリシー
カスタマー管理ポリシー
AWS管理ポリシーより詳細に設定できるポリシー
直接JSON記述して設定できる(ポリシージェネレータを使用してGUIから作成も可能)
IAMロール
特定のアクセス権限を持ち、アカウントで作成できる IAM アイデンティティです。
*ロール(役割、任務、役目といった意味)
ロールとはポリシーを複数アタッチして権限をひとまとめにしたもの
ロールには「信頼関係」「権限」を持っているがポイント
AWS認定試験のIAM関連の用語について
リソース
「IAMユーザー、IAMグループ、IAMロール、IAMポリシー」であり、IAMで作成、編集、削除ができるもの
アイデンティティ(ID)
「IAMユーザー、IAMグループ、IAMロール」ポリシーを割り当てれるもの
エンティティ
「IAMユーザー、フェデレーションユーザー、IAMロール」AWSが認証に使用するもの
*フェデレーションユーザー
例)Facebook
プリンシパル
「IAMユーザー、フェデレーションユーザー、IAMロール、AWSリソース」AWSにサインしたり、AWSにリクエストを出すもの
つまり、人間でもありアプリケーションでもある。そしてAWSサービスでもある
*グループは正式なプリンシパルと認められていないので注意!!
最後に
またこの記事は AWS 初学者を導く体系的な動画学習サービス「AWS CloudTech」の課題カリキュラムで作成しました。
https://aws-cloud-tech.com/