■はじめに
こんにちは
沢山あるAWSのサービス名とその仕組みを覚えるのに精一杯の者です。
今回は 「IAM」 についてご紹介いたします。
ん?「I am」?
「私は」ではないです。私も最初そう思いましたが…
■ IAM
「IAM」とは Identity and Access Managementの略称です。
AWSリソースへのアクセスを安全に管理するためのWebサービスです。
IAMでは、以下の機能が用意されています。
・「IAMユーザー(グループ)」
・「IAMポリシー」
・「IAMロール」
その中でも…
「IAMユーザー(グループ)」
これを使用することで、ユーザーのAWSリソースに対するアクセスなどの権限を制御することができます。
「IAMロール」
これを使用することでAWSリソースに権限を付与、ユーザーに一時的な権限を付与することができます。
AWSアカウントで誰が何(認証・認可)を実行できるかを定義します
・認証→相手が誰(何)なのかを確認すること
・認可→リソースへのアクセス権限を与えること
ざっくりとユーザーとAWSリソースに分けるとこのようになります。
▶IAMユーザー
AWSを利用するアカウントのことを指します
こちらの画像のように、AWSにアクセスして
「アカウントIDまたはアカウントエイリアス」
「ユーザー名」
「パスワード」を入力することでログインすることができます。
ここで注意点です。
利用者ごとに作成して複数人で使い回してはいけない
これは複数人で同じIAMユーザーを使い回してしまうと操作によるトラブルが起きた場合、誰が何の操作をしたか分からないからです。
またIAMユーザーはデフォルトの状態ではアクセス権限を持っていないため、何も操作ができません。
IAMポリシーを使用してIAMユーザーに必要なAWSリソースへのアクセス権限を付与するようにします。
▶IAMポリシー
「誰・何に対して」「どのような操作を」「許可・拒否するか」を示したものです。
IAMポリシーをIAMユーザーやIAMロールに割り当てることで、AWSリソースへのアクセスを安全に管理することができます。(↓イメージ図)
しかし沢山権限を付与するとユーザーが予期せぬ作業をする可能性があり、セキュリティの観点で見ると望ましくないです。
IAMポリシーで付与する権限は、必要最低限にしましょう
また、IAMポリシーで許可と拒否の権限が付与された場合に、「拒否」が優先されます
▶IAMグループ
IAMユーザーとIAMポリシーを使用して、ユーザーのAWSリソースに対するアクセス管理はできますが、ユーザー数が増加するとその分権限管理をしなくてはなりません。(とても面倒だと思います)
そんな時にIAMグループを使用することで複数のIAMユーザーをまとめて管理することができます。
IAMグループに対してIAMポリシーを付与することで、グループ内のIAMユーザーに一括で権限の付与、変更することができます。
会社などで、部署やチームごとにIAMユーザの権限を分けたい場合などに利用するのが有効でしょう。
▶IAMロール
ユーザーやグループではなく、EC2やLambda、RDSなどに対して権限を付与するものです。
イメージ図です。一例ですが、EC2にRDSへの操作を行うアプリケーションを導入する場合、EC2にRDSへのアクセス権限を記載したIAMロールをアタッチします。
ちょっとしたまとめになります。
IAMとは、AWSリソースへのアクセスを安全に管理するためのサービスである
IAMユーザーとは、AWSを利用するアカウント
IAMポリシーとは、「何に対して」「どのような操作を」「許可・拒否するか」を示したもの
IAMグループは、複数のIAMユーザーをグループとして管理することができるもの
IAMロールとは、AWSリソースのアクセスを管理するもの
■おわりに
IAMはAWSのサービスを操作するための、「認可」と「認証」を行うとても重要なサービスです。 IAMユーザやIAMロールを正しく組み合わせて利用することでより安全にAWSを利用することができます。
参考元の記事です。
▶AWS IAMとは?
最後までお読みいただきありがとうございました!
日頃より活用している参考書です。
「参考書」
AWS認定クラウドプラクティショナー改定第3版「AWS公式サイト」
IAM短い動画で資格学習に活用できます。
「Youtube」
【CLF-C02:AWSクラウドプラクティショナー】第11回 AWS IAM (セキュリティとコンプライアンス分野)