はじめに
AWSのアカウントを作成したので、まずは「AWSアカウント作ったらこれだけはやっとけ!IAMユーザーとAuthyを使ったMFAで2段階認証」に従ってIAMアカウントを作れば、基本的にはスムーズにIAMの設定が終わります。
しかし、**「コレ、選択肢がいっぱいあるけど、どれ選べば良いんだ?」**と、途中で気になって仕方なくなってしまう人向けに書いた記事です。
以降、見出しは「元記事の見出し → 疑問」といった感じで構成して、元記事と対応を取ってます。
1.Authyのセットアップ → Googleの認証システムを既に使ってるんだけど?
いわゆる2段階認証というやつをアプリで解決しちゃうのがAuthyなのですが、同じことをGoogleアカウントへのログイン時に使えるようにしている人もいますよね?
もちろん、同じように利用できます。設定方法もAuthyの場合と特に変わらないので、置き換えて読めば問題ありません。
また、なんとなくGoogleのアプリの方が良いなという人も、そちらを使ってあげて下さい。
Android版アプリとiOS版アプリのそれぞれあるのでインストールしちゃいましょう。
3-2. ポリシーの適用(IAMユーザーへ) → 必須?
NO!
ポリシーはグループ単位とユーザー単位で設定でき、両方設定されたユーザーは両方の権限を合わせ持つことになります。
例外的なユーザーを除いてグループ別管理の方が管理が楽になるかと思いますので、ユーザーにはポリシーを設定せず、グループにポリシーを設定し、各グループにユーザーを所属させる方法をオススメします。
グループにポリシーを設定する方法は下記を参照。
Groupの作成とアサイン
- IAM Console に移動
- 左メニューのGroupsを選択
- Create New Groupを選択
- 後は流れに沿ってグループを作成
- 左メニューのUsersを選択
- グループにアサインするユーザーを選択
- Add User to Groupsを選択して、グループに所属させる
3-2. ポリシーの適用(IAMユーザーへ) → ポリシーがいっぱい。どうしよう!?
「3-2-2.で「Administrator Access」を選んでるんだけど、これってどうなん?」と思った方へ
良く使いそうなポリシーを幾つかピックアップしておきました。
ポリシーは後から変更もできます。また、自分でオリジナルのポリシーも作れます。
- AdministratorAccess: 基本的に全部できる。ルートアカウントの代わりに使うアカウントに設定しておくと便利。
- PowerUserAccess: 上記からIAMの操作権を取り除いたポリシー
- ReadOnlyAccess: 参照権限のみのポリシー
- ○○FullAccess
- ○○の所にサービス名が入り、それぞれのサービスに限定して全権限を設定できるポリシー
- 例: AmazonEC2FullAccess、AmazonS3FullAccess
- ○○ReadOnlyAccess
- ○○の所にサービス名が入り、それぞれのサービスに限定して参照権限を設定できるポリシー
- 例: AmazonEC2ReadOnlyAccess、AmazonS3ReadOnlyAccess
5.Password Policyの設定 → で、どれをチェックすれば良いんだい?
上4つは迷わずチェックしてしまいましょう。
5.〜8.は運用ルールと相談して設定して下さい。
セキュリティよりも運用の楽さを優先するのであれば、追加で5つ目を設定しておくと良いです。
- Require at least one uppercase letter
パスワードに必ず大文字を含める - Require at least one lowercase letter
パスワードに必ず小文字を含める - Require at least one number
パスワードに必ず数字を含める - Require at least one non-alphanumeric character
パスワードに必ず記号を含める - Allow users to change their own password
発行したIAMアカウントに、パスワードの変更を許可する - Enable password expiration & Password expiration period (in days):
パスワードに期限を設ける。期限は入力した日にちに設定する。 - Prevent password reuse & Number of passwords to remember:
同一パスワードの再使用を許可しない。記録しておくパスワードの個数を指定する。 - Password expiration requires administrator reset
パスワードの期限が切れた場合、ユーザーは管理者にコンタクトを取る必要がある