AWSの「IAMとは何か?」について学習したことをアウトプットさせて頂きます。
結論IAMとは、AWSのサービスで「認証」と「認可」の設定を行うことができるサービスです。「認証」「認可」を正しく設定することで、AWSの利用者や、AWSのサービスがアクセスできる範囲を制御することができます。
まずはじめに、AWSを利用するためには、アクセスキーとシークレットアクセスキーの2種類の秘密鍵を使用してAWSにログインすることで、各サービスが使用できる仕組みになっていることを理解しておきましょう。
AWSのサービスを利用できるユーザーには、ルートユーザーとIAMユーザーの2種類のアカウントユーザーが存在します。
##ルートユーザー
ルートユーザーは、クレジットカードを登録して作成したアカウントユーザーのことを指します。
ルートユーザーでは、AWSのサービスの全てを使用することが出来る万能ユーザーになります。
その分、権限範囲がとても広いので、セキュリティ観点から必要な場合を除き、ルートユーザーでのログインは避けた方が良いでしょう。
##IAMユーザー
IAMユーザーは、権限範囲を抑えてAWSのサービスを利用するために、ルートユーザーが、IAMポリシーの則って作成されたアカウントユーザーのことを指します。
通常はセキュリティ的に安全なIAMユーザーを使用することが推奨されています。
##IAMポリシー
IAMポリシーは、AWSで操作できる権限を表したものになります。
設定ファイルはJSON形式で記述され、権限を設定することになります。
-
AWS管理ポリシー
アマゾン側であらかじめ用意しているものです。 -
カスタマー管理ポリシー
オリジナルで詳細を決められるようじ自分で設定したポリシーのものです。
##IAMグループ
複数のIAMユーザーのまとめて管理をするために、IAMグループを作成することができます。
IAMグループを作成することで、各IAMユーザーのIAMポリシーを同時に設定することが
できるようになるので、ユーザー管理がしやすくなります。
##IAMロール
IAMロールとは、ユーザーやグループではなく、EC2などのAWSのサービスや他のアカウントに対してにAWS の操作権限を付与するための仕組みのことを指します。
IAMロールには、信頼関係と権限の2つがあります。
信頼関係
相手が誰(何)なのか確認することです。
権限
リソースへのアクセス権限を与えることことです。
##まとめ
IAMはAWSのサービスを操作するための、「認証」と「認可」を行う大変重要なサービスです。AWSを利用していくうえで必ず利用するサービスになります。IAMユーザやIAMロールを正しく組み合わせて利用することで、セキュアにAWSを利用することができます。また実際には、IAMと合わせて2多要素認証を利用することや、権限範囲を抑えることで抑えることができます。
この記事はAWS初学者を導く体系的な動画学習サービス
「AWS CloudTech」の課題カリキュラムで作成しました。
https://aws-cloud-tech.com