AWSサービスを利用する際に、(AWS)IAMのロールとポリシーについてよく分からなかったので整理しました。
AWS初心者がまとめる記事なので、解釈にずれが生じていたり、理解が浅い部分もあると思いますが
ざっくりした理解には役立つかと思います。
ロールやポリシーの整理の前に、まずAWS IAMというサービスについて整理します。
IAMとは?
「Identity and Access Management」の略称で
「(AWS)リソースへのアクセスを安全に管理するためのウェブサービスです。
IAM を使用して、リソースを使用するために認証 (サインイン) され、許可された (アクセス許可を持つ) ユーザーを制御します。」(AWS引用)
AWSのサービスはたくさんあって、いろんなサービスを組み合わせたり、いろんなアカウントでサービスを利用するため、IAMを使えば安心してサービスを管理・利用できるようになるわけですね。
(自分で書きながら、やっとわかった気がしますw)
続いて、ロールとポリシーについてもまとめていきます。
IAMポリシーとは?
- 「誰が」
- 「どのAWSサービスの」
- 「どのリソースに対して」
- 「どんな操作を」
- 「許可する(許可しない)」』
という内容をまとめたルールです。
設定項目と選択肢は、AWSが予め用意してくれているので、各項目を自分で選んで組み合わせるだけのアクセス設定のイメージです。
ポリシーでは結構細かくアクセス制限を設定することができるんですね。
この説明でやっとわかりました!
IAMロールとは?
複数のIAMポリシーをまとめたもの
例えば、
「Amazon S3を利用できるユーザーは UserA, UserBにして、
UserAはデータの更新(編集)はできるけど、UserBはデータの追加だけで編集まではできないよ」的な感じでしょうか。
ポリシーもいろんなバリエーションがあるから、サービスごとにある程度分けて管理するにはロールがあると便利そうです。
ついでにIAMロール、ポリシー関連の資料には「アタッチ」という言葉がたくさん出てきますので、それについても私なりの解釈を少し説明します。
アタッチとは?
『付着する、帰属する、取り付ける、添付する、加える、所属させる、などの意味を持つ英単語。 名詞形は「アタッチメント」(attachment)、対義語は「デタッチ」(detach)。ITの分野では、システム上で何らかの主体に対象を取り込んで有効にする動作や操作などをこのように呼ぶ。』(e-Words)とあり、
イメージ的には部品の取り付け工事と機能を使えるようにする操作(機能の有効化)をまとめて表現した言葉のようです。
ひとまず、これでスッキリしました。
もっと詳しい説明は以下のページが参考になると思いますので、
そちらも合わせてご覧ください。
追加で他にもわかりやすいページをご存じの方がいらっしゃれば、コメントいただけるとありがたいです。