본문 바로가기

인프라

AWS: IAM 사용자 생성

깃헙 액션 배포 시 ALB Listener의 대상그룹 변경을 위한 최소한의 권한을 가진 IAM 사용자를 생성해보려고 한다.

내 워크플로우에서 필요한 권한은 다음과 같다:

  • elasticloadbalancing:DescribeListeners
  • elasticloadbalancing:ModifyListener
  • elasticloadbalancing:DescribeTargetHealth

우선 다음 화면에서 사용자 이름을 입력하자:

GitHub Actions를 통해서만 명령을 실행할 것이기 때문에 콘솔 액세스 권한은 주지 않는다.

 

2단계: 권한 설정에서, 직접 정책 연결에서 정책 생성을 선택한다.

이후 JSON을 선택해 다음 JSON을 붙여넣는다.

<LISTENER_ARN>과 <TG_ARN1,2>는 실제 값으로 넣어야한다.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ALBRead",
      "Effect": "Allow",
      "Action": [
        "elasticloadbalancing:DescribeRules",
        "elasticloadbalancing:DescribeListeners"
      ],
      "Resource": <LISTENER_ARN>,
      "Condition": {
        "StringEquals": { "aws:RequestedRegion": "ap-northeast-2" }
      }
    },
    {
      "Sid": "ALBModifyListener",
      "Effect": "Allow",
      "Action": "elasticloadbalancing:ModifyListener",
      "Resource": <LISTENER_ARN>,
      "Condition": {
        "StringEquals": { "aws:RequestedRegion": "ap-northeast-2" }
      }
    },
    {
      "Sid": "TargetGroupRead",
      "Effect": "Allow",
      "Action": "elasticloadbalancing:DescribeTargetHealth",
      "Resource": [
        <TG_ARN1>,
        <TG_ARN2>
      ],
      "Condition": {
        "StringEquals": { "aws:RequestedRegion": "ap-northeast-2" }
      }
    },
    {
      "Sid": "STSWhoAmI",
      "Effect": "Allow",
      "Action": "sts:GetCallerIdentity",
      "Resource": "*"
    }
  ]
}

이후 사용자를 생성했다면 액세스 키를 발급해야한다.

사용자를 선택해 들어가 액세스 키 만들기를 선택한 뒤, 서드 파티 서비스를 선택한다.

 

이제 액세스 키와 시크릿을 복사해 GitHub Secrets에 붙여넣는다.

'인프라' 카테고리의 다른 글

AWS: IAM Billing 읽기 권한  (0) 2025.10.21
Blue-Green Deployment (자동화)  (0) 2025.10.18
AWS CLI: describe-rules --listener-arn  (0) 2025.10.18
Blue-Green Deployment (기본)  (0) 2025.10.17
무중단 배포(Zero-Downtime Deployment)  (0) 2025.10.17