まずは、IAMを利用する上で押さえておきたい基本概念について解説します。その後、ポリシー、グループ、ユーザーの作成手順を確認します。
ルートユーザーとIAMユーザー
AWSアカウント作成に使用したメールアドレス
とパスワード
でログインできるユーザーをルートユーザー
と言います。
通常作業でルートユーザー
は利用せずに、適切な権限設定が行われたIAMユーザー
を利用することが推奨されています。
IAMの基本概念
IAMを利用するには、以下用語の概念を理解しておく必要があります。
- アクセス許可
- IAMポリシー
- IAMユーザー
- IAMグループ
- IAMロール
管理ポリシーとインラインポリシー
ポリシーには 管理ポリシー
と インラインポリシー
が存在します。
- 管理ポリシー
- 独立したポリシーです。
- エンティティ(
ユーザー
グループ
ロール
)に割り当てることができます。
- インラインポリシー
- エンティティ(
ユーザー
グループ
ロール
)に組み込まれたポリシーです。 - エンティティを削除するとポリシーも削除されます。
- エンティティ(
参考
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/access_policies_managed-vs-inline.html
ポリシーとアクセス許可
IAMポリシー
には1つ以上の アクセス許可
が紐づきます。
アクセス許可について
アクセス許可
では、以下設定を行います。
- どの
AWSサービス
の、EC2
RDS
S3
など
- どの
リソース
に対して、- EC2なら
instance
image
route-table
など - S3なら
bucket
object
など - RDSなら
cluster
db
snapshot
など
- EC2なら
- どういった
アクション
を許可するかリスト
読み込み
書き込み
アクセス権限の管理
すべて
など
ユーザーとポリシー
IAMユーザー
に 複数のIAMポリシー
を紐づけることができます。
ただし、後述する IAMグループ
を利用したほうが管理が楽になります。
ユーザーとグループとポリシー
IAMグループ
に 複数のIAMポリシー
を紐づけることができます。IAMグループ
に 複数のIAMユーザー
を紐づけることができます。
管理者、開発者などのようにIAMグループを作成しておけば管理が楽になります。
AWSサービスとロールとポリシー
IAMロール
に 複数のIAMポリシー
を紐づけることができます。AWSサービス
に IAMロール
を紐づけることができます。
具体的にいうと、EC2インスタンス
に対して 1つのIAMロール
を紐づけることができます。
紐付け作業は インスタンスプロファイル
を通じて行われます。
IAMユーザーの アクセスキーID
シークレットアクセスキー
をWebサーバーに持たせることで権限を与えることもできます。その場合、キー情報の漏洩に気をつけなければいけません。
まずは、IAMロールで管理できないか検討します。
IAMユーザー作成手順
AWSコンソールにログイン
IAM権限を持ったIAMユーザー
でログインします。
まだ存在しない場合は、ルートユーザー
でログインします。
ポリシーの作成
IAMのポリシー画面です。
画面から、ポリシーの作成
をクリックします。
AWS側で定義したポリシーが既に存在します。こちら で詳細について確認できます。
アクセス許可の設定をします。以下のように複数のAWSサービスに対してのアクセス許可を設定できます。
各アクセス許可の設定では、サービス
アクション
リソース
リクエスト条件
を設定します。
アクセス許可の設定が終わったらポリシーの名前、説明を登録します。Create Policy
をクリックするとポリシーが作成されます。
グループ作成
IAMのグループ画面です。画面から、新しいグループの作成
をクリックします。
グループ名を入力します。
先ほど作成したポリシーを紐付けます。
グループの作成
をクリックするとグループが作成されます。
ユーザー作成
IAMのユーザー画面です。画面から、ユーザーを追加
をクリックします。
画面指示通り入力します。他人が利用するアカウントであれば、パスワードのリセットが必要
にチェックを入れておくと良いです。
先ほど作成したグループを選択します。
タグを設定することもできます。
作成するユーザー情報の確認画面です。ユーザーの作成
をクリックするとユーザーが作成されます。
ユーザーが作成されました。この画面で自動生成されたパスワードを確認できます。