대시보드는 최대 20개의 AWS 계정을 동시에 모니터링할 수 있습니다. 계정을 추가하면 대상 계정에 읽기 전용 스캔 역할(ISMS-P-ScanRole)이 자동으로 생성되며, 이후 매일 스캔이 수행됩니다.
계정 추가/제거는 CLI와 Terraform Cloud UI 두 가지 방법으로 할 수 있습니다.
사전 준비
대상 계정에 IAM 사용자를 생성하고 IAMFullAccess 권한을 부여한 뒤, Access Key와 Secret Key를 발급받으세요.
이 자격 증명은 스캔 역할(ISMS-P-ScanRole)을 자동 생성하는 데만 사용됩니다. 역할 생성이 완료된 후에는 해당 IAM 사용자와 액세스 키를 삭제해도 됩니다.
방법 1: CLI로 추가
isms-p target add <계정 ID>
실행하면 Access Key ID와 Secret Access Key를 입력하라는 안내가 표시됩니다. 입력 완료 후 Terraform Apply가 자동 실행되며, 완료 시 즉시 스캔을 실행할지 물어봅니다.
기타 CLI 명령:
| 명령 | 설명 |
|---|
isms-p target list | 등록된 대상 계정 목록 확인 |
isms-p target auth <계정 ID> | 기존 계정의 자격 증명 변경 |
isms-p target remove <계정 ID> | 대상 계정 제거 (ScanRole도 자동 삭제) |
isms-p scan | 수동 스캔 즉시 실행 |
Terraform Cloud 워크스페이스에서 직접 변수를 수정하여 계정을 추가할 수 있습니다.
CLI(isms-p target add)를 사용하면 슬롯 변수 생성과 자격 증명 입력이 자동으로 처리됩니다. TFC UI에서 직접 작업하는 경우 아래 단계를 모두 수동으로 수행해야 합니다.
1단계: 현재 슬롯 상태 확인
워크스페이스 > Variables에서 target_slot_map을 확인하여 현재 몇 번째 슬롯까지 사용 중인지 파악합니다.
예시 (현재 2개 계정이 등록된 상태):
["111111111111", "222222222222"]
2단계: 자격 증명 변수 생성
TFC UI에서 계정을 추가할 때는 해당 슬롯의 자격 증명 변수를 직접 생성해야 합니다. (CLI 사용 시에는 자동으로 생성됩니다.)
추가할 계정이 3번째라면, 워크스페이스 > Variables에서 다음 2개 변수를 새로 생성합니다:
| 변수명 | 값 | Category | 설정 |
|---|
target_03_access_key | 대상 계정의 Access Key ID | Terraform variable | Sensitive 체크 |
target_03_secret_key | 대상 계정의 Secret Access Key | Terraform variable | Sensitive 체크 |
변수를 생성하지 않고 target_slot_map만 수정하면 스캔이 실패합니다. Terraform 코드에 default=""로 정의되어 있어 Apply 자체는 성공하지만, 자격 증명이 비어있어 ScanRole을 생성할 수 없습니다.
3단계: target_slot_map 끝에 계정 ID 추가
target_slot_map 변수를 수정하여 기존 목록의 끝에 새 계정 ID를 추가합니다.
["111111111111", "222222222222", "333333333333"]
기존 계정의 순서를 절대 변경하지 마세요. 슬롯 번호와 순서가 1:1 매핑되어 있습니다. 첫 번째 = target_01_*, 두 번째 = target_02_* 입니다. 순서가 바뀌면 자격 증명이 잘못된 계정에 적용됩니다.
4단계: Apply 실행
변수 저장 후 “Start new run” → “Plan and apply”를 실행합니다. Apply가 완료되면 다음 스캔 시 자동으로 ScanRole이 생성됩니다.
자동으로 일어나는 일
어떤 방법으로 계정을 추가하든, 이후 과정은 동일하게 자동 처리됩니다.
| 순서 | 처리 내용 |
|---|
| 1 | 입력한 자격 증명이 Secrets Manager에 안전하게 저장됨 |
| 2 | 대상 계정 목록이 업데이트됨 |
| 3 | 다음 스캔 시작 시, 대상 계정에 ISMS-P-ScanRole이 자동 생성됨 |
| 4 | 생성된 역할로 읽기 전용 보안 데이터 수집 시작 |
ScanRole은 읽기 전용입니다. 대상 계정의 리소스를 수정하거나 삭제하지 않습니다. 부여되는 권한은 ViewOnlyAccess(리소스 조회)와 SecurityAudit(보안 감사)뿐입니다.
계정 제거
CLI: isms-p target remove <계정 ID>
Terraform Cloud UI: target_slot_map에서 해당 계정 ID를 제거하고, 해당 슬롯의 access_key/secret_key 변수를 비운 뒤 Apply를 실행합니다.
제거 시 대상 계정의 ISMS-P-ScanRole도 자동으로 삭제됩니다. 이미 수집된 과거 데이터는 보존됩니다 (원본 데이터 90일, 분석 데이터 영구).
병렬 처리와 스캔 시간
최대 5개 계정이 동시에 스캔되며, 계정 수에 따라 전체 소요 시간이 달라집니다.
| 계정 수 | 예상 스캔 시간 |
|---|
| 1-5 | 30-60분 |
| 6-10 | 60-90분 |
| 11-20 | 90-120분 |