「お前には n 日間でAWSを学んでもらう」 #1 です. まずは個人用にルートアカウントを作成し, 砂場で遊ぶための準備を整えるというところです.

最初に作られるアカウントは近所の砂場で遊ぶだけの子供というのにはあまりにも力があり過ぎるので制限していきましょう.

IAMでのセキュリティのベストプラクティスに沿って行きます.

この記事のスコープ

  • 作成したAWSルートアカウントのMFAを有効化する
  • 開発用IAMユーザーを作成する
  • グループを使用したアクセス許可の割り当てを行う

スコープ外

  • AWSのルートアカウントを作成する (ご用意ください)

「どこかで作ってもらったIAMユーザー」では多分この記事の内容を実施できません. ですが, それがあるならこの次以降の記事に進んでいいと思います.

IAM (AWS Identity and Access Management)

Amazon曰く, IAMはAWSのサービスやリソースへのアクセスを安全に管理するためのものだそうです.

Webアプリケーションの脆弱性... とかの段階以前に, 悪意のある人にアプリケーション全体を司るAWSそれ自体へのフルアクセスが許されてしまったらお話になりませんからね. こういったものも必要なのでしょう.

ルートアカウントのMFAを有効化する

ひとまずIAMダッシュボードを開いていきましょう. そうするとセキュリティステータスなるものが表示されていると思います.

IAM ダッシュボード - セキュリティステータス

ひとまず上記全てにチェックがつくことを目指します.

まずはルートアカウントのMFAを有効化 > MFAの管理を押しましょう.

次にセキュリティ認証情報の多要素認証(MFA)を押して, MFAの有効化を押しましょう.

セキュリティ認証情報

Google認証システムなどをお使いの方は仮想MFAデバイス, Yubikeyとか持っているのなら(欲しい!)そのように選んでもらって設定してください.

(僕はスマホが突然の死するのが怖いのでAuthenticator Plusを使っています, Googleドライブ上とかにOTP設定情報をバックアップできたりするのですがある意味少しセキュリティ落としていますよね. )

IAM パスワードポリシーの設定

IAMダッシュボードからパスワードポリシーの適用をクリックし, 少し設定します.

とりあえずやってみますという感じです.

グループを使用したアクセス許可の割り当て

グループを使用したアクセス許可の割り当て > グループの管理で開くこのページの「新しいグループの作成」でグループを作成しましょう.  

今回はグループ名として Developer,  このグループに PowerUserAccess ポリシーをアタッチします.

アクセス管理 > グループ

PowerUserAccessポリシーは割と強いポリシーで, IAMのフルアクセスはできませんが, ServiceLinkedRoleは作成したり消せたりなどできます. 以降の記事はこのポリシーを持つ IAMユーザーを使っていきます.

ユーザーの作成

いよいよユーザーの作成に入ります. ユーザー名を決めたら, あとはプログラムによるアクセスとAWSマネジメントコンソールへのアクセスを許可してあげます.

とりあえずパスワードは自動生成にして次へ進みましょう.

次のページでユーザーをグループに追加できます. Developer に追加しましょう.

タグは不要です. 確認画面を過ぎたら認証情報をダウンロードできるページに進むので認証情報を必ずダウンロードしてください.

.csvの中身を見てみるとシークレットキーやパスワードが記録されています.

終わり

以上でチェックが全部付きましたね!お疲れさまでした!