【AWS】IAMをざっくり理解したい方必見!
Published on 05/09/2018
3 min read
In category
aws
「IAMって何??」、「そもそもIAMは必ず設定しないといけないの??」
と思っているあなたは、必見です!
AWSを使うにあたってIAMは避けて通れません!
が、しかし。最初から全部理解しようとすると間違いなく挫折します。従って、まずはIAMの概要をざっくり理解しましょう。
ざっくりでも理解していると、その後の作業の進み具合が段違いです。
それでは解説していきます。
IAMでできること
IAMでは、AWSマネジメントコンソール、AWS API、AWS CLI(コマンドライン)へのアクセス制御が行えます。
そして主に以下の3つの機能を実現することができます。
- ユーザー、グループを作ることにより、AWSサービス(EC2インスタンスやS3など)へのアクセスを制御する。
- ロールを作成して、AWSサービスが実行できる操作を制御する。
- ユーザーやグループに権限を付与して、実行できる操作を制御する。
ユーザー、グループ、ロールとは何か?
1番基本で1番大事な、ユーザー、グループ、ロールについて解説していきます。
ユーザーとは?
AWSサービスへのアクセスを必要とする個人のこと。認証方法としてパスワード、アクセスキー、MFA(マルチファクタ認証)が使用できます。
パスワード認証はAWSマネジメントコンソールへのアクセスのみに使います。
アクセスキーは、プログラムからAWSサービスを呼び出す時に使います。アクセスキーIDとシークレットキーで構成されます。
グループとは?
複数のユーザーをまとめて扱うことができるため、権限の一括管理が可能になります。まぁ言葉通りの役割ですね。
ロールとは?
各種操作の実行を「行えるか」、「行えないか」ということを決めるポリシーのこと。
ロールの対象は、個人、AWSサービス(EC2インスタンスなど)、アプリケーション。
IAMでのポリシーとは何か
ポリシーとは、アクセス制御を定めたもの。大きく分けて2種類存在します。
- アイデンティティ(ID)ベースのポリシー
- リソースベースのポリシー
それでは、それぞれ解説します。
アイデンティティベースのポリシー
アクセス制御とアクセス権をJSONテキストで扱える。また、アイデンティティベースポリシーは、さらにインラインポリシーと管理ポリシーの2つに分けることができる。
インラインポリシー
単一のユーザー、グループ、ロールに直接定義したポリシー。
インラインポリシーは、以下のような場面で役にたちます。
- プリンシパルとポリシーが1対1のとき。
- プリンシパルに余計な権限を付与したくないとき。
管理ポリシー
ユーザー、グループ、ロールとは別で管理できるポリシー。AWS管理ポリシーとカスタマーポリシーが存在する。
AWS管理ポリシーとは、AWSが作成したポリシーのこと。既に作成されているため、基本的にこちらを使うことで、より管理が楽になります。
カスタマーポリシーとは、自分で作成するポリシーのこと。AWS管理ポリシーよりも細かいポリシーを使いたい場合は、こちらを使います。
管理ポリシーは、以下のような場面で役に立ちます。
- プリンシパルとポリシーがN対1のとき。(1つのポリシーを複数のプリンシパルで使いたいとき)
- ユーザーとポリシーの管理を別にして、ポリシーを一括管理したいとき。
リソースベースのポリシーとは?
先程は、IDベースでしたが、リソースベースポリシーでは、AWSサービス(EC2インスタンスなど)に直接定義(インラインポリシー)していきます。また、リソースベースポリシーを使用する場合は、アクセスできるユーザーを別で指定する必要があります。
まとめ
いかがでしたでしょうか。IAMの基本について解説していきました。
是非参考にしてみて下さい!!