3.1. OPENMARU COP 운영절차
OPENMARU COP Console 개요
CLI(kubectl/helm)로 수행하는 대부분의 작업은 OPENMARU COP Console(웹 콘솔)에서도 동일하게 수행할 수 있습니다. 본 장의 각 절차에서는 CLI 명령과 함께 해당 작업에 대응하는 Console 화면을 함께 안내합니다.

Console은 https://console.{sub_domain}.{domain}.{TLD} 주소로 접속하며, SSO 로그인(Keycloak 통합 인증) 또는 토큰 로그인(ServiceAccount 토큰) 두 가지 방식을 지원합니다.


로그인 후에는 사용자 권한(admins/users/viewers)에 따라 표시되는 메뉴와 수행 가능한 작업이 달라집니다. 여러 클러스터가 등록된 환경에서는 상단 헤더의 클러스터 선택 드롭다운으로 클러스터를 전환할 수 있고, 네임스페이스 드롭다운으로 작업 대상 네임스페이스를 전환할 수 있습니다. 로그아웃은 우측 상단 프로필 메뉴에서 수행합니다.
사용자 관리
OPENMARU COP는 LLDAP(경량 사용자 디렉터리)과 Keycloak(SSO/OIDC)을 통해 사용자 계정을 통합 관리합니다.
LLDAP 접속 정보
| 항목 | 값 |
|---|---|
| 네임스페이스 | openmaru-sso |
| LDAP 포트 | 3890 |
| Web UI 포트 | 17170 |
| Web UI URL | https://ldap.{sub_domain}.{domain}.{TLD} |
| Base DN | dc={sub_domain},dc={domain},dc={TLD} |
ℹ️ 권장: 사용자와 그룹은 COP Console 의
사용자 관리메뉴에서 만드십시오. 콘솔로 만들면 권한 부여와 SSO 반영까지 한 번에 끝납니다. LLDAP 웹 UI 와 CLI(lldap-cli)는 콘솔을 쓸 수 없거나 스크립트로 자동화할 때만 씁니다.
방법 1) COP Console 로 사용자 만들기 (권장)
사용자 관리 > 사용자 화면에서 [사용자 추가] 를 누릅니다. 이 버튼은 admins 그룹에
속한 사용자에게만 보입니다.
| 항목 | 설명 |
|---|---|
| 아이디 | 로그인 계정. 만든 뒤에는 바꿀 수 없습니다 |
| 이메일 | Kubernetes 사용자 이름으로 쓰이므로 만든 뒤 콘솔에서 바꿀 수 없습니다 |
| 표시 이름 · 성 · 이름 | 목록과 상세에 표시됩니다 |
| 전화번호 | 숫자와 하이픈(-)만 쓸 수 있습니다 |
| 그룹 | 하나 이상 골라야 합니다. 기본값은 users 입니다 |
| 비밀번호 | 8자 이상 |


그룹을 반드시 고르게 하는 이유는 그룹이 곧 권한이기 때문입니다. 그룹이 없는 계정은 로그인은 되지만 클러스터에서 아무 작업도 할 수 없습니다. 만든 사람은 계정을 줬다고 생각하고, 받은 사람은 빈 화면을 보게 됩니다.
| 그룹 | 매핑되는 클러스터 권한 |
|---|---|
admins | cluster-admin (전체 관리 권한) |
users | cop-cluster-users (편집 사용자) |
viewers | cop-cluster-viewers (조회 사용자) |
만든 뒤에는 목록의 행을 눌러 상세 창에서 다음을 합니다.
- [편집] — 표시 이름·성·이름·전화번호를 고칩니다
- [그룹 매핑] — 소속 그룹을 바꿉니다
- [비밀번호 변경] — 관리자가 비밀번호를 재설정합니다
- 삭제 아이콘 — 계정을 지웁니다. 되돌릴 수 없으므로 확인 창이 먼저 열립니다
자기 자신, 마지막 관리자, 사용자 디렉터리를 관리하는 계정은 지울 수 없어 삭제 아이콘이 보이지 않습니다.

ℹ️ SSO 동기화가 필요 없습니다. 콘솔은 계정을 만들거나 소속을 바꾼 뒤 Keycloak 의 사용자 캐시를 스스로 비웁니다. 새 계정은 바로 로그인할 수 있고, 바꾼 권한은 그 사용자가 다음에 로그인할 때부터 적용됩니다. 반영이 늦어지는 경우 에는 콘솔이 화면에 알립니다.
그룹 추가
사용자 관리 > 사용자 그룹 화면의 [그룹 추가] 로 기본 세 그룹 외의 그룹을 만들 수
있습니다. 이름은 영소문자·숫자·하이픈만 2~32자로 쓰고, 권한(편집 사용자 또는 조회
사용자)을 반드시 하나 골라야 합니다.


콘솔이 정하는 것은 Kubernetes 권한까지입니다. 새 그룹이 ArgoCD 와 Nexus 에서도 권한을 가지려면 설치 담당자가 따로 설정해야 합니다.
자세한 화면 사용법은 설치 가이드의 「COP Console 사용 가이드」 장을 참고하십시오.
방법 2) LLDAP 웹 UI로 사용자 만들기
콘솔에 접속할 수 없을 때 씁니다.
-
LLDAP Web UI(
https://ldap.{sub_domain}.{domain}.{TLD})에 관리자 계정으로 로그인합니다. -
왼 쪽 Users 메뉴에서 Create a user 를 누르고 아래를 입력합니다.
칸 값 User name 계정 아이디 (예: jdoe)Email 로그인에 쓰는 주소 (예: jdoe@example.com)Display name 목록에 보이는 이름 (선택) Password 초기 비밀번호 -
왼쪽 Groups 메뉴에서 넣을 그룹(
admins·users·viewers중 하나)을 엽니다. 그룹 상세 화면 아래의 드롭다운에서 방금 만든 사용자를 고르고 Add to group 을 누릅니다.
⚠️ 이 방법은 SSO 동기화가 따로 필요합니다. 아래 「Keycloak 동기화」를 함께 수행하십시오.
방법 3) lldap-cli로 사용자 만들기
스크립트로 자동화할 때 씁니다.
# 사용자 생성
lldap-cli user add --username jdoe --email jdoe@example.com
# 비밀번호 설정
lldap-cli user set-password --username jdoe
# 그룹에 사용자 추가
lldap-cli group add-member --group users --username jdoe
# 사용자 목록 조회
lldap-cli user list
# 사용자 상세 조회
lldap-cli user show --username jdoe
⚠️ 이 방법도 SSO 동기화가 따로 필요합니다.
그룹 관리 (CLI)
# 그룹 생성
lldap-cli group add --name developers
# 그룹에 사용자 추가/제거
lldap-cli group add-user --group developers --username jdoe
lldap-cli group remove-user --group developers --username jdoe
# 그룹 목록/상세 조회
lldap-cli group list
lldap-cli group show --name developers
Keycloak 동기화
방법 1(콘솔)로 만들었다면 이 절차는 필요 없습니다. 콘솔이 캐시를 스스로 비웁니다.
방법 2·3처럼 LLDAP 을 직접 고친 경우에는 Keycloak 이 이미 읽어 둔 값을 그대로 쓰기 때문에
바꾼 내용이 바로 반영되지 않을 수 있습니다. Keycloak Admin Console
(https://sso.{sub_domain}.{domain}.{TLD})에서 대상 Realm(openmaru)을 선택한 뒤
User federation > ldap 으로 들어가 우측 상단 Action 드롭다운에서
Sync all users 를 실행하십시오. 사용자가 최초 로그인을 시도하면 자동으로 동기화되기도
합니다.


⚠️ 주의: LLDAP 을 직접 고친 뒤 즉시 로그인이 안 될 경우 Keycloak Full Sync 를 수동으로 실행하십시오. 콘솔로 만든 계정에서는 이 증상이 발생하지 않습니다.
사용자 권한 부여
OPENMARU COP는 Kubernetes RBAC(Role-Based Access Control)과 OIDC 그룹 클레임을 연동하여 권한을 부여합니다.