【AWS 最初のIAMユーザーを作る】ルートユーザーはこのIAMユーザーを作るだけ。それがベストプラクティス。
スポンサーリンク
Ruby on Rails チュートリアルにて、初めてAWSに触れ、その中で色々やっていたのにもかかわらず、IAMユーザーというのがよくわかっていなかった。
今回改めて調べてみた。
IAMとは
AWS Identity and Access Management (IAM) は、AWS リソースへのアクセスを安全にコンソールするためのウェブサービスです。IAM を使用して、リソースを使用するために認証 (サインイン) され、許可された (アクセス許可を持つ) ユーザーを制御します。
(略)
IAM とは - AWS Identity and Access Management
要は、AWSの様々なリソースに対して、用途に応じてアクセス権限を制限させたIAMユーザーを作成し、そのユーザーでAWSを使用しようしていく。
それが管理者が利用するサービスであっても、ルートユーザーは使用しない。
ルートユーザーとは、もちろん最初にAWSアカウントを作成したアカウントとそのパスワードでサインインするユーザーのこと。
ちなみにIAMユーザーは「アイアムユーザー」と呼ぶようだ。
そして、最初のIAMユーザーを作成するためだけに、ルートユーザーを使用するというのがベストプラクティスなようだ。
IAM でのセキュリティのベストプラクティス - AWS Identity and Access Management
なんと!そうだったのね。
ちゃんとドキュメント読もうね。
なので今回はそのベストプラクティスに従い、最初のIAMユーザー「Administrator」を作成する。
(いや、もちろんもういくつか作っているから最初じゃないんだけどね。。。)
こちらの内容に沿って作成していく。
docs.aws.amazon.com
今回やること(ドキュメントの流れのまんまだが)
- STEP1 : ルートユーザーで、 IAM コンソールにサインインする
- STEP2 : ナビゲーションペインで [ユーザー]、[ユーザーを追加] の順に選択
- STEP3 : [User name] に、Administrator と入力
- STEP4 : [AWS マネジメントコンソール のアクセス] をON、[Custom password (カスタムパスワード)] を選択して、新しいパスワードを入力
- STEP5 : [Next: Permissions (次へ: アクセス許可)] を選択
- STEP6 : [アクセス許可の設定] ページで、[ユーザーをグループに追加] を選択
- STEP7 : [Create group] を選択
- STEP8 : [グループ名] に「Administrators」と入力
- STEP9 : [ポリシータイプ] > [ジョブ機能] 選択で、コンテンツをフィルタリング
- STEP10 : [AdministratorAccess] をオン、[Create group] を選択
- STEP11 : グループリストに戻り、新しいグループのチェックボックスをオン。必要に応じて [Refresh] 。
- STEP12 : [Next: Tagging] を選択
- STEP13 : (オプション) タグをキー - 値のペアとしてアタッチして、メタデータをユーザーに追加
- STEP14 : [Next: Review] を選択して、新しいユーザーに追加するグループメンバーシップのリストを表示。続行する準備ができたら、[Create user] を選択
- STEP15 : IAMユーザーでサインイン
- おまけ:IAMユーザーで請求情報にアクセスできるようにする
スポンサーリンク
STEP1 : ルートユーザーで、 IAM コンソールにサインインする
IAMサービスを起動する。
検索で「IAM」と入力して選択すればよい。
もしくはこちらにGO(https://console.aws.amazon.com/iam/)
STEP2 : ナビゲーションペインで [ユーザー]、[ユーザーを追加] の順に選択
ユーザーの、ユーザー追加をクリック
※最初のユーザーといいつつ、もうすでに作ってあるのは気にせずに
STEP3 : [User name] に、Administrator と入力
「ユーザーを追加」の画面になるので、ユーザー詳細の設定のユーザー名に「Administrator」と入力
※「Administrator」・・・管理者って意味ね
STEP4 : [AWS マネジメントコンソール のアクセス] をON、[Custom password (カスタムパスワード)] を選択して、新しいパスワードを入力
・このIAMユーザーはコンソールで使っていくから「AWS マネジメントコンソール のアクセス」を選択
・パスワードも自動じゃなく自分でつくろう
・パスワードのリセットはOFFで
この最初のユーザー「Administrator」ではなく、今後IAMユーザーを作っていく際、状況によってこれらの項目は変えていこう
・例えばプログラムから使用するなら「プログラムによるアクセス」を選択
・他の人にIAMユーザーを渡すならその人がパスワードを新規で作成したいだろうから「パスワードのリセットが必要」をONにする
などなど。
STEP5 : [Next: Permissions (次へ: アクセス許可)] を選択
上記の入力内容を確認して「次のステップ:アクセス権限」をクリック
※微妙にボタン内の文字が違うのはよくあること。諦めよう。
STEP6 : [アクセス許可の設定] ページで、[ユーザーをグループに追加] を選択
STEP7 : [Create group] を選択
そのまんま。以下の通りにクリック。
STEP8 : [グループ名] に「Administrators」と入力
これもそのまんま。「s」を付けて複数形なので注意。(別に間違ったからって使えなくなるわけじゃないがね。。。)
STEP9 : [ポリシータイプ] > [ジョブ機能] 選択で、コンテンツをフィルタリング
選びやすいように、フィルタリングする。
今後のために、こういう機能があるってことを覚えておいて損はない。
これで10件だけ表示された。
STEP10 : [AdministratorAccess] をオン、[Create group] を選択
これもそのまんま。
「AdministratorAccess」の説明には、以下のように書かれている。
Provides full access to AWS services and resources.
(AWSのサービスとリソースへのフルアクセスを提供する。)
つまり、IAMユーザーでありながら、全サービスにアクセスできるってことだ。
ただ、ルートユーザーはさらにクレジット情報など重要な情報を持つので、普段のAWSサービスの利用にはルートユーザーは使用しないってこと。
スポンサーリンク
STEP11 : グループリストに戻り、新しいグループのチェックボックスをオン。必要に応じて [Refresh] 。
グループの作成をしたら、グループリストに戻って、作ったグループ(Administrators)がチェックされてた。
・もしされてなかったら、チェック。
・もし表示されてなかったら、「更新」しよう。
ってこと
STEP13 : (オプション) タグをキー - 値のペアとしてアタッチして、メタデータをユーザーに追加
こちらはオプションなので今回は正直よくわかっていないので割愛。
STEP14 : [Next: Review] を選択して、新しいユーザーに追加するグループメンバーシップのリストを表示。続行する準備ができたら、[Create user] を選択
先程のタグはなしで、「次のステップ:確認」へ
作成するユーザー名はその他詳細、グループなどチェックして「ユーザーの作成」
はい。無事できました。
IAMのトップに戻ると、ちゃんと追加されてた!
こちらのドキュメント(最初の IAM 管理者のユーザーおよびグループの作成 - AWS Identity and Access Management)の流れは以上で終了。
最後に、この作ったIAMユーザーでサインインしてみる。
STEP15 : IAMユーザーでサインイン
IAMのダッシュボードに戻ると、「IAM ユーザーのサインインリンク」というURLがある。
まずこれをコピーしておく。
そして、今はルートユーザーでサインインしているので、サインアウトする。
先程コピーしたURLをブラウザで開き、IAMユーザー(Administrator)でサインインする。
※アカウントはURLの値(数値など)になっている。
ここ値は覚えやすいように自由に変えられるが、ここでは説明は割愛。
はい。無事サインインできました。
スポンサーリンク
おまけ:IAMユーザーで請求情報にアクセスできるようにする
STEP10のところに、以下のような注記が実はあった。
AdministratorAccess アクセス許可を使用して、AWS Billing and Cost Management コンソールを使用する前に、IAM ユーザーおよびロールの請求へのアクセスをアクティブ化する必要があります。そのためには、請求コンソールへのアクセスの委任に関するチュートリアルのステップ 1 の手順に従ってください。
なんでもできるIAMユーザーを作ったが、請求情報にはデフォルトアクセスできないようだ。
ということで、IAMユーザー(およびロール)でも請求情報にアクセスできるように設定しておこう。
ルートユーザーでサインイン。
※IAMユーザーでサインインしている場合は、サインアウトし、サインイン画面で「ルートアカウント認証情報を使用してサインイン」をクリックすれば、OK。
ルートユーザー名とパスワードでサインインしましょう。
アカウント > 請求ダッシュボード
下の方にこんなのメッセージがあると思う。
お客様のアカウントの請求情報に対するIAMアクセスはオフになっています。これはアカウント情報ページでオンにすることができます。
ここの「アカウント情報」のリンクをクリック。
「IAMユーザー/ロールによる請求情報へのアクセス」横の「編集」をクリック。
「IAMアクセスのアクティブ化」にチェックを入れ、「更新」
これでOK。
請求アラートなどまだ未設定の場合はこちらもどうぞ。
ahrk-izo.hatenablog.com
以上。