IAM

IAM タイプ意味
Policyできること/できないこと(Statement)を定義し、UserやRoleに紐づけて使うAdministratorAccessなど
GroupPolicyとUserを紐付けて、ユーザーグループができることを定義する自前のroot-groupなど
UserPolicyを紐付けて、ユーザーができることを定義する自前のmikeなど
RolePolicyを紐付けて、AWSのサービス(主にインスタンス)ができることを定義するAWSServiceRoleForECSなど

ER図

PolicyのStatementの例

        {
            "Effect": "Allow",
            "Action": [
                "sts:AssumeRole"
            ],
            "Resource": [
                "arn:aws:iam::xxxxxxxxxxxx:role/full_ec2_lambda"
            ]
        }

IAM UserとRoleの違い

IAM User(ヒト)、IAM Roleは(モノ)

IAM Policyの種類

用語意味
AWS管理ポリシーAWSが提供するIAMポリシーです。各サービスに対して大まかな制御ポリシーが可能EC2すべてに対して何でも操作可能
カスタマー管理ポリシーユーザがJSONファイルなどを利用して設定するポリシーです。IPアドレスの制御など、AWS管理ポリシーよりも細やかな制御が可能特定のS3バケットに対してPUTのみ可能
インラインポリシーインラインポリシーは特定のIAMユーザやIAMロール専用に作成されるポリシー。「ポリシー」単体では存在できない。IAMユーザーと1:1の関係で作成されるポリシー

REFERENCES:

  • https://dev.classmethod.jp/articles/iam-policy-evaluation-logic/
  • https://dev.classmethod.jp/articles/iam-role-accesskey/