うさがにっき

読書感想文とプログラムのこと書いてきます

ユーザアカウント(IAMアカウント)の作成

概要

通常、実際にAWSを操作するにはルートアカウントを使用せずIAMアカウントを利用する
ユーザごとに権限を設定できたり、もしユーザが乗っ取られてもルートアカウントから削除ができる

ユーザを作成に伴い以下のことを行う

  • IAMユーザの作成
  • IAMグループの作成
  • IAMポリシーの作成
  • IAMポリシーのグループへの割り当て

詳細

IAMユーザの作成

Identity and Access Managementを選択
f:id:tiro105:20150527003819p:plain

左側のメニューから「ユーザ」を選択し、新規ユーザの作成を押下
f:id:tiro105:20150527003839p:plain
f:id:tiro105:20150527003929p:plain

ユーザ名を入力し、「ユーザごとにアクセスキーを作成」にチェックを入れ、作成を押下
AWS CLIなどでアクセスキーは使用、CLIについては後日説明
f:id:tiro105:20150527003946p:plain
f:id:tiro105:20150527004018p:plain

これでユーザが作成される、アクセスキーをcsv形式でダウンロードできる
このアクセスキーを使えばCLIなどを使ってawsにアクセスできるようになるのでローカルで大事に保存する

IAMポリシーの作成

IAMアカウントは作成したが、存在するだけで権限がないので何もできない
ので権限を作って、与える
権限はIAMポリシーで管理される
f:id:tiro105:20150527004105p:plain

IAMポリシーの管理には二つの方法がある

Managed Policies

複数のユーザ、グループ、ロールに付与することができる
主にこっちが使われる

Inline Policies

特定のユーザ、グループ、ロールに付与することができる
特定のユーザの身に権限を付与したい時はこっちを使う

今回はManaged Policiesを使う

ポリシーはJSON形式で記述されている
左メニューのポリシーを選び一番上のAdministratorAccessを選んでみる
f:id:tiro105:20150527004127p:plain

JSONで記載されている

Effect

許可(Allow)か不許可(Deny)

Action

設定対象となるサービスを記述

Resource

設定対象のリソースを記述、特定のパケットのみを対象にする、とかができる

JSONで直接書くのはしんどいので、Policy Generator、既存のポリシーをコピーする「AWS 管理ポリシーをコピー」を使ってポリシーを作成する
今回はAWS 管理ポリシーをコピーを使う
f:id:tiro105:20150527004414p:plain
f:id:tiro105:20150527004425p:plain
f:id:tiro105:20150527004438p:plain
f:id:tiro105:20150527004457p:plain

これでAdministratorAccessをコピーした独自ポリシーが作成された

IAMグループの作成

このポリシーをIAMユーザかIAMグループに付与する
今回はIAMグループに付与するので、IAMグループを作成し、IAMユーザをそのグループに追加する
左のメニューからグループを選択し、「新しいグループの作成」を押下
f:id:tiro105:20150527004543p:plain

ポリシーの設定を行う
f:id:tiro105:20150527004559p:plain

preview画面が表示されるので問題ないなら、グループの作成を行う
f:id:tiro105:20150527004631p:plain

グループにユーザを追加する
作成したグループをクリック
グループにユーザを追加をクリック
f:id:tiro105:20150527004631p:plain

追加するユーザをチェックしてユーザの追加
f:id:tiro105:20150527004811p:plain

これでユーザが追加される
f:id:tiro105:20150527004903p:plain

これでユーザ(グループ)に権限が付与され、AWSマネジメントにアクセスできるようになったが、ログインするためにパスワードを設定する
左メニューのアカウント設定を押下
この画面でパスワード自体のポリシーを設定できる
f:id:tiro105:20150527004937p:plain

次に左メニューからユーザを選び、対象ユーザを選択
f:id:tiro105:20150527005003p:plain

パスワードの管理を押下
f:id:tiro105:20150527005017p:plain

今回は自動作成パスワードを割り当て、初回起動時にパスワードの設定を促す
f:id:tiro105:20150527005042p:plain

パスワードが発行される
f:id:tiro105:20150527005059p:plain

これでようやく、IAMアカウントでAWSコンソールにサインインできる準備ができた
だが、ルートユーザとIAMアカウントのサインインページは異なる
f:id:tiro105:20150527005127p:plain

「IAM ユーザーのサインインリンク」の下に表示されているのがIAMユーザのサインインリン
これだとわかりにくいので数字の部分にエイリアスを割り当てる
カスタマイズを押下
f:id:tiro105:20150527005141p:plain

これでエイリアスを割り当てられる
ちなみにこれで全てのセキュリティステータスがOKになった
f:id:tiro105:20150527005158p:plain

IAMユーザでログインしてみる
f:id:tiro105:20150527005234p:plain

無事ログインできた
安全のためにroot的に使うユーザであればMFAを設定するのが吉