AWSコンソールを複数人で安全に共有する方法


## はじめに
[AWSキッチン](http://aws.lepra.jp)のシェフ中村です。
AWSでサーバーを構築する際に、アカウントを保持している人とは別の人が作業を行う場合があり、たとえば、お客様が開発ベンダーに仕事を依頼する際にAWSのアカウントを伝える場合がそれにあたります。この際に問題になるのが、通常のAWSログインアカウントを渡した場合、クレジット情報や課金情報等のお金にかかわる情報まで閲覧できてしまう可能性があることです。もちろんクレジットカード番号の閲覧はできませんが、これらの情報にアクセスできるのは少々問題があります。そこで、管理者用のアカウントと作業者用のアカウントを分けることで、これらの問題に対応したいと考えます。

## AWSアカウントの種類
AWSのアカウントには、ルートアカウントとIAMアカウントがあり、ルートアカウントは管理者のアカウントで、IAMアカウントは利用するユーザー毎のアカウントになります。IAMアカウントは細かいアクセス制御が可能です。

## 作成対象のIAMアカウント
ここから、IAMアカウントとしてユーザー”nakamura”を作成する方法を記載します。このユーザーにはAdministrator権限を与えます。これによって、提供されるAWSサービスの殆どが操作できるため、作業者側の作業に支障はないと考えます。しかし、ルートアカウントではないため、課金情報等にはアクセスできません。

## IAMアカウントの作成方法
IAMアカウントの作成はルートアカウントにて行います。

1. ルートアカウントでログイン後、「Identity and Access Management」をクリックします。
![WS000000.jpg](https://qiita-image-store.s3.amazonaws.com/0/64163/f07c9d1b-ca3b-453e-b0ab-f541f46953e2.jpeg)

2. Identity and Access Managementの画面が開くので、左側メニューから「ユーザー」をクリックします。
![WS000001.jpg](https://qiita-image-store.s3.amazonaws.com/0/64163/a8449fbf-81f8-1975-b82e-8a7842770c5f.jpeg)

3. 右側上の「新規ユーザーの作成」をクリックします。
![WS000002.jpg](https://qiita-image-store.s3.amazonaws.com/0/64163/a61a89ad-b107-8705-7e68-a0097fbc2131.jpeg)

4. ユーザー名の入力画面が表示されるので、作成するユーザーの名前を入力します。ここでは、”nakamura”としました。その後、右下の「作成」ボタンをクリックします。
![WS000003.jpg](https://qiita-image-store.s3.amazonaws.com/0/64163/9e976075-4d83-30a0-7eb2-c8d419935fa1.jpeg)

5. ユーザーが作成されます。右下の「認証情報をダウンロード」をクリックし、認証情報が書かれたファイルをダウンロードします。このファイルにはAWSが提供するAPIへのアクセスに必要な鍵情報が書かれています。その後、「閉じる」をクリックします。
![WS000004.jpg](https://qiita-image-store.s3.amazonaws.com/0/64163/2b558f55-73bc-dc82-901d-cb6203494ec8.jpeg)

## 作成したIAMアカウントにグループの割り当て

作成したIAMアカウントに対してグループを割り当てます。ここでは、管理者権限を持っているAdministratorグループを作成したユーザーに割り当てます。

1. 左側メニューから「ユーザー」をクリックし、表示されたユーザー一覧からグループを割り当てたいユーザー名をクリックします。
![WS000006.jpg](https://qiita-image-store.s3.amazonaws.com/0/64163/a906b808-63c0-5966-6002-4cb24dfedd0e.jpeg)

2. 「グループにユーザーを追加」ボタンをクリックします。
![WS000007.jpg](https://qiita-image-store.s3.amazonaws.com/0/64163/b0830380-26da-d42e-263b-bbcf4dd667dc.jpeg)

3. 「Administrator」にチェックを付けます。
![WS000008.jpg](https://qiita-image-store.s3.amazonaws.com/0/64163/b1f16ea5-a502-420e-f69c-14837abc4753.jpeg)

4. 右下の「グループに追加」ボタンをクリックします。
![WS000009.jpg](https://qiita-image-store.s3.amazonaws.com/0/64163/0da20095-d248-2dd4-635e-5cc6f95a69f0.jpeg)

## パスワードの設定方法

作成したIAMユーザーがAWSコンソールにログインする時に利用するパスワードを設定します。幾つか種類がありますが、ここでは、ランダムなパスワードをまずは設定し、そのユーザーがAWSコンソールに最初にログインする際にユーザー側でパスワードを変更できるようにします。

1. 左側メニューから「ユーザー」をクリックし、表示されたユーザー一覧からグループを割り当てたいユーザー名をクリックします。
![WS000006.jpg](https://qiita-image-store.s3.amazonaws.com/0/64163/a906b808-63c0-5966-6002-4cb24dfedd0e.jpeg)

2. 右側画面の下側にある「パスワードの管理」をクリックします。
![WS000010.jpg](https://qiita-image-store.s3.amazonaws.com/0/64163/a5763925-69af-8fb0-9e6a-e1081c7bdf6f.jpeg)

3. 「次回のサインインで新しいパスワードを作成するようにユーザーに求める」にチェックを付けます。
![WS000011.jpg](https://qiita-image-store.s3.amazonaws.com/0/64163/989706b4-48f8-7f56-76ac-7a3f1093b5fc.jpeg)

4. 「適用」ボタンをクリックします。
![WS000012.jpg](https://qiita-image-store.s3.amazonaws.com/0/64163/abf1d401-c261-7e40-733f-c2db3f87e117.jpeg)

5. 「認証情報のダウンロード」ボタンをクリックします。ログイン先URLとログインID、パスワードが書かれたファイルがダウンロードされます。その後、「閉じる」をクリックします。
![WS000013.jpg](https://qiita-image-store.s3.amazonaws.com/0/64163/2df52816-bd32-9aca-3bc3-4b5f891f5389.jpeg)

## IAMアカウントでログインするユーザーに渡すもの
AWSコンソールにアクセスするためには、パスワードの設定方法の最後でダウンロードした認証情報が書かれたCSVファイルが必要です。具体的には、このCSV内に書かれているUser Name、Password、Direct Signin Linkの情報が必要となります。

また、ユーザーがAWSのAPIを利用する場合には、Access Key Id、Secret Access Keyの二種類が必要となります。この情報は、ユーザーを作成する際の最後にダウンロードしたCSVファイルに書かれています。

## 最後に
この記事では、課金等の管理者側機能にはアクセスさせず、AWSの管理コンソールを作業者に利用して頂く方法を記載しました。本来であればIAMの細かなアクセスコントロール機能を駆使して必要最低限のアクセス権限をユーザーに付与するのが理想的ですが、作業者側に公開したくない情報としては、課金やクレジットカード情報等のサーバー構築作業に関係ない情報であることから、もっとも簡単にこれらの情報を閲覧できなくすることを目的として本記事を記載致しました。最後まで読んで頂きありがとうございました。