ホーム
記事一覧
プライバシーポリシー
免責事項
お問い合わせ

【AWS認定資格勉強】AWSのセキュリティ

2018-09-23

今回やるのはAWSセキュリティについてです。正直、セキュリティの部分は苦手分野なので心配です。。。

また、今回も以下の図書を参考にさせていただきました。

大塚康徳(著)、AWS認定ソリューションアーキテクト アソシエイト、株式会社リックテレコム、2017

AWSとセキュリティ

AWSでは利用者と協力してセキュリティを高める責任分担モデルを採用している。これは単純に、ここまではAWS側の責任だけどこっから先はあなたの責任ですよというようなモデル。利用者とAWS側がどの階層の責任を担当するかは、サービスによって異なる。

サービスには大きく分けて以下の3つがあった。

  • インフラストラクチャサービス(EC2など)
  • コンテナサービス(RDSなど)
  • アブストラクトサービス(S3, DynamoDB)

この中で利用者側の責任範囲がもっとも広いのがインフラストラクチャサービスだった。これはなんとなく直感と一致する。 結局、ユーザ側の自由度が高いものについては責任範囲も広くなっているようだ。

IAMとは

AWSでは、登録したメールアドレスとパスワードでログインできるアカウント(ルートアカウント)の他にアカウント内にユーザを作成できる。 ルートアカウントではなんでもできてしまうので日常の操作にはルートアカウントを用いることはセキュリティ上推奨されない。

そこでAWSでは、AWS IAMというサービスが提供されている。IAMとは以下のようなサービスである。

AWS Identity and Access Management (IAM) は、AWS リソースへのアクセスを安全に制御するためのウェブサービスです。 引用:IAMとは

IAMを用いるにはまず、IAMグループまたはIAMユーザを作成する。その後、作成したユーザやグループにAWSの各種リソースに対するアクセスの可否(IAMポリシー)を設定する。

要はルートユーザ使わずに複数人で管理するためのサービスって認識でいいのかな。

実際にやってみる

実際にIAMを設定してみる。コンソールにルートユーザでログインして、少しスクロールしたところにあるセキュリティの中のIAMを選択。

IAMを選択後、以下のような画面が表示される。

セキュリティステータスをみると、自分は1/5しか完了していないらしい(1個できてるのはなんなんだ?)。 とりあえず、作業用のユーザを作りたいので、個々のIAMユーザの作成を選択。そうすると、以下のようなユーザ詳細設定画面がでる。

てきとうにユーザ名を入力。アクセスの種類はとりあえず両方にチェックを入れた。 そうすると次はアクセス許可の設定画面になる。

自分はアクセス権限を既存のユーザからコピーを選択し、その中のAdministratorを選択した。 これで作成が完了で以下の画面でアクセスIDとパスワードが現れる。

これを使って画像内のURLにアクセスすると、パスワードの変更を要求される。それにしたがってパスワードを変えるとIAMユーザの作成が完了する。

ついでに、ルートユーザの二段階認証もやっておいた。やり方は、上の画像のセキュリティステータスのところでMFAを有効化の項目を選択。その後、仮想デバイスを選択してGoogle AuthenticatorなどでQRを読み込めばおk。

IAMロール

続いてIAMロールについて。正直、これが一番よくわからなかった。私が理解した範囲で説明する(間違ってたらごめんなさい)。

先ほど作成したIAMユーザは、そのユーザに対してAWSリソースのアクセス権を付与していた。一方で、IAMロールはEC2インスタンス上のアプリなどにAWSリソースへのアクセス権を付与できる。また、IAMロールの場合はアクセスキーとシークレットキーがなくても、それらのリソースにアクセスが可能になる。

IDプロバイダーとフェデレーション

自分の直感的な理解としては、GoogleとかGithubのアカウントで他のサービスにログインできる感じ。AWSのアカウントを作るかわりに会社とかで認証されているIDとかに対して、一時的にAWSのリソースアクセス権限を付与できるもの。

ハマったところ

小さいのだと、MFAでハマった。QR読み込み後に認証コードを入力しようとしたら、なぜか二つのコードを要求された。自分の端末上では一つしかでてないで戸惑った。正解は、一つ目の認証コードを入力後、コードが切り替わるのを待って、切り替え後のコードを二つ目として入力することだった。

あとは、IAMロールで普通に一読してもわからなくて時間がかかった。

まとめ

今回でようやく実際のサービスの例もだせた。ただ。内容も難しくなってきていて、理解できているのかあやしいと感じている。間違ってたり、情報不足だったところは後々修正・追記します!最後に勉強するにあたって参考にしたサイトを載せておきます。

参考