AWS Hands-on for Beginners　Security #1

## はじめに
AWS Certified SysOps Administrator - Associateのハンズオンを乗り切るために、勉強したことをなんとなくまとめていきます。

行うこと
https://aws.amazon.com/jp/aws-jp-introduction/aws-jp-webinar-hands-on/
Security #1  アカウント作成後すぐやるセキュリティ対策

本人情報
IT現場雑用員（SEで採用されながら一生Excel触ってる人）
半年前にAWS SAA取得済み



## 02 AWSのセキュリティ
AWSでは責任共有モデルを採用しているため、AWS側で責任を持つ範囲とユーザー側で責任を持つ範囲の線引きを明確に行い、やるべきことに注力することができます。
AWS側でのセキュリティが具体的にどのようになっているかは、AWS クラウドコンプライアンスを確認することで調べることができます。下記サイトに責任共有モデルの図もあったので、資格試験の勉強をしている人は1度見た方がいいと思います。

また、動画内で紹介していたホワイトペーパーや国ごとのデータプライバシーに対する概要について、現在はややレイアウトが変更されているようなので注意が必要です。

https://aws.amazon.com/jp/compliance/



## 03.4 IDアクセス権管理
ルートユーザーでパスワードポリシー、MFA、アクセスキーの削除などを行なってからIAMユーザーの作成を行います。動画内のマネージメントと比べてレイアウトが一部変更されていますが、右端の自分の認証方法をクリックすると同じ画面で設定を行うことができます。
![スクリーンショット 2022-02-19 16.53.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2512706/294393ee-98e6-9b01-905f-2920766127b6.png)



#### MFA
Multi-Factor Authentication（多要素認証）の略です。
認証要素には「記憶」「所持」「生体情報」の3要素があり、パスワード認証は「記憶」に当たります。動画内で紹介されていたのはワンタイムパスワードを使用した「所持」との組み合わせでしたが、デバイスに組み込まれた認証システムを使用して「生体情報」と組み合わせることもできるみたいです。

https://aws.amazon.com/jp/blogs/news/multi-factor-authentication-with-webauthn-for-aws-sso/


#### IAMユーザー、グループ
作業者が実際に作業を行うためのアカウントです。ルートアカウントから名前、ポリシー、タグなどを指定して作成を行います。ポリシーに関して直接IAMユーザーにポリシーをアタッチすることもできますし、グループに追加することによってグループに適用されているポリシーをアタッチすることもできます。
同じポリシーを適用すべきIAMロールが複数ある場合は、あらかじめグループを作成してからそこにIAMユーザーを追加します。



####ポリシー
この動画ではIAMユーザーにアクセス権限を付与するために使用されていましたが、AWSサービスにも付与することができます（リソースベースのポリシー）。
誰が使用するのかの情報を含まず、「どのAWSサービスの」「どのリソースに対して」「どんな操作を」「許可する(許可しない)」といった内容をポリシーとしてまとめ、ユーザー。グループ、リソースに関連付けることによってアクセス許可、拒否を定義します。


## 05 請求データの確認とアラート
セキュリティ侵害が発生した場合、個人で遊んでいる身分としてまず気になるのは請求だと思います。クラウド破産という単語で調べると数十万円の請求が一晩でといった経験談はたくさん出てきますので、特に気をつける必要があります。

####AWS Budgetsを使ったアラート
期間内で使用できる予算を設定し、その値に対してどの程度使用したかによってアラートを飛ばすことができます。
Savings Plans（予め使用料をAWSに申告してサービスを使用する、長期だとオンデマンドより安い）を使用している場合は申告した値に対して使用量が下回っている場合や、申告した値で網羅できている割合などによってもアラートを飛ばすことができます。
アラートはEメールの他にSNSアラート、Chatbotなどを使用することもできます。


####AWS Cost Explorerの有効化と確認
AWS Cost Explorerを有効化し、確認すると期間、サービスの種類、リージョン、ユーザーなどを細かく指定して請求を可視化することができます。
AWS Budgetsによってアラートを受け取った場合、AWS Cost Explorerによって原因がどこにあるのかを確認し対応することで解決につながります。


## 06 操作履歴とリソース変更履歴の記録
アカウント単位での記録はAWS Cloud Trail、リソース単位での記録はAWS Configで行います。

####AWS CloudTrailの証拠の保存
ユーザーのログイン、変更履歴などの操作履歴を追跡、保存します。
Cloud Trailに保存される内容は過去90日以上に限られます。それ以上サービスを利用する場合が証跡の作成を行う必要があります。保存先はS3のバケットで、jsonファイルとして保存されます。

####AWS Configの有効化
アカウントに紐づいているリソースを表示することができます。
リソースを選択することで、設定変更やアクセスなどの履歴をタイムライン上で確認することができます。


## 07 脅威検知
####Amazon Guard Duty
VPC Flow Logs、DNS Logs、AWS Cloud Trailなどで収集されたデータリソースを元に機械学習を用いて脅威検知を行います。AWSのリソース内に設定するわけではないため、環境に影響を与えることなくセキュリティを強化することができます。
データリソースの収集はAmazon Guard Dutyが自動で行うため、自分で起動する必要はありません。
![スクリーンショット 2022-02-19 20.14.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2512706/da95fb22-a64b-f4a1-c669-6b82a898cfda.png)
動画内でもっとわかりやすい図が出てきます。


１ヶ月は無料で使用することができますが、それ以降は有料になります。ですが私のようによくわからず触っている人ほど有効にすべき項目だと思います。より詳細に書かれたリンクを貼っておきます。
また、Guard Dutyはリージョンごとに有効にする必要があります。普段使わないリージョンで勝手にインスタンスが立てられていた、という話はよく聞きますので全てのリージョンで有効にすべきかと思います、
https://dev.classmethod.jp/articles/guardduty-summary/#toc-6

## 08 ベストプラクティスの確認
####Trusted Advisor
現在使用しているリソースやIAM設定などがベストプラクティスに沿っているかをチェックしてくれるサービスです。コスト最適化、パフォーマンス、セキュリティ、フォールトトレランス、サービスの制限の5つの項目で確認することができます。しかしサポートプランのうちビジネス以上に登録していないと、セキュリティ、サービスの制限の一部の項目しかチェックすることができません。
個人利用でサポートプランをビジネス以上にする必要があるのはについては、下記URLを参考にしてください。初学者であれば疑問は大体ググれば解決すると思いますので、しばらくは必要ないかなぁと思っています。

https://qiita.com/tonishy/items/dac279b05a0232cefaea



## 感想
個人で使っていくときには特に脅威検知、請求データの確認アラートが重要なイメージでした。
IAMなどは資格試験でよく出る部分でもあり、1人だとイメージしにくい部分でもあるので改めて学習出来たのはよかったかなと思います。