1. IAM Action이란?

IAM Action은 쉽게 말하면:

AWS 리소스에 대해 “어떤 작업을 허용할 것인가”를 정의하는 이름

이다.

예를 들어 DynamoDB에서 데이터를 조회하려면:

"dynamodb:Query"

데이터를 삭제하려면:

"dynamodb:DeleteItem"

여러 데이터를 batch로 삭제하거나 삽입하려면:

"dynamodb:BatchWriteItem"

같은 Action이 필요하다.

AWS 공식 Service Authorization Reference에서도 각 AWS 서비스는 자신만의 Action, Resource, Condition key를 가진다고 설명한다. DynamoDB의 경우 서비스 prefix는 dynamodb, Lambda의 경우 서비스 prefix는 lambda를 사용한다.


2. IAM Policy 기본 구조

IAM Policy는 보통 이런 형태다.

{
  "Version":"2012-10-17",
  "Statement": [
    {
      "Effect":"Allow",
      "Action": [
"dynamodb:Query",
"dynamodb:BatchWriteItem"
      ],
      "Resource": [
"arn:aws:dynamodb:ap-northeast-2:123456789012:table/ChatMessages"
      ]
    }
  ]
}

각 필드의 의미는 다음과 같다.

필드 의미
Effect 허용할지 거부할지 결정. 보통 Allow 또는 Deny
Action 허용할 AWS 작업
Resource 해당 권한을 적용할 AWS 리소스
Condition 특정 조건에서만 허용할 때 사용

즉, 위 정책은 이런 의미다.

ChatMessages 테이블에 대해
dynamodb:Query와 dynamodb:BatchWriteItem을 허용한다.