ACTIVE INCIDENT
00:00 elapsed
LABLAB-K8S-10-RBAC-ACCESSSEV-2
Kubernetes RBAC — "Forbidden" 진단과 최소 권한 부여
ELAPSED
00:00
PHASE
0 / 4
SLA
45분
Kubernetes
← 목록
INCIDENT RESPONSE
0 / 5 단계 완료
📚 PREREQUISITES
Labk8s-basics-pod-deploy
Theorykubernetes/rbac
Theorykubernetes/serviceaccount
TRACK
KUBERNETES
SLA
45분
SEV
SEV-2
PHASES
3단계
ENV
local
INCOMING TICKET
배포 장애: "CI 파이프라인이 kubectl apply에서 \"forbidden: cannot create deployments\"로 실패해요. 어제까진 됐는데요."
YOUR ROLE
쿠버네티스 운영 엔지니어인 당신이
IMPACT IF UNRESOLVED
서비스 계정 권한 부족으로 배포 파이프라인 차단. 과다 권한으로 풀면 보안 위험 — 최소 권한으로 정확히 풀어야 함.
🚨INCIDENT BRIEF
CI 파이프라인이 `kubectl apply`에서 멈췄습니다.
`Error from server (Forbidden): deployments.apps is forbidden: User "system:serviceaccount:ci:deployer" cannot create resource "deployments" in API group "apps" in the namespace "prod"`
이 한 줄에 답이 다 있습니다: 누가(ci 네임스페이스의 deployer SA), 무엇을(create), 어떤 리소스(deployments.apps), 어디서(prod 네임스페이스).
RBAC은 주체–역할–바인딩의 연결이라, 이 중 하나가 빠지면 forbidden입니다.
메시지를 해독하고, 딱 필요한 권한만 부여해(cluster-admin 남발 금지) 복구합니다.
⏱ 45분📊 중급🔧 3단계#kubernetes#rbac#serviceaccount#role
MISSION
1
Forbidden 메시지 해독 + can-i로 권한 확인
forbidden 메시지에서 주체/동작/리소스/네임스페이스를 파싱하고, can-i로 현재 권한을 확정한다
2
주체–역할–바인딩 사슬 점검
ServiceAccount가 존재하고, 필요한 권한을 담은 Role이 있으며, 둘을 잇는 RoleBinding이 있는지 확인한다
3
최소 권한 Role 부여 + 검증
cluster-admin 남발 없이 필요한 동작만 담은 Role을 만들어 바인딩하고, can-i로 복구를 검증한다
📌 선수 지식
ℹ️ 실습 환경
환경: local
필요 도구: kubectl
🔒
실습 실행은 Pro 플랜 전용입니다
인시던트 브리프와 학습 자료는 지금 바로 확인할 수 있습니다. 실제 실습 진행 및 터미널 사용은 Pro 플랜에서 가능합니다.
Pro로 업그레이드 →
>_ LAB TERMINAL↔ 너비 조절
NOTES