【サービスを作ろう】はじめてのサーバ 〜IAMユーザー作成〜

こんにちは!ドイです。

コロナ禍でリモートワークが浸透し、外に出る機会もめっきり減りました。
気付けば花粉症の季節が到来し、季節の移ろいを身をもって感じた次第です;;

さて、前回の記事ではAWS導入編と題して、AWSアカウントを作成し、IAMという概念を学んだかと思います。 こちらが前回の記事です。

tech.arms-soft.co.jp

本日は、IAMユーザーの作成、それに付随する概念について学んでいきたいと思います。

IAMユーザー作成

IAMの作成について、こちらを参考に行っていきます。
AWS アカウントでの IAM ユーザーの作成

ログイン

まずは、前回作成したルートユーザーで、コンソール画面にログインします。
検索バーに「IAM」と入力し、サービスの一覧に表示される[IAM]をクリックします。

左に表示されるダッシュボードより[ユーザー]をクリック

次の画面で[ユーザーを追加]をクリックして、こちらからIAMユーザーを作成していきます。

アクセス方法の選択

ユーザー名を入力し、AWSにアクセスする方法を選択します。
アクセスキー - プログラムによるアクセス:AWS CLI または Tools for Windows PowerShell を使用します。
パスワード - AWS マネジメントコンソールへのアクセス:AWS Management Consoleにアクセス。

今回はコンソール画面からの操作を想定しているので、[AWS マネジメントコンソールへのアクセス]を選択します。

[次のステップ]をクリックして、アクセス許可の設定を行っていきます。

アクセス許可の設定

前回の記事で、バイト先における店長とバイトの例をお話したかと思います。店長とバイトでは、同じログインという動作を行っているのに、それぞれ見られる画面が異なる。それぞれの画面への「許可」の差異によるものと説明をしたかと思いますが、このアクセス許可画面は、まさにそれに関わります。[ユーザーをグループに追加][アクセス権限を既存のユーザーからコピー][既存のポリシーを直接アタッチ]のうちの[既存のポリシーを直接アタッチ]をクリックして画面を見ますと「ポリシー」という単語が書かれています。便宜上、「ポリシー」の説明をしていきます。

ポリシー

AWSポリシーは のオブジェクトであり、アイデンティティやリソースに関連付けて、これらのアクセス許可を定義します。
IAM でのポリシーとアクセス許可

ポリシーの一覧が表示されていますが、ポリシーの名称にサービスの名前が含まれているので直感的に理解がしやすいかと思います。この一覧は、AWSが用意したポリシーで、それぞれのサービスに対する「何の操作を許可するのか」が定義されています。[ポリシーの作成]ボタンがありますが、自分でポリシーを作成することもできます。ユーザーとポリシーを紐づける手段として、いくつかあるようで、画面上に表示されている三つの概要が以下です。

[既存のポリシーを直接アタッチ]:AWSが用意したポリシーをIAMユーザーに直接アタッチすることができます。
[ユーザーをグループに追加]:IAMをグループ化して、そのグループ自体にポリシーをアタッチします。ポリシーをアタッチしたグループにユーザーを追加することで、IAMユーザーとポリシーを紐づけます。
[アクセス権限を既存のユーザーからコピー]:現在は初めてIAMを作成していますが、既に他のIAMユーザーが存在している場合、そのIAMユーザーとポリシーが紐づいている状態を、新規のIAMにコピーして、新規のIAMユーザーとポリシーを紐づけます。

IAM でのポリシーとアクセス許可を見ていただくとわかりますが、ポリシーにも種類がありまして、上記は「アイデンティティベースポリシー」に該当します。ポリシーという概念を学ぶ上で避けては通れない「ロール」という単語の説明もしていきたいと思います。

ロール

特定のアクセス権限を持ち、アカウントで作成できる IAM アイデンティティです。IAM ロールは、IAM ユーザーといくつかの類似点を持っています。ロールとユーザーは、両方とも、ID が AWS でできることとできないことを決定するアクセス許可ポリシーを持つ AWS ID です。
ロールに関する用語と概念

まずここで「IAMユーザーと何が違うのだろう」と混乱します(しました)。

IAM ロールとIAM ユーザーはポリシーと紐づくことができますが、「何に」という部分がそれぞれでは変わるのです。IAMユーザーとポリシーを紐づけるときに、主体は「IAMユーザー」になります。しかし、IAMロールとポリシーを紐づけるときには、主体は「AWS のサービス」「AWS アカウント」「ウェブアイデンティティ」「SAML 2.0 フェデレーション」「カスタム信頼ポリシー」のいずれかになります。例えばEC2とRDBを利用する中で、EC2からRDBにアクセルするポリシー(許可)をIAMロールにアタッチするといった具合です。

IAMの作成から、用語の説明に重点を置きましたが、IAMユーザー作成に戻りたいと思います。

ポリシーの選択

[既存のポリシーを直接アタッチ]をクリックで選択した後[AmazonEC2FullAccess]にチェックをつけます(この記事の通過点として EC2の立ち上げがあるので、そのためです)。そして[次のステップへ]をクリックします。次のページではタグを追加することができますが、こちらオプションなのでそのまま次へ進みます。

次の画面で入力した内容を確認して[ユーザーの作成]をクリックすると、これでIAMユーザーを作成することができます٩( ᐛ )و

まとめ

作成してしまえばなんてことのない作業だったかと思います。しかし、付随する用語の理解が難しいです。わからない用語を調べて、さらにその先でまたわからない用語が出てきて。。まるでいたちごっこのようです。音を上げてしまいたくなりますが、コツコツと作業していきたいと思います。