읽기 전용(Read-Only) IAM 역할 기반 클라우드 점검이 안전한 이유
읽기 전용(Read-Only) IAM 역할 기반 점검은 조회 권한만 부여하므로 외부 도구가 클라우드 설정을 변경하거나 리소스를 삭제할 수 없습니다. 고객이 직접 자신의 AWS 계정에 CloudFormation으로 역할을 배포하기 때문에 권한 통제권이 고객에게 남고, 본인 소유 계정만 점검 대상이 됩니다. 이 방식은 최소 권한 원칙을 기술적으로 보장해 점검 과정 자체가 안전합니다.
외부 보안 점검 도구에 운영 중인 클라우드 계정을 연결하는 것은 많은 보안 담당자에게 부담스러운 결정입니다. 점검을 위해 어디까지 권한을 줘야 하는지, 그 도구가 설정을 임의로 바꾸지는 않는지, 우리 데이터가 외부로 빠져나가지는 않는지에 대한 우려 때문입니다. 이 글은 그 우려를 기술적으로 해소하는 표준 방식인 읽기 전용(Read-Only) IAM 역할 기반 점검이 왜 안전한지를 설명합니다.
보안 담당자가 외부 점검 도구 연결 시 갖는 3가지 우려
클라우드 보안 점검 도구를 도입할 때 실무에서 반복적으로 제기되는 우려는 크게 세 가지로 정리됩니다.
- 권한 과다: 점검을 위해 관리자(Administrator) 수준의 풀 권한을 요구하면, 그 권한이 오남용되거나 탈취될 경우 계정 전체가 위협에 노출됩니다.
- 설정 변경: 점검 도구가 보안 그룹, 정책, 리소스를 임의로 수정하거나 삭제하면 운영 환경에 직접적인 장애가 발생할 수 있습니다.
- 데이터 반출: 점검 명목으로 부여한 권한이 실제 데이터(S3 객체 내용, 데이터베이스 레코드 등)를 외부로 가져가는 데 쓰일 수 있다는 우려입니다.
이 세 가지 우려의 공통 원인은 점검 도구가 가진 권한의 범위가 통제되지 않는다는 점입니다. 따라서 안전한 점검의 핵심은 권한을 점검에 필요한 최소 수준으로 제한하고, 그 통제권을 고객이 직접 쥐는 데 있습니다.
읽기 전용(Read-Only) 권한이란 무엇인가
읽기 전용 권한은 클라우드 리소스의 구성 정보를 조회(read)할 수만 있고, 생성·변경·삭제(write/delete)는 할 수 없는 권한입니다. AWS IAM에서는 각 작업이 Describe*, List*, Get*와 같은 조회용 액션과 Create*, Modify*, Delete* 같은 변경용 액션으로 명확히 구분됩니다. 읽기 전용 역할은 전자만 허용하고 후자를 일절 포함하지 않습니다.
예를 들어 점검 도구가 보안 그룹의 인바운드 규칙이 과도하게 열려 있는지 확인하려면 ec2:DescribeSecurityGroups 권한만 있으면 됩니다. 규칙을 변경하는 ec2:AuthorizeSecurityGroupIngress나 ec2:RevokeSecurityGroupIngress는 필요하지 않으며, 읽기 전용 역할에는 이런 액션이 포함되지 않습니다. 즉 점검 도구는 설정을 들여다볼 수는 있어도 바꿀 수는 없습니다.
고객이 직접 배포하는 IAM 역할: 권한 통제권은 고객에게
안전한 점검 방식의 두 번째 축은 역할 배포 주체입니다. 권장되는 방식에서는 점검 도구 제공자가 고객 계정에 권한을 요구하는 것이 아니라, 고객이 자신의 AWS 계정에 직접 점검용 역할을 만듭니다. 이때 AWS CloudFormation 템플릿을 사용하면 원클릭으로 표준화된 읽기 전용 역할이 생성됩니다.
여기서 등장하는 IAM 개념 세 가지를 간단히 정리하면 다음과 같습니다.
- IAM 역할(IAM Role): 특정 권한 묶음을 가진 신원입니다. 사용자(Access Key)와 달리 장기 자격 증명이 없고, 신뢰 관계에 따라 임시로 위임받아 사용됩니다.
- 신뢰 정책(Trust Policy): 누가 이 역할을 위임받아 사용할 수 있는지를 정의합니다. 점검 도구가 사용하는 특정 주체만 신뢰하도록 한정할 수 있습니다.
- 외부 ID(External ID): 제3자가 역할을 위임받을 때 추가로 확인하는 식별자로, 혼동된 대리인(confused deputy) 문제를 방지해 다른 고객의 역할이 잘못 사용되는 것을 막습니다.
이 구조의 핵심은 권한 통제권이 고객에게 남는다는 점입니다. 역할을 만든 것도 고객이고, 그 역할에 부여된 권한 범위를 CloudFormation 템플릿에서 직접 확인할 수 있으며, 언제든 역할을 삭제해 연결을 끊을 수 있습니다. 점검 도구는 고객이 허용한 만큼만, 고객이 만든 읽기 전용 역할로만 동작합니다. 또한 이 방식은 본인이 소유한 계정만 연결되도록 보장합니다. 역할 생성은 해당 계정의 권한자만 수행할 수 있기 때문입니다.
읽기 전용 역할 방식 vs 풀 권한·에이전트 설치 방식
점검 도구가 클라우드에 접근하는 방식은 크게 세 가지로 나뉩니다. 각 방식의 권한 범위와 위험도를 비교하면 읽기 전용 역할 방식의 안전성이 분명해집니다.
| 구분 | 읽기 전용 IAM 역할 | 풀 권한 부여 | 외부 에이전트 설치형 |
|---|---|---|---|
| 권한 범위 | 조회(read)만 허용 | 변경·삭제 포함 광범위 | 에이전트가 가진 시스템 권한에 의존 |
| 설정 변경 가능성 | 기술적으로 불가능 | 가능 | 에이전트 구성에 따라 가능 |
| 배포 주체 | 고객이 직접 CloudFormation으로 생성 | 도구 제공자가 요구 | 운영 서버·인스턴스에 직접 설치 |
| 통제권 | 고객(언제든 역할 삭제) | 도구 제공자에 의존 | 에이전트 관리 주체에 분산 |
| 운영 영향 | 없음(읽기 전용) | 장애·오설정 위험 | 리소스 점유·관리 부담 |
풀 권한 부여는 점검 범위에 비해 과도한 권한을 넘기므로 권한 오남용·탈취 시 피해가 큽니다. 외부 에이전트 설치형은 운영 인스턴스에 별도 소프트웨어를 설치해야 하므로 리소스 점유, 버전 관리, 추가 공격 표면이라는 부담이 생깁니다. 반면 읽기 전용 IAM 역할 방식은 설치할 것이 없고, 권한이 조회로 한정되며, 통제권이 고객에게 남습니다. 이것이 최소 권한 원칙(Least Privilege)을 기술적으로 구현한 형태입니다.
안전한 점검의 실제 절차
읽기 전용 역할 기반 점검은 다음 순서로 진행되며, 전 과정에서 고객의 설정이 변경되지 않습니다.
- CloudFormation 원클릭 실행: 고객이 제공된 템플릿을 자신의 AWS 계정에서 실행합니다. 약 2~3분이면 스택 배포가 완료됩니다.
- 읽기 전용 역할 생성: 템플릿이 조회 권한만 포함한 IAM 역할을 자동으로 생성하고, 신뢰 정책과 외부 ID로 점검 주체를 한정합니다.
- 점검 수행: 생성된 역할을 통해 클라우드 구성 정보를 조회하며 보안 설정을 점검합니다. 조회만 이뤄지므로 운영 환경에 영향이 없습니다.
gnFortress는 이 원칙을 그대로 따릅니다. 고객이 직접 자신의 계정에 CloudFormation으로 배포한 읽기 전용 역할로만 동작하며, 설정을 변경하거나 본인 소유가 아닌 계정에 접근하지 않습니다. 이 방식 위에서 ISMS-P 기준 186개 항목에 대한 보안 점검이 이뤄집니다. gnFortress는 금융권 클라우드 보안 1위, 4,000개 이상의 워크로드 운영 경험을 가진 가디언넷이 제공합니다.