IAMとはなにか?を初心者なりにまとめてみた

こんにちは!

今回は、

IAMってなに?

なんのための機能なの?

と疑問に思った私がIAMについて初心者なりにまとめてみました!!

まず、IAMってなに?

IAMは『 Identity and Access Management 』の略です。

名前の通り、認証とアクセスの管理をする機能です。

サービスやツールに関する認証、IDの一元管理、セキュリティの確保と情報へのアクセス制限をすることができます。

なんのために認証とアクセスの管理をする機能が必要?

IAMような機能がないと、なりすましなどや誰でもサービスやファイルなどにアクセスできてしまったりすることから情報の漏洩が起こるリスクが高まります。

このリスクを軽減するためにも、ユーザーが本人であるかを認証し、認可されたユーザーのみサービスを使用できるようセキュリティを強化しアクセス管理をする必要があります。

Wasabiでも、アカウントにアクセスできるユーザーが、どのサービスを使用することができ、どのような操作ができるのかといった管理をすることができます。

Wasabiの認証と認可

WasabiもIAMを使って認証と認可をしています。

認証はログインを行うプロセスを指し、一般にID、パスワードもしくはアクセスキー、シークレットキーを使用します。

・IAMユーザー

特定の権限を持ったユーザーであり、必要な権限を割り当てることができる。

※[アカウント]と[ユーザー]の違い:

・アカウント:Wasabiの環境のこと

・ユーザー:利用者のこと。


認可はIAMポリシーを用いて認証されたユーザーがアクセスできるリソースに対する操作権限を定義します。

・IAMポリシー

認証されたユーザーに対してWasabiバケットやオブジェクトに対する操作権限の認可を行うための仕組み。

何に対して」「どのような操作を」「できるか(できないか)」の権限を記述したドキュメントで、許可証のようなもの

管理者はIAMポリシーを使用して、個々のユーザーやグループがWasabiバケットやオブジェクトに対して実行できるアクションを制御する。

ユーザーはIAMポリシーをユーザーまたはグループにアタッチすることで、IAMポリシーの権限の範囲内でWasabiに対する操作が可能になる。


同じアクセス権が必要なユーザーが複数存在する場合は、グループに追加するだけでアクセス管理を簡素化できます。

・グループ

ループに対してIAMポリシーで必要な権限をあらかじめ設定しておき、ユーザーをそのグループに追加するだけでそのユーザーに間接的に権限が付与される。


ユーザーが1日の中で様々な権限を使用するときは、IAMロールを使って必要なアクセス許可を一時的に付与することができます。

・IAMロール

役割のようなもの。ポリシー(権限)を束ねることができ、それを代表する概念的な名前を付けることができる。

どの時点でも1つの役割しか担当できないようにし、切り替えて使うことができる

切り替えると以前のロールの権限は取り消され、次の新しいロールの権限が与えられるため、権限を一時的に付与する必要がある状況に適している。