AWS IAMとは
AWS IAMとはなんなのかについて、調べたことのメモを記載しています。
Contents [hide]
AWS IAMの目的
- AWSのアカウントをもっている人やシステムじゃなくても、サービスを利用できるようにする( アクセス許可 )
- いろんな人やシステムがAWSのアカウントにアクセスできるようになったときに、その人やシステムがなにをできるかを制限する(権限管理)
- アクセスの強化をする(MFA: Multi Factor Authentication)
- AWS以外のシステムでアカウントをもっていて、そのシステムがAWSと連携していたら、ログインしないでアクセスできるようにする(IDフェデレーション)
- 同じ会社でたくさんのアカウントを持っている時のも一括で管理すること(統合管理)
AWS IAMをつかうためのツール
AWS IAMとそれをつかってAWSのリソースを使うことのできるツール(手段)は4とおりです。
- AWSマネジメントコンソール:ブラウザから人がアクセスする用
- AWSコマンドラインツール:Unixとかのshellでアクセスする、ざっくりシステム用
- AWS SDK:JavaとかPythonとかでアクセスする、ちゃんとしたシステム用
- IAM HTTPS API:ネットワーク上でシステム同士がコミュニケーションする用
AWS IAMの要素
権限管理に必要な、だれが、なにを、どうしたいか、どうしてよいか、の要素は次の名前で呼ばれています。
- だれが:Principal(プリンシパル)
- なにを:Resource(リソース)
- どうする:Action/Operations(アクション/オペレーション)
- だれが、なにを、どうしてよいか:Policy(ポリシー)
- おねがい(だれが、なにを、どうする、をまとめたもの):Request(リクエスト)
- こたえ(どうしてよいかとお願いの照らし合わせの結果):Authorization(認可)
全体像は以下のイメージの通りです (ユーザーガイドからの抜粋) 。

AWS IAMの枠組み
人とシステムの管理の枠組みの要素は5つほど。
- アカウント:なんでもしたい放題できる(そのため使わないように推奨されている)
- グループ:役割ごとにユーザーをまとめる単位
- ユーザー:人やサービスの単位(Principal)。IDとキーでそれぞれ管理している
- ポリシー:だれがなにをどうしてよいかのルール(Policy:Resource,Action/Operationなど)
- ロール:一時的にだれがなにをどうしてよいか許可する切符
アカウントとグループ、ユーザーの関係
アカウントとグループ、ユーザーといった人の管理の枠組みは以下のイメージの通りです(ユーザーガイドからの抜粋)。ポリシーはこの中で、グループにも人に、何個でも付与できます。

ポリシーとは
ポリシーはユーザーやグループの人につけるタイプと、サービスやロールのリソースにつけるタイプの2種類あります。
- 人につけるタイプ(アイデンティティベースのポリシー):なにを、どうしてよいか、を人ごとに決めるもの
- サービスやロールにつけるタイプ(リソースベースのポリシー):だれが、どうしてよいか、をリソースごとに決めるもの
基本的に、どのリソースの、どのサービスの、どのアクションを、どういうときに、OK/NGにするか、を明示します。そのため明示するときの要素は以下となります。
- Effect:OK/NG
- Action:アクションのリスト
- Resource:つかっていいリソース
- Condition:どんな条件の時にOK/NGか
ロールとは
ロールは、一時的にだれがなにをしてよいか許可する切符です。通常ユーザーは、「だれが」をあらわすIDとキーを渡して、IDとキーをもとにリクエストの内容の認可をうけます。ただ、ネットワークを介してほかのアカウントのリソースにリクエストを出す場合、キーを持ち歩くのが危ない・持ち歩けないので、一時的に付与されているロールをもとに切符を発行してもらって、リクエストができるようにする仕組みです。ただどうしてもほかのアカウントのリソースにアクセスしてアクションをしないといけない場合、ロールでは認証ができないからその時はポリシーで対応します。
イメージとして、ユーザーは会社に仕事に行くのに、名前(キー)とどこの電車をどのようにつかってよいか書いてある定期券(ポリシー)をもらっていつも使っていました。けれども、海外の無法地帯にある取引先に視察にいかないといけなくなりました。定期券を持ち歩くのはあぶないから、取引先に一日使える切符を発行(ロール) してもらってみにいきました、な感じだと思います。
ただ、海外の無法地帯にいったうえそっちの支社で仕事しないといけなくなりました。会社に入るときにセキュリティーを通る必要があるから、事前に支社に定期券を発行してもらわないといけない、リスクは注意しないといけないけど、な感じだと思います。