SSO (OIDC)
Wave Console에 OpenID Connect 로그인을 붙입니다. 엔지니어는 각자 회사 IdP로 로그인해 역할을 받고, IdP가 내려가도 로컬 admin으로 들어올 수 있습니다.
엔지니어 3명이 공유 admin 계정 하나로 로그인하고, 감사 로그에는 admin만 남습니다
kubernetes.io, Authenticating; Wave SSO Setup 문서. 엔지니어 3명은 문서 다이어그램에서 가져온 설명용 수치입니다.
"Kubernetes에는 일반 사용자 계정을 나타내는 오브젝트가 없습니다"(kubernetes.io). 클러스터 안에서 도는 콘솔은 로그인을 스스로 갖춰야 합니다.
가장 쉬운 방법은 로컬 admin 하나를 같이 쓰는 것입니다. 그러면 사람별 감사 기록이 남지 않고, 누군가 떠나면 공유 비밀번호를 바꿔야 합니다(Wave SSO Setup 문서).
공유 admin과 PKCE를 쓰는 OIDC: Wave SSO Setup 문서. 사람, 시각, 역할은 설명용입니다.
Wave가 하는 일
- 엔지니어Alice, Bob, Carol 중 누구든
- 비밀번호공유 admin계정 하나, 비밀번호 하나
- 세션콘솔모두에게 전체 권한
- 기록감사 로그모든 항목이 admin
- 로그인 페이지Sign in with SSO 버튼
- 리디렉트회사 IdPOIDC, Authorization Code와 PKCE
- ID 토큰Wave관리자가 추가한 사용자와 검증된 이메일로 매칭
- 역할세션Viewer, Operator, Manager, Admin 중 하나
IdP를 연결합니다
Wave 3.2.2부터 Web Console은 OpenID Connect의 Authorization Code 흐름과 PKCE로 로그인합니다. Okta, Microsoft Entra ID, Google Workspace, Keycloak에서 검증했습니다.
사용자를 먼저 추가합니다
SSO 사용자는 첫 로그인 때 자동으로 생기지 않습니다. 관리자가 사용자마다 이메일과 역할(Viewer, Operator, Manager, Admin)을 먼저 등록합니다. 첫 로그인은 이메일로 그 사용자와 연결되고, 기본값으로 검증된 이메일만 받습니다.
들어올 길을 남겨 둡니다
SSO를 켜도 로그인 페이지에 Use local admin account 토글이 남습니다. IdP가 내려가도 로컬 admin으로 로그인할 수 있습니다.