깃헙 액션 배포 시 ALB Listener의 대상그룹 변경을 위한 최소한의 권한을 가진 IAM 사용자를 생성해보려고 한다.
내 워크플로우에서 필요한 권한은 다음과 같다:
elasticloadbalancing:DescribeListenerselasticloadbalancing:ModifyListenerelasticloadbalancing: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 |