[AWS] 閲覧のみ(Read Only) IAMユーザの作り方
はじめに
こんにちは。調査等に一時的に利用する読み込み専用のユーザ(IAMユーザ)の作成方法を説明します。このユーザ情報を調査する人に渡せば、その人が誤ってリソースを削除することもありませんし、調査後ユーザを削除してしまえば、セキュリティ的にも安心です。弊社でお客様の環境を確認する際にも利用します。手順はつぎのとおりとなります。
- IAMユーザの作成
- ログイン可能ユーザへ変更
- ポリシーの設定
- ログインの確認
- ユーザの削除
IAMユーザの作成
AWS Management Consoleにログインし、「IAM」をクリックします。
IAMの画面になります。「Users」をクリックします。
ユーザー一覧画面になります。「 Create New User」をクリックします。
ユーザ作成ダイアログが表示されます。 5人ユーザを同時に作成可能です。一番上のテキストボックスに「readonly」と入力し、Createボタンをクリックします。
ユーザーの作成に成功したというダイアログが表示されます。失敗した場合はエラーメッセージを確認します。 成功した場合は左下の「Download Credentials」をクリックしてCredential.csvをダウンロードしてください。
Credential.csvにはユーザー名とAPIを利用するためのアクセスキーとシークレットキーが含まれています。 シークレットキーはこのときしか取得できないので、ダウンロードをし忘れたらアクセスキーを再作成する必要があります。 ダウンロード完了後「Close Window」をクリックします。
User Name | Access Key Id | Secret Access Key |
---|---|---|
readonly | AKIAJFZ3VAKUZGEOPYLA | dPkbDKlEF7nJzZj37wx5/0c9pSHGPL4PF1ecZ/6u |
この値は実際に作成したユーザーIDです。現在は削除してありログインはできません。安全であることを示すためにあえてマスクしていません。
IAMユーザーの作成は完了です。
ログイン可能ユーザへ変更
IAMユーザーを作成しただけですとAPI経由でのアクセスのみ許可されます。AWS Management Consoleからもアクセスできるようにします。手順はとても簡単です。
ユーザー一覧画面でreadonlyの左側をチェックします。
「Security Credentials」タブをクリックします。そして「Manage Password」をクリックします。
パスワード生成ダイアログが表示されます。「Apply」をクリックします。
パスワードの生成に成功したというダイアログが表示されます。失敗した場合はエラーメッセージを確認します。 成功した場合は左下の「Download Credentials」をクリックしてCredential.csvをダウンロードしてください。
Credential.csvには、先程と内容が異なりユーザー名とパスワード、そしてログインのためのURLが含まれます。 パスワードはこのときしか取得できないので、ダウンロードをし忘れたら再作成する必要があります。 ダウンロード完了後「Close Window」をクリックします。
User Name | Password | Direct Signin Link |
---|---|---|
readonly | MZ|XEb(WlXS$ | https://314132709601.signin.aws.amazon.com/console |
パーミッションの設定
ログインはできるようになりましたが、それ以外の操作は全て失敗する状態です。Readonly用のパーミッションを設定します。
「permissions」タブを選択し、「Attach User Policy」をクリックします。
ポリシーテンプレートの一覧ダイアログが表示されます。「Read Only Access」を選択し、「Select」をクリックします。
ポリシーの内容が表示されます。JSONファイルで編集可能ですが、なにもせず「Apply Policy」をクリックします。こちらの内容の詳細については、[AWSマイスターシリーズ]Identity and Access Management (IAM) や IAMのユーザーガイド(英語)を確認ください。
ログインの確認
ユーザーをつくったら、実際にログインして試してみましょう。作ったユーザーでログインし、EC2インスタンスをterminateしよとすると以下のようなエラーが発生します。
ユーザーの削除
ユーザーの削除は、ユーザー一覧画面でreadonlyの左側をチェックし、Delete Userを選択します
確認ダイアログがでてくるので「Yes, delete」を選択すれば削除完了です。
まとめ
IAMをつかってReadOnly IAMユーザーを作る方法を説明しました。グループをつくったり、細かくポリシーを書いたり、Roleを作成したりとIAMは色々できることがあります。ここまで細かく権限制御できるクラウドサービスはAWSだけだとおもいます。うまく活用してセキュアなシステムを作りたいですね。