IAMについて

Posted by 地道に続けるブログ on Tuesday, November 1, 2022

IAMとはAWSにおいて、リソースをセキュアに操作するために認証、認可の仕組みを提供するサービスです。 IAMの理解なしにAWSリソース操作を開始してしまうと、強力すぎる権限を与えるなどセキュリティ的によくないことになってしまうため、最初にしっかり内容を抑えておきたいサービスです。

IAM policy

リソースに対するアクセス権限管理の設定はIAM policyと呼ばれるjson形式のファイルによって管理されます。このpolicyをユーザ、グループ、ロールに付与することにより、これらがリソースへのアクセス、操作が可能となります。権限を付与する際には、セキュリティの観点から、必要最低限のものを与えるのがベストプラクティスとなっています

上の説明でさらっとユーザ、グループ、ロールに対して権限を付与すると書きましたが、それぞれの違いは以下です

ユーザ

AWS上の利用者はすべてIAMユーザとして設定されます。ユーザは 大きく3種類があります

ルートユーザ

root user

AWSアカウントが作成されるとデフォルトで作成されるユーザです。こちらはIAMユーザではないですが、すべてのリソースの操作権限があります。また、アカウントの削除などいくつかルートユーザにしかできない操作が可能となっています。

管理者ユーザ

admin user

IAM操作とリソース操作ができるユーザです。IAMの操作が必要となったときは、ルートユーザではなく管理者ユーザで操作をしましょう。

パワーユーザ

power user

パワーユーザはIAM操作以外すべてのリソースに対して操作が許可されたユーザです。開発時にはIAM操作を除いたユーザで操作を行うのが良いです

グループ

iam group

あるIAMユーザのグループに対してIAM policyを付与するとグループに所属しているIAMユーザすべてに対してpolicyに記述してあるリソースに対するアクセス許可/不許可が設定できます。

ロール

iam role

AWSリソースに権限をロールとして与えるものです。サービス間通信にもIAM policyが設定されていない限り通信不可です。

感想

IAMはAWSを使いこなすうえでとても重要なサービスです。今回記事をまとめたことで知識が整理されました。まだ知らないこともありそうなので、引き続き学びたいと思います。

参考