AWS 表示/閲覧/読取りのみ(Read Only) アカウント(IAM)の作り方、また最強アカウントのポリシー付与方法


はじめに

新規にAWSを作成すると最初に1つ、Root権限のConsoleにログインできるアカウントが提供されます。

ConsoleのRoot権限は、リソースの変更、削除ができてしまいますので、操作ミスによるリソースの削除も出来てしまいますので、とても危険なアカウントです。

実際の運用ではアカウント単位でログが取得できますので、各ユーザにアカウントを割り付けを行い、そのアカウントに適切なポリシーを割り当てる方法が良いです。

事故が起きた時にもアカウント単位でログが追跡しやすい

またアカウントが乗っ取られたときに、ビットコインの採掘に利用されたり、高額請求になる可能性も考えられますので、適切なポリシーをアカウントに割り付けて運用する必要があります。

今回はRead OnlyのIAM(アカウント)を作成します。

システム管理者においても、確認作業等はこのRead Onlyのアカウントで作業したほうが無用な事故を起こさず良いと思います!!

また、最後に最強アカウントのポリシーの付与方法も記載します。

手順

IAM
AWS Management Consoleにログイン/サービス/IAM

IAM/User
ユーザ/ユーザを追加

「ユーザ名」を入力する
「AWS マネジメントコンソールへのアクセス」をチェックする。
「次のステップ:アクセス権限」をクリックする。

「既存のポリシーを直接アタッチ」をクリックする。
「ポリシーのフィルタ」に"AmazonPollyReadOnlyAccess"を入力する
「ポリシー"AmazonPollyReadOnlyAccess"」をチェックする
「次のステップ:確認」をクリックする

「ユーザの作成」をクリックする

「閉じる」をクリックする。

Consoleへログインして確認する。

IAM/ダッシュボード/IAM ユーザーのサインインリンク:

chrome/シークレットウィンドウ
「IAM ユーザーのサインインリンク」をURLにコピーします。

「ユーザ名」「パスワード」を入力して
「サインイン」をクリックする。

例えばEC2を新規作成しようとしても以下のようなエラーになります。

リソースがみれない

しかし、既存のEC2の一覧をみようとしてもみれません。

そこで、"readonlyuser"に「アクセス許可の付与」を追加で設定します。
IAM/ユーザ/readonlyuser
「アクセス権限の追加」ボタンをクリックする。

「既存のポリシーを直接アタッチ」をクリックする。
「ポリシーの作成」ボタンをクリックする。

サービスに「EC2」を選択する。
「リスト」「読み込み」チェックする。
「リソース」を"すべてのリソース"にする。

注意:ポリシーはサービス毎に作ったほうがいいです。
以下のように6144迄しか保存できないため。
"制限の超過
リクエストは、このアカウントに適用される制限のいずれかを超えています。1 つ以上の既存の項目を削除して、もう一度試してください。 詳細はこちら
Cannot exceed quota for PolicySize: 6144"

「Review policy」をクリックする。

「名前」を入力します。
「Create policy」をクリックします。

"readonlyuser"に"policy-readonly"を割り付けします。

以下のように割りついています。

EC2のインスタンスが表示されるようになりました。

最後に、最強アカウントのポリシー付与方法を以下に記載します。

逆になんでもできるアカウントは"AdministratorAccess"をIAM(アカウント)に付与すればよいです。

2