【AWS】IAMユーザ・IAMグループ・IAMロール・IAMポリシー・IAMアイデンティティの概要

徒然草2.0

AWSのIAMを「ただのユーザ管理の仕組みだろ?」と思っていて甘く見ていると、概念がなかなか複雑で、初見で辛い思いをすると思いますので、まとめてみました。

特にIAMロールが分かりにくい気がします(私があまりサーバ系の管理周りを普段からさわっていないからかもしれませんが)

IAMユーザ

操作用のアカウントととらえておけばOK。

※IDとパスワードを持っており、管理コンソールにログインしたり、コマンド操作ができる。

IAMグループ

IAMユーザへ権限を与える情報。

※IAMユーザの集合とか説明されているが、IAMユーザをIAMグループへ所属させるので、”集合”となるのは結果に過ぎないのでは?という気がしないでもない。

IAMポリシー

操作の権限が書かれたJSON形式データ。IAMユーザなどへアタッチして使用される。

IAMユーザにIAMポリシーをアタッチすることは可能だが推奨されていない。それではどうするかというと、IAMロールをアタッチする。

もともとAWSに用意されている「AdministratorAccess」はAWS管理ポリシーとよび、私達(カスタマー)が作成したものをカスタマー管理ポリシーとよぶ。(言い換えれば、AWS管理ポリシーだけで思い通りに権限を付与することはできないということ。きめ細やかなIAMユーザ権限のコントロールをするために、IAMポリシーを自ら定義する必要があるようだ)

通常IAMユーザへ付与される操作をする権限のポリシ-をアイデンティティーベースのポリシー(Idemntity-Based Policies)という。それに対して、操作される権限をサービスに対して付与する必要がある(例えば、S3を操作できるようにするポリシーがある)このようなポリシーをリソースベースのポリシー(Resource-Based Policie)という。

IAMロール

IAMユーザにIAMポリシーを一時的に付与するロール(役割)のこと。通常のユーザと違って一時的にIAMユーザなどへ委任して利用される他、アプリケーションやサービスに付与される。

ロールは、長期的な認証方法としてIDやPWを持っていない。

IAMグループがIAMユーザの集合であることに対して、IAMロールはIAMポリシーの集合と言ってもいいかもしれない。

信頼関係/信頼ポリシー/信頼ポリシードキュメント

IAMロールには、だれがこのロールを委任できるか?という情報を持っている。これを信頼関係と言う。信頼ポリシーや信頼ポリシードキュメントと表記されることもある。設定のActionには「sts:AssumeRole」と記述をするが、Assumeには”引き受ける”とか”担う”という意味がある。

権限

信頼関係の対義語をあげるとすれば「何ができるか?」を表す権限があげられる。

その他のIAM用語

IAMに関して調べているとよく登場する用語を記しておきます。

IAMリソース

IAMユーザ、IAMグループ、IAMロール、IAMポリシーなどのIAMに関する情報のこと。

IAMアイデンティティ

IAMユーザ、IAMグループ、IAMロールなどのポリシーを割り当てられる対象(操作主体)のこと。

IAMエンティティ

IAMユーザ、IAMロール、フェデレーテッドID(※下記で解説)のこと。

※IAMグループを含まない。

プリンシパル

IAMユーザ、IAMロール、AWSのリソース(サービス)のこと。

フェデレーテッドID,フェデレーションID, プロバイダID

facebookやgoogleなどの認証を利用してログイン可能なIAMユーザのことを指し、IAMエンティティに含まれる。

徒然草2.0
スポンサーリンク
シェアする
gomiryoをフォローする
ごみぶろぐ

コメント

タイトルとURLをコピーしました