このページでは AWS におけるAWS アカウント、IAM ユーザー、IAM グループ、IAM ロールの違いに関して説明します。AWSアクセスするのにまず必要なのがこれらのアカウントです。違い、役割などを正しく理解することがセキュアシステムを構築するのに必須となります。
比較は以下の表の通りとなります。
比較表 | AWS アカウント | IAM ユーザー | IAM グループ | IAM ロール |
概要 | AWS アカウントとは最初にサインアップしたときに作成されるアカウント。すべてのリソースやサービスにアクセスすることが可能な協力なルート権限。よって通常は使用せず、別途IAM アカウントを作成して運用することが推奨されている。 ・一番最初のアカウント作成時にAWSアカウントが作成される。契約中は削除したり無効化したりできない。 ・機能の制限ができないフル機能。契約や支払いなどの権限も持つ。 ・一般向けではクレジットカードや電話認証により本人認証して作成が可能。 | IAMとはAWS アカウントによって生成されるユーザ。複数作成することが可能で、各IAM ユーザに対してリソースのアクセス権を割り当てることが可能。(これをIAMポリシーと呼ぶ) IAMユーザ使用作成しないと、フル権限のAWSアカウントを皆で共有することになり危険。 ・AWSアカウントではなくIAMユーザにより業務や管理を行うことが推奨される。 ・IAMユーザはAWSアカウントに紐づけされている ・作成直後は何も権限が与えられていない。 | IAM グループは、1 つの AWS アカウントと対する複数の IAM ユーザーの集合。 ・IAMグループにポリシーを割り当てることができる。 ・作成直後は何も権限が与えられていない。 | IAM や AWS サービス(主にEC2インスタンス)や他組織のアカウントに一時的な権限を与えるために使用。 ・パスワード認証やアクセスキーなしでのアクセスを許可する。 |
簡単に言うと | 強力なアカウント、普段は使用すべきではない | 必要最低限のアクセス権を与え普段の管理で使用 | IAMユーザが所属するグループ | 一時的に少ない権限を与えたい場合に使用する。 |
パスワード認証 | 有り | 有り | 無し | 無し |
アクセスキーの作成 | 万が一漏洩した場合には被害が無限大であるため、作成しないことが推奨される。 | AWSサービスや CLI 環境からアクセスするために作成。 | × | × |
多要素認証(MFA) | 可能 | 可能 | × | 可能(ポリシーで指定) |
アクセス元 IPアドレスの制限 | 不可 | 可能 | - | 可能(ポリシーで指定) |
アカウント名、ユーザ名 | E メールアドレス | ある程度自由に設定 | - | - |
関連リンク:
ポリシーとロールの違いに関して
AWS サービスのアクセス方法の違い |コンソール、CLI、SDK、ロール
アクセスキーとロールの違い
IAM ユーザーのアクセスキーとシークレットアクセスキーの違い
AWS まぎわらしい用語一覧へ戻る