#はじめに
こんにちはrattsl(@rattsl)です。
今回はAWS IAMについてハンズオンで色々いじったのでメモとして残します。
間違って認識しているところがあったらご指摘ください。
やっていくこと
- IAMの仕組み理解
- IAM設計
- IAMグループへのポリシー適応
- IAMロールへのポリシー適応
- IAMロールの権限移譲
- IAMアクセスアナライザの設定
- AWS Organizationsの設定
IAMとは
IAMとはユーザの権限を設定してAWSリソースへのアクセスを制限する仕組み。個人にポリシーをアタッチ、またグループにポリシーをアタッチすることで実現する。
IAMの種類
利用者は権限を付与されたIAMエンティティ(ユーザ、グループ、ロール)として設定される。
ユーザー | 詳細 |
---|---|
ルートユーザー | アカウント生成時に付与されるユーザー |
IAMユーザー | 管理者権限の許可がおりたユーザー |
パワーユーザー(IAMユーザー) | IAM以外の全てのサービスにフルアクセスできるユーザー |
ルートユーザで日常的なタスクはせず、管理者権限を付与されたIAMユーザで操作することが推奨されているが、ルートユーザにしかできない設定もあるので随時切り替えて管理する。
IAMロールとは
AWSリソース(エンティティ)に対してポリシーをアタッチすること。
ex)EC2からS3にのみアクセスを許可する
狭義にはサービスだけではなくユーザに対してや別のSNSアカウントに一時的に権限を付与する役割も持つ。
IAMロールの信頼ポリシーとしてIAMロールは監査人などに一時的な権限を委譲する際も利用する。
IAM設計
IAM設計する際はAWSを利用するユーザの役割や会社のセキュリティポリシーと兼ね合わせて設計する必要がある。新しいIAMユーザを登録する際は必要最低限のパーミッションを付与する。
数人程度のAWS利用を今後続けていくようだったらIAMユーザーを個々で設定していくのでもいいが今後人数が増えていくことを想定しているケースだったら初めからグループで設定していく方が運用が楽になる。
IAMアクセスアナライザーの設定
AWSリソースへのアクセスをモニタリングするサービス。
AWS Organizations
AWS Organizationsとは複数のアカウント自体を管理するサービス。
IAMとの違いはアカウント内のユーザーを管理するのに対してOrganizatiopnsはアカウント自体を管理するためレイヤーが違う。
管理者ルートにマスターアカウントを設定し、既存のアカウントをメンバーアカウントとして組織内に追加するという流れ。
組織単位でOUを設定し管理することも可能。
Organizationsのサービスコントロールポリシー(SCP)でリソースの境界を決める。
Access Adviser
IAMエンティティが最後にAWSサービスにアクセスした日付と時刻を表示する機能を有する。
インラインポリシーとは
自身で作成、及び管理できるポリシーのこと。1つのプリンシパルエンティティ(グループ、ユーザ、ロール)にアタッチすることが可能。
EC2インスタンスへのIAMロールのアタッチ方法
EC2マネジメントコンソールからアクション操作でアタッチする。
パワーユーザーのアクセス権限について
パワーユーザーはIAMユーザーやグループ管理以外のAWSリソースへのフルアクセス権限を持っている。
ユーザー管理以外できるとイメージする。
IAMユーザーのデフォルト設定
IAMユーザーが作られた時点ではそのユーザー自体はどのリソースにもアクセス権限を持っていない。