ネットワークエンジニアが学ぶAWS

ネットワーク構築のインフラSEがAWSについて学んでいく過程を記事にしていきます!

AWSアカウント作成初日にやるべきこと③(操作ログの取得)

約 9 分
AWSアカウント作成初日にやるべきこと③(操作ログの取得)

今回はAWSアカウント作成初日にやるべきこととして、「cloudtrailで操作ログの取得」を行います。

AWS作成初日にやるべきこと
① MFAの有効化
② 管理者権限ユーザの作成
③ CloudTrailで操作ログの取得
④ 無料利用枠の超過アラート設定

「CloudTrailで操作ログの取得」では、AWSクラウド内で行われた操作の履歴を残しておくように設定します。これにより、不正ログインやサービスの設定変更の履歴を追うことができるようになります。
※Cloudtrailの利用自体は無料ですが、ログを保存するためのS3バケットにで使用料金が発生します(1日当たり1~2円程度)。無料の範囲内で使いたい方は、本手順は飛ばして「無料利用枠の超過アラート設定」に進んでください。

CloudTrailによるログ取得

「CloudTrail」とは、AWSのユーザがどういった操作を行ったか(操作ログ)を記録するサービスです。これにより、下記のようなことができます。

・ユーザのサインインが行われた際にメールで通知
・サービスの設定変更履歴を確認

CloudTrailで取ったログは、Amazon S3を使って保存します。Amazon S3とはAWSにおけるストレージサービスで、データを保存しておくために使われます。(「ストレージって何?」という方はこちら
このサービスを使って、ユーザの操作ログを取得する手順を説明していきます。

操作ログ取得の設定手順

操作ログを取得して保存するためには、CloudTrailとAmazon S3のそれぞれで設定が必要になります。そのため、下記の順番で設定方法を説明していきます。

操作ログ取得設定手順
1. 操作ログ保存先の作成(Amazon S3のバケット作成)
2. S3のバケットポリシー作成
3. CloudTrailで操作ログの取得設定

操作ログ保存先の作成

まずは、Amazon S3でデータを保存するための「バケット」を作成します。
[Amazon S3 コンソール] (https://console.aws.amazon.com/s3/) を開きます。
IAMユーザによるAWSサインイン画面
『S3 コンソール』画面に移るので、 [バケットを作成する] ボタンをクリックします。

『名前とリージョン』画面に移るので、下記を入力して[次へ]をクリックします。

入力項目
バケット名:(命名には制限事項があるため、確認した後にバケット名を入力してください)
※バケット名は他のAWSアカウントが作成したものも含めて重複はできません。詳細な名称設定のルールはこちらをご確認ください。リージョン:東京(反応が早いので東京をオススメしますが、好きな地域で問題ないです。「リージョンって何?」という方はこちら


『オプションを設定』 画面に移るので、下記を入力して[次へ]をクリックします。(追加料金が発生する項目は選択しておりません。必要な方は要望に応じて入力項目を変更してください。)

入力項目
・バージョニング #1
同じバケット内でオブジェクトのすべてのバージョンを保持します。:☑・サーバアクセスのログ記録
バケットへのアクセスリクエストを記録します。:☑
ターゲットバケット:(入力したバケットを選択してください。)・デフォルト暗号化 #2
S3 に保存されるオブジェクトを自動的に暗号化します。:☑
AES-256:●

#1 バージョニングとは、S3に保存するデータを上書きする際に、上書きする前のデータ保存しておくかの設定です。誤って上書きしてしまった時のために有効にしておきましょう。
#2 S3バケットに保存するデータを暗号化して保存します。

S3バケット作成画面(バージョニングと暗号化の決定)『アクセス許可の設定』画面に移るので、次の項目を入力して[次へ]をクリックしてください。
※S3は、設定によってインターネットから見ることができます。下記の通りに設定して、インターネットを通してバケット内にアクセスできないようにしましょう。

入力項目
・このバケットのパブリックアクセスコントロールリスト(ACL)を管理する #3
新規のパブリックACLと ~ :☑
パブリックACLを通じて ~ :☑・このバケットのパブリックバケットポリシーを管理する #4
新規のパブリックバケットポリシーを ~ :☑
バケットにパブリックポリシーがある ~ :☑・システムのアクセス許可の設定: ~ を付与する

#3、#4 ACL及びバケットポリシーは、バケットへのアクセスルールを決めるためのものです。

S3バケット作成画面(アクセス許可設定)
[確認] 画面に移るので、内容を確認して[バケットを作成] をクリックします。S3バケット作成画面(設定確認)S3バケット一覧(作成したバケット確認)

S3のバケットポリシー作成

続けて作成したバケットに「バケットポリシー」というアクセスするルールを決めます。デフォルトの状態では、S3はルートユーザしかアクセスできない状態になっています。しかしこれでは、CloudTrailからログを保存することができないため、バケットポリシーを設定してCloudTrailからのアクセスを許可します。

『バケット名リスト』画面に移るので、[作成したバケット]をクリックします。

S3バケット一覧(作成したバケットの選択)

『バケットの概要』画面に移るので、[アクセス権限]をクリックします。S3バケットトップ画面

『アクセス権限』画面に移るので、[バケットポリシー]をクリックします。S3バケット(アクセス権限)

『バケットポリシー』画面に移るので、[エディタ]部分に下記をコピペして[保存]をクリックしてください。
※「myBucketName」「myAccountID」の部分を個別の値に変換してください。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AWSCloudTrailAclCheck20150319",
            "Effect": "Allow",
            "Principal": {"Service": "cloudtrail.amazonaws.com"},
            "Action": "s3:GetBucketAcl",
            "Resource": "arn:aws:s3:::myBucketName"
        },
        {
            "Sid": "AWSCloudTrailWrite20150319",
            "Effect": "Allow",
            "Principal": {"Service": "cloudtrail.amazonaws.com"},
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::<span class="red"><strong>myBucketName</strong></span>/AWSLogs/<span class="red"><strong>myAccountID</strong></span>/*",
            "Condition": {"StringEquals": {"s3:x-amz-acl": "bucket-owner-full-control"}}
        }
    ]
}

S3バケット(バケットポリシー)

CloudTrailで操作ログの取得設定

[CloudTrail コンソール](https://console.aws.amazon.com/cloudtrail/) を開きます。
IAMユーザによるAWSサインイン画面

『CloudTrailへようこそ』画面に移るので、証跡を作成するリージョンを選択して[証跡の作成] をクリックします。
CloudTrailコンソール画面

『証跡情報の作成』画面に移るので、下記を入力して[保存]をクリックします。

入力項目
・証跡名:(命名には制限事項があるため、確認した後に証跡名を入力してください)
※詳細な名称設定のルールはこちらをご確認ください。
・証跡情報をすべてのリージョンに適用:はい
※「いいえ」を選択すると、証跡を作成したリージョンの操作ログのみ取得します。Amazonでは、全てのリージョンで操作ログを取得することを推奨しているため「はい」を選択しています。

・管理イベント
読み込み/書き込みイベント:すべて・ストレージの場所
新しいS3バケット作成しますか:いいえ
S3バケット:(作成したバケットを選択)

CloudTrailコンソール画面(証跡の作成)

CloudTrailコンソール画面(証跡保存先の指定)

証跡の作成が完了すると、『証跡情報』画面に移ります。作成した証跡が 下記のように表示されます。15 分ほど経つと、 CloudTrail によってログファイルが発行され、指定したS3バケットへとファイルが保存されます。
CloudTrailコンソール画面(証跡一覧)

S3バケットに保存された証跡情報を確認してみましょう。『AWSマネジメントコンソールから[サービス]をクリックして表示されるメニューから[S3]をクリックします。
AWSマネジメントコンソール(サービス一覧)

『S3 コンソール』画面に移るので、CloudTrailの証跡の保存先に指定したS3バケット名をクリックします。

S3バケット一覧(作成したバケットの選択)

『作成したバケット内の概要』画面に移るので、[AWSLogs]、[自分のアカウントID]の順にクリックして進んでください。
S3バケット内(AWSLogs)S3バケット内(AWSアカウントID)
CloudTrailから始まるフォルダが2つ出てくるので、[CloudTrail]をクリックしてください。
S3バケット内(CloudTrail証跡)
各リージョンごとにフォルダ分けされた画面に移ります。東京リージョンを表している[ap-northeast-1]をクリックしてください。続く画面で、フォルダが[取得年]、[取得月]、[取得日]と分かれているので順にクリックして見たい日まで進んでください。S3バケット内(CloudTrailでログを取得したリージョン一覧)

東京リージョンのフォルダ内にログが保存されていることを確認します。
S3バケット内(CloudTrail証跡一覧)
上記のようにログファイルが一覧で並んでいれば設定完了です。ファイルの中身を見たい時には、見たいファイルを右クリックして[開く]をクリックしてださい。
S3バケット内(オブジェクト操作メニュー)

まとめ

これでユーザの操作ログを保存しておけるようになりました。操作ログにより、不正アクセスの履歴を追うことができたり、予期しない変更をしてしまった時にどんな操作で変更されたのかを確認することができます。企業では、この操作ログを必ず取得しています。企業の規模が大きくなればなるほど、当然社員も増えていきます。そこで、誰がそのサービスを操作したか判別するためにも、操作ログは必ず重視しています。
それでは、続けて「無料利用枠の超過アラート設定」も行ってしまいましょう。いよいよAWSアカウントの作成初日に実施する最後の項目になります。最後もサクッと実施して安心してAWSを使いましょう。

エンジニア向けの資産形成情報を発信中!

将来にお金を残していくための情報発信をしています。友だち登録をしてくださった方には、資産形成の記事を閲覧するためのパスワードもお教えてしてますので、気になる方は下記から登録お願いします(^^)
AWSの資格を取りたい方向けに僕が合格した過去問レポートもプレゼントしています!

友だち追加

About The Author

カワタン
3年半インフラエンジニアとしてネットワーク運用/構築に携わってきましたカワタンです^_^AWSのことを知ってから、このサービスが大好きになって現在猛勉強中です(*^^*)
AWS専門家になって月収150万目指してます!!!
Follow :

Leave A Reply

*
*
* (公開されません)