はじめに
今回は、S3についてアウトプットしていこうと思います!
データ保管サービスの利用
インターネットのサービスでは、オンライン上の倉庫の様な仕組みを利用して大量のデータを安全に長期的に保管することができます!
この様なデータを保存するサービスのことをストレージサービスと言います!
ストレージサービス
ストレージサービスとは、インターネット上でデータを保存する場所を提供するサービスのことです!
AWSとは
インターネット通販で有名な米Amazonが提供している、サーバーに関するサービスの総称です!
サーバーを作成するサービス、データを保存するサービスなど、100種類以上の様々なサービスを提供しています!
S3の導入方法
S3を導入するには、以下の2つのことをします
- AWSのアカウントの作成
- S3で保存先を作成
その後、アプリケーションのソースコード上で、画像の保存先をS3に設定する処理を記述します!
S3のセキュリティ対策
AWS・S3を利用する際には、セキュリティ対策が必要です!
なぜなら、AWSのアカウントID・パスワード・アクセスキーなどの情報が漏れてしまうと、サービスを不正利用され、高額な利用料を請求されてしまう危険性があるためです!
もし情報が漏れた場合でも、不正利用の被害を最小限にする必要があります!
AWS上では以下のセキュリティ対策をしています!
- ログインを2段階に設定(二段階認証)
- 利用制限付きのユーザーを私用(IAMユーザー)
- 保存機能にアクセス制限を設定(バケットポリシー)
また、GitHubでのソース管理においてもセキュリティー対策をします!
なぜなら、S3を利用する際に必要となるアクセスキーという秘密情報がGitHubで公開されてしまうと、不正利用の危険性があるためです!
以下の様な設定をします!
- 秘密情報を変数に代入して私用(環境変数)
- 秘密情報を誤操作でコミットしない様に防止する機能(git-secrets)
ルートユーザーについて
ルートユーザーとは、AWS登録時に作られるアカウントのことです!
AWS上の全てのサービスや機能を使える権限が与えられます!
つまり、ルートユーザーであればAWS上のサービスをなんでも利用できるという意味になります!
したがって、ルートアカウントを不正利用された場合、大量課金の可能性があり、大変危険になります!
また、不正利用ではなく、自ら誤った操作をしてしまう可能性もあります!
IMAについて
AWS上でアカウント権限を制限する仕組みのことです!
IAMユーザーについて
アクセス権限が制限されたユーザーのことです!
バケットについて
S3では自分用のデータを保存する場所のことをバケットと言います!
リージョンについて
S3に保存されたデータは実在の施設に分散して保管される場所のことをリージョンと言います!
バケットポリシーについて
バケットに対して、どの様なユーザーが、その様な処理をできるか取り決めをするもののことをバケットポリシーと言います!この処理とはデータの保存やデータの読み取りなどです!
コメント