초기 비밀번호 변경 (커미셔닝 필수)
설치 직후의 PlantPulse 는 모든 설치본이 똑같은 기본 계정을 갖고 있습니다. 이 값들은 소스에 적혀 있어 누구나 알 수 있습니다. 고객사에 인계하기 전에 반드시 전부 바꾸세요.
이 페이지는 바꿔야 하는 계정 전체 목록과 각각의 변경 경로를 한 곳에 모은 체크리스트입니다. 운영 중 정기 교체는 비밀번호 변경 (크리덴셜 회전) 을 보세요.
아래 계정은 서로 다른 화면·서로 다른 저장소를 씁니다. 웹 콘솔 비밀번호만 바꾸고 컨트롤 센터를 그대로 두면, 플랫폼 전체를 기동·정지할 수 있는 화면이 기본 비밀번호로 열려 있게 됩니다.
바꿔야 하는 것 — 전체 목록
| # | 계정 | 기본값 | 어디서 바꾸나 |
|---|---|---|---|
| 1 | 웹 콘솔 관리자 | admin / admin123! | 콘솔 화면 → 아래 |
| 2 | 컨트롤 센터(:9700) | admin / admin123! | 환경 변수 → 아래 |
| 3 | Grafana(:3000) | admin / kopens123! | 환경 변수 → 아래 |
| 4 | Kestra(:8380) | admin@plantpulse.io / Kopens123! | 환경 변수 → 아래 |
| 5 | 인프라 서비스 (DB·MQ·스토리지 등) | 설치본마다 다름 | passwd.sh → 아래 |
1~4 는 사람이 로그인하는 화면이라 여기서 다룹니다. 5 는 서비스끼리 쓰는 자격증명이라 회전 절차가 따로 있습니다.
1. 웹 콘솔 관리자
가장 먼저 바꿉니다. 화면 안에서 끝납니다.
admin/admin123!으로 로그인합니다.- 좌측 메뉴 System > 사용자 를 엽니다.
admin행의 🔑 열쇠 아이콘(툴팁 "비밀번호 변경")을 클릭합니다.- 현재 비밀번호(
admin123!)와 새 비밀번호를 입력하고 저장합니다.
남의 비밀번호를 바꿀 때는 ADMIN 권한만 있으면 되지만, 본인 계정은 현재 비밀번호를
함께 넣어야 합니다. 자세한 규칙과 REST API 사용법은
사용자 관리 — 비밀번호 변경 에 있습니다.
2. 컨트롤 센터 (:9700)
플랫폼 전체를 root 권한으로 기동·정지·제어하는 별도 웹 화면입니다. 웹 콘솔과 계정이 완전히 다르고, 콘솔에서 비밀번호를 바꿔도 여기는 그대로입니다.
환경 변수 두 개로 정합니다. 값을 주면 기본값 대신 그 값이 쓰입니다.
| 환경 변수 | 용도 |
|---|---|
PP_CONTROL_USER | 로그인 사용자명 |
PP_CONTROL_PASSWORD | 로그인 비밀번호 |
설정하지 않으면 모든 설치에서 동일한 개발용 기본 계정으로 로그인됩니다. 자세한 적용 절차는 크리덴셜 회전 — 컨트롤 센터 를 보세요.
비밀번호를 바꿨더라도 이 포트는 운영자 대역에서만 닿게 방화벽으로 막는 것이 원칙입니다 → 포트 구성.
3. Grafana (:3000)
시계열 시각화 대시보드입니다. 기본 계정은 admin / kopens123! 입니다.
| 환경 변수 | 기본값 |
|---|---|
PP_GRAFANA_ADMIN_USER | admin |
PP_GRAFANA_ADMIN_PASSWORD | kopens123! |
호스트의 시크릿 사이드카(/etc/kopens/plantpulse-platform.env)에 값을 적고 bin/restart.sh 로 재기동합니다.
4. Kestra (:8380)
워크플로 엔진입니다. 기본 계정은 admin@plantpulse.io / Kopens123! 입니다.
| 환경 변수 | 기본값 |
|---|---|
PP_KESTRA_ADMIN_EMAIL | admin@plantpulse.io |
PP_KESTRA_ADMIN_PASSWORD | Kopens123! |
현재 출하본에서 웨어하우스 서비스 기동 스크립트가 Kestra 계정을 하드코딩하고 있습니다
(웨어하우스 서비스 기동 스크립트의 KESTRA_USER ·
KESTRA_PASS). 위 환경 변수를 읽지 않습니다.
⇒ Kestra 비밀번호를 바꾸면 그 파일의 값도 같이 고쳐야 합니다. 고치지 않으면 S3 아카이브·최적화 워크플로가 인증에 실패하는데, 화면에는 오류가 뜨지 않아 며칠 뒤 "아카이브가 안 돌고 있다"로 발견됩니다.
이것은 제품 쪽 결함으로 보고되어 있습니다. 수정본이 나오면 이 안내는 걷힙니다.
5. 인프라 계정과 API 키
데이터베이스·메시징·스토리지처럼 서비스끼리 쓰는 자격증명입니다. 사람이 로그인하지 않지만, 기본값 그대로면 사내망 안에서 누구나 데이터에 닿을 수 있습니다.
bin/passwd.sh 가 앞문입니다. 레지스트리에 등록된 변수만 회전할 수 있고, 등록되지
않은 값을 주면 조용히 빠뜨리지 않고 거부합니다.
cd /opt/kopens/plantpulse-platform-docker
bin/passwd.sh --list # 무엇을 바꿀 수 있는지 (현재값은 마스킹)
bin/passwd.sh --list --show # 현재값을 그대로 보기
bin/passwd.sh PP_PG_PASSWORD # 값은 프롬프트로 입력 (argv·셸 히스토리에 남지 않습니다)
bin/passwd.sh PP_PG_PASSWORD=... PP_MINIO_PASSWORD=... # 여러 개를 한 번에 → 재시작 1회
bin/passwd.sh --dry-run PP_MQ_PASSWORD # 계획만 출력
커미셔닝 시점에 등록된 값 전부를 무작위로 돌리려면 회전 엔진을 직접 부릅니다. --all 은 passwd.sh 가 아니라 rotate-secret.sh 의 옵션입니다.
bin/rotate-secret.sh --dry-run --all --generate # 계획 확인
bin/rotate-secret.sh --all --generate # 실행
| 환경 변수 | 대상 |
|---|---|
PP_PG_PASSWORD | PostgreSQL plantpulse |
PP_TEMPORAL_PASSWORD | PostgreSQL temporal |
PP_HIVE_PASSWORD | PostgreSQL hive |
PP_CASSANDRA_PASSWORD | Cassandra |
PP_REDIS_PASSWORD | Valkey (Redis) |
PP_MINIO_PASSWORD | MinIO |
PP_MQ_PASSWORD | Kafka · HiveMQ (두 서비스가 한 값을 공유합니다) |
PP_CEP_API_KEY | CEP API |
PP_DATA_GATEWAY_API_KEY | 데이터 게이트웨이 API |
PP_API_KEY · PP_FLOW_WEBHOOK_API_KEY · PP_SPARK_PASSWORD · PP_OPCUA_PASSWORD ·
TLS keystore/truststore 비밀번호는 아직 레지스트리에 없어 스크립트가 거부합니다.
등록되지 않은 키를 주면 조용히 빠뜨리지 않고 «레지스트리에 없는 변수» 로 거부합니다.
전부 크리덴셜 회전 — 수동 절차 를 따르세요.
서버측 계정을 바꾸고 보관소를 갱신하지 않으면 다음 재시작에서 플랫폼이 뜨지 않습니다.
passwd.sh 는 이 순서를 대신 밟아 주지만, 수동으로 할 때는
왜 순서가 중요한가 를 먼저 읽으세요.
바꾼 뒤 확인
각 화면에 기본 비밀번호로 로그인이 안 되는지 직접 확인하세요. "바꿨다고 생각했는데 설정 파일이 안 읽혔다" 가 가장 흔한 실패입니다.
| 확인할 것 | 방법 |
|---|---|
| 웹 콘솔 | 로그아웃 후 admin123! 로 로그인 시도 → 실패해야 정상 |
| Grafana | :3000 에서 kopens123! 로그인 시도 → 실패해야 정상 |
| Kestra | :8380 에서 Kopens123! 로그인 시도 → 실패해야 정상 |
| S3 아카이브 | Kestra 를 바꿨다면 다음 스케줄 실행이 성공했는지 확인 |
바꾼 계정 목록과 누가 새 비밀번호를 보관하는지를 인계 문서에 적으세요. 값 자체를 적지는 마세요.
관련 문서
- 비밀번호 변경 (크리덴셜 회전) — 운영 중 정기 교체
- 사용자 관리 — 계정 생성·권한·비밀번호 규칙
- 보안 설정 — API 인증, TLS, 보안 헤더
- 포트 구성 — 어떤 포트를 외부에 열면 안 되는지