CLI 설치
현재 최신 버전: 0.4.0 아래 명령어의VERSION을 최신 버전으로 변경하세요.
- macOS / Linux / AWS CloudShell
- Windows (CMD / PowerShell)

지원 리전
현재 ap-northeast-2 (서울) 리전만 지원합니다.사전 요구사항
시작하기 전에 아래 네 가지를 준비하세요.1. AWS Marketplace 구독
AWS Marketplace에서 제품을 구독해야 합니다. 구독이 없으면 설치 시 “구독이 확인되지 않았습니다” 에러가 발생합니다. 구독 문의: mp_support@bsgglobal.com2. AWS 인증
배포 대상 AWS 계정에 AdministratorAccess 권한으로 인증되어 있어야 합니다.3. Terraform Cloud 토큰
app.terraform.io에서 API 토큰을 발급받으세요.| 토큰 유형 | 발급 경로 | 비고 |
|---|---|---|
| User API Token | User Settings > Tokens | 개인 사용자 권한 상속 |
| Team API Token | Organization Settings > Teams > 해당 Team | 팀 워크스페이스 권한 필요 |
terraform login | 터미널에서 terraform login 실행 | User API Token 자동 발급 |
terraform login 토큰이 감지되면, 해당 토큰을 사용할지 직접 입력할지 선택할 수 있습니다.
4. 스캔 대상 계정 Credential
스캔할 AWS 계정마다 IAM Access Key가 필요합니다. 설치 과정에서 입력합니다. 대상 계정에서 사전 준비:- IAM 콘솔에서 사용자를 생성합니다
- IAMFullAccess 정책을 연결합니다 (ScanRole 자동 생성에 필요)
- Access Key를 발급받아 메모해둡니다
ScanRole(읽기 전용)이 자동 생성된 후에는 Access Key 대신 ScanRole로 스캔합니다.
Access Key는 최초 ScanRole 생성에만 사용되므로, ScanRole 생성 완료 후 IAM 사용자를 삭제해도 됩니다.
빠른 시작
Step 1. 설치

| 입력 항목 | 설명 | 예시 |
|---|---|---|
| TFC API Token | 위에서 발급한 토큰 (마스킹 표시) | bmJzy... |
| TFC Organization | Terraform Cloud 조직 이름 | my-company |
| TFC Project | 프로젝트 이름 (Enter = Default Project) | isms-p |
| 관리자 이메일 | 스캔 실패 알림 + QuickSight 계정 | admin@company.com |
| 스캔 대상 계정 ID | 스캔할 AWS 계정 (comma로 구분) | 111111111111,222222222222 |

- CloudFormation 스택 생성 (Bootstrap 인프라)
- Bootstrap 실행 (OIDC Provider, TFC Run Role, S3 버킷, QuickSight 구독 자동 생성)
- Bootstrap 완료 후 임시 리소스(EC2, VPC 등) 자동 정리
- Terraform Cloud workspace 생성 확인
- Terraform Apply (Lambda, Step Functions, Glue, Athena, QuickSight 대시보드 등 42개 리소스)

Step 2. Credential 입력
배포 완료 후 각 대상 계정의 IAM Access Key를 입력합니다.
Credential 설정이 완료되면 Apply가 진행되고, 스캔 실행 여부를 물어봅니다.
설치 중 Credential 입력을 건너뛰면 나중에
isms-p target auth <account_id>로 설정할 수 있습니다.
Credential이 설정되지 않은 계정은 스캔이 실행되지 않습니다.Step 3. 설치 완료

- QuickSight Admin 자동 등록: 설치를 실행한 AWS IAM 사용자/역할이 QuickSight ADMIN으로 자동 등록됩니다. 별도의 QuickSight 사용자 설정이 필요 없습니다.
- 대시보드 URL 안내: 설치 완료 메시지에 QuickSight 대시보드 URL이 표시됩니다. 이 URL을 브라우저에서 열면 바로 대시보드를 볼 수 있습니다.
다른 사용자에게 대시보드 공유
다른 사용자에게 대시보드 공유
QuickSight 대시보드를 팀원에게 공유하려면 AWS QuickSight 콘솔에서 사용자를 추가해야 합니다.
- AWS 콘솔 > QuickSight > 사용자 관리
- 사용자 초대 (이메일 주소 입력)
- 대시보드에서 공유 설정
Step 4. 상태 확인

제거
더 이상 사용하지 않을 때 전체 인프라를 제거합니다.
- Terraform destroy — Lambda, Step Functions, Glue, Athena, QuickSight 대시보드 등 모든 Terraform 리소스 삭제
- TFC Workspace 삭제
- Bootstrap 리소스 정리 — TFC Run Role, Bootstrap Role, OIDC Provider
- S3 Data Lake 삭제 여부 확인 (스캔 이력 데이터)
- QuickSight 구독 해지 여부 확인 (월정액)
S3와 QuickSight는 왜 선택인가요?
S3와 QuickSight는 왜 선택인가요?
- S3 Data Lake: 과거 스캔 이력은 감사 증적/컴플라이언스 증빙으로 가치가 있을 수 있습니다. 삭제하면 복구할 수 없습니다.
- QuickSight 구독: 월정액 과금(Enterprise $18/user/month)이 발생하지만, 다른 용도로 이미 사용 중일 수 있어 고객 판단에 맡깁니다.
재설치해도 문제없나요?
재설치해도 문제없나요?
isms-p uninstall 후 isms-p install로 재설치할 수 있습니다.
설정 파일(~/.isms-p-dashboard/config.yaml)은 보존되어 이전 설정을 재사용할 수 있습니다.- S3를 남겨둔 경우: 기존 버킷을 자동 감지하여 재사용합니다. 과거 데이터도 대시보드에 그대로 표시됩니다.
- S3를 삭제한 경우: 새 버킷이 생성되고 빈 상태에서 시작합니다.
- QuickSight 구독을 남겨둔 경우: 기존 구독을 사용하여 대시보드만 재생성합니다.
- QuickSight 구독을 해지한 경우: 구독부터 새로 생성합니다.
CLI 없이 콘솔에서 제거하는 경우
CLI 없이 콘솔에서 제거하는 경우
TFC 콘솔과 AWS 콘솔에서 직접 제거할 수도 있습니다.1단계: Terraform destroy (TFC 콘솔)
4단계: S3 / QuickSight (선택)
- app.terraform.io에 로그인
- 해당 workspace의 Settings > Destruction and Deletion
- “Queue destroy plan” 실행
- Plan 확인 후 Apply
- 같은 Settings > Destruction and Deletion
- “Delete from HCP Terraform” 실행
| 리소스 | 콘솔 경로 | 삭제 대상 |
|---|---|---|
| TFC Run Role | IAM > Roles | isms-p-intelligence-dashboard-tfc-run |
| TFC Run Policy | IAM > Policies | ...-tfc-run-policy-core, ...-analytics |
| Bootstrap Role | IAM > Roles | Product 태그가 isms-p-intelligence-dashboard인 role 중 이름에 bootstrap 포함 |
| OIDC Provider | IAM > Identity providers | app.terraform.io |
Bootstrap 리소스를 삭제하지 않아도 재설치에 문제는 없습니다.
CLI는 재설치 시 잔류 Bootstrap 리소스를 자동으로 감지하고 정리한 후 진행합니다.
| 리소스 | 콘솔 경로 | 삭제 방법 |
|---|---|---|
| S3 Data Lake | S3 콘솔 | isms-p-intelligence-dashboard-data-로 시작하는 버킷. 버전 관리가 활성화되어 있으므로 “버킷 비우기” 후 삭제 |
| QuickSight 구독 | QuickSight 콘솔 > 계정 관리 | 종료 보호 해제 후 구독 삭제 |
명령어 요약
| 명령어 | 설명 |
|---|---|
isms-p install | 설치 (설정 + 배포 + credential) |
isms-p status | 상태 확인 (배포, 스캔, 대시보드 URL) |
isms-p uninstall | 제거 |
isms-p config | 설정 확인/변경 |
isms-p config --edit | 인터랙티브 설정 편집 |
isms-p target list | 스캔 대상 목록 |
isms-p target add [id] | 대상 추가 + credential |
isms-p target auth [id] | credential 설정/변경 |
isms-p target remove [id] | 대상 제거 |
isms-p scan | 수동 스캔 실행 |
isms-p version | 버전 정보 |