目次
1.IAMユーザーとアクセス許可
IAMユーザーは、作成しただけでは何の権限も割り振られていないため、メンバーが開発作業で使用できるようにするためには、AWSの管理者(ルートユーザー)が対象のIAMユーザーに対して、アクセス許可を割り振ってあげる必要があります。
アクセス許可は、「ポリシー」という形で各ユーザーに割り振ることで、そのユーザーは割り振られた権限に関する処理を実行することが可能となります。
IAMユーザーにポリシーを付与するには、主に以下の2点の方法があります。
・IAMユーザーに直接ポリシーを割り当てる。
・ユーザーグループにポリシーを割り当て、そのユーザーグループをIAMユーザーに割り当てる。
管理するIAMユーザーが少数の場合は、各ユーザーに直接ポリシーを割り当てていく形でも問題ないでしょう。
しかし、ユーザー数が増えてくると、各ユーザー毎に個別にポリシーを割り当てていった場合、管理しきれなくなる恐れがあります。
その場合は、ユーザーグループを利用する方法が便利です。
2.IAMユーザーに直接ポリシーを割り当てる

マネジメントコンソール画面の「IAM」から、許可を追加したいユーザーを選びます。
(今回は、前回記事で作成した「test-user」に許可を追加していきます)
選択後は上の画面の通り、対象IAMユーザーの概要が表示されます。まだこの時点でが、パスワード変更の許可(IAMUserChangePassword)しか付与されていません。
他には何もできないアカウントなので、ここから「許可を追加」をクリックします。


「許可を追加」画面に移動すると、許可のオプションを選ぶことができます。
今回は、個別にポリシーを割り当てるのが目的なので、「ポリシーを直接アタッチする」を選択します。
すると、上記画面の通り、数あるポリシーの中から、そのユーザーに合ったものを直接割り当てる事ができます。
(これを「アタッチする」と表現します)
今回は、AWS内のリソースの全アクセス許可を持つ「PowerUserAccess」と、IAMに関する全アクセス許可を持つ「IAMFullAccess」を付与していきたいと思います。

まずは「PowerUserAccess」ですが、上記の通り、検索ボックスに ”PowerUser” 等と入力すると、打ち込んだキーワードに合致するポリシーが検索できます。
「PowerUserAccess」も抽出されているので、左のチェックボックスを選択状態にしましょう。
同じ要領で、「IAMFullAccess」も選択状態にします。

2つのポリシーを選択したら、「次へ」をクリックしましょう。

最後に、確認画面で選択したポリシーが全て表示されていることを確認出来たら、「許可を追加」ボタンをクリックしましょう。

元々付加されていた「IAMUserChangePassword」のポリシーに加え、今回追加した2つのポリシーが追加されていることを確認し、作業は終了です。
この他にも、様々なポリシーが用意されていて、きめ細かく権限を設定することが可能なので、是非、いろいろと試してみて下さい。
3.ユーザーグループにポリシーを割り当てる
ここまでは、IAMユーザーに直接ポリシーを割り当てる方法を示しました。
この直接割り当てる方法ですが、ユーザー数が少ない場合は、管理者の負担も少ないため、細かい設定をユーザー毎に個別に実施することが可能です。
しかし、これが数十、数百のユーザーに個別に割り当てるとなると、話はまるで変わってきます。
あまりの数に管理も煩雑になることが予想され、確実に混乱することでしょう。
例えば、本来割り当てるべきユーザーとは別のユーザーにそのポリシーを割り当ててしまったり、セキュリティの観点でも大きな問題となってしまいます。
そこで、この「ユーザーグループにポリシーを割り当て、そのユーザーグループをIAMユーザーに割り当てる。」という方法が役に立ちます。
① ユーザーグループの作成

対象のIAMユーザーの画面にて、「許可を追加」を選択するところまでは、1の直接ポリシーを割り当てた時と同じです。
今度はユーザーグループを作成するのが目的なので、「ユーザーをグループに追加」を選択し、「グループを作成」をクリックしてください。
クリック後、下記のような「ユーザーグループを作成」というポップアップ画面が表示されます。

まずは、識別するためのユーザーグループ名を指定します。
ここでは、「test-user-group」と命名しましょう。
このユーザーグループに対して、任意のポリシーを付与していきます。付与の方法は、検索ボックスに付与したいポリシー名の一部を入力し、検索結果から対象のポリシーを選び、左側のチェックボックスにチェックを入れていくだけです。
今回は、直接ポリシーを付与した時と同様、PowerUserAccessとIAMFullAccessをユーザーグループに付与してみましょう。


このように、2つのポリシーを選択しましたら、「ユーザーグループを作成」をクリックしてください。

ユーザーグループ欄に、先ほど作成したtest-user-groupが追加されていることが確認できます。
しかし、この時点では、まだ正式にユーザーグループが作成された訳ではありません。
対象ユーザーグループをチェックボックスで選択し、「次へ」をクリックしてください。

これで、正式にユーザーグループが作成されました。
では、次はIAMユーザーをこのユーザーグループに招待しましょう。
② ユーザーグループにIAMユーザーを割り当てる

見ての通り、作成したユーザーグループは、まだユーザーが登録されていません。
よって、「ユーザーを追加」をクリックし、このユーザーグループに招待するユーザーを選択します。

まだ、この時点ではIAMユーザーは「test-user」しか作成していないため、このユーザーを選択しましょう。
(ユーザーが複数存在する場合は、その中から任意のユーザーを選択できます)
選択を終えたら、「ユーザーを追加」をクリックしましょう。

ユーザーを追加した結果、この通り、ユーザーグループにユーザーが招待されました。
これで、このtest-userは、test-user-groupに属した形となります。
test-user-groupはPowerUserAccessとIAMFullAccessをユーザーグループという2つのポリシーを割り当てられていたため、同グループに招待されたtest-userは、同等の権限を付与されたことになります。
まとめ
管理するIAMユーザーが少ないうちは、各ユーザーに直接ポリシーを割り当てる方法でも特に問題ないかと思います。
しかし、複数のIAMユーザーに同じポリシーを割り当てたい場合、そして、そのユーザー数が多い場合、各ユーザーにひたすら同じポリシーを付与していくことになり、相当に面倒です。
その時は、予めユーザーグループにポリシーを付与しておいて、そのグループに対象のIAMユーザーをまとめて招待すれば、瞬時にそれらのユーザーに同じ権限を与えることができます。
管理するユーザーが増えれば増えるほど、このユーザーグループという仕組みが役に立ちますので、是非試してみて下さい。
お読みいただき、有難うございました!


コメント