딱 필요한 만큼만 권한

밖에서 온 사람에게 열어 줄 문의 개수를 미리 좁혀 두는 원칙이에요. 열어 준 범위가 곧 사고가 번질 범위라서, 좁혀 놓으면 잘못돼도 잘못된 자리에서 멈춰요.

쉽게 말하면

가게에 인테리어 공사를 맡겼다고 해 볼게요. 사장님은 공사하는 분들에게 정문 열쇠를 줘요. 일을 해야 하니까요. 그런데 금고 비밀번호나 통장 도장까지 같이 주지는 않아요. 그리고 공사가 끝나는 날 열쇠를 돌려받아요. 이 세 가지가 전부예요. 필요한 문만, 필요한 동안만, 끝나면 회수. 화면과 데이터에도 똑같이 하는 것이 이 문서예요.

권한과 역할이 "우리 가게 사람마다 무엇까지 할 수 있는가"를 정하는 일이라면, 이 문서는 그 다음 질문을 맡아요. 얼마나 좁게 줄 것인가예요. 역할을 나눠 놓고도 전부 관리자로 만들어 두면 나눈 의미가 없어요.

많이 하는 방법
"일단 관리자로 드릴게요" · 외주 개발자에게 사장님 계정을 그대로 · 기간 없음, 끝나도 그대로 열려 있음 · 무엇을 볼 수 있는지 사장님도 모름

작업은 제일 빨리 시작돼요. 대신 손님 명단부터 매출까지 전부 열려 있고, 나중에 데이터가 이상해졌을 때 누가 만졌는지 물어볼 자리가 없어요.

값을 치른 방법
"이 화면만, 다음 달까지" · 그 사람 이름의 계정을 따로 만들어 줌 · 손님 개인정보 화면은 빼고 시작 · 종료일을 달력에 적어 둠

계정을 만들고 범위를 정하는 데 한 시간쯤 더 걸려요. 대신 잘못돼도 그 화면 안에서 멈추고, 일이 끝난 날 계정 하나만 끄면 정리가 끝나요.

좁히는 축은 네 가지예요

권한을 좁힌다는 말이 막연하게 들리는 이유는 좁힐 방향이 여러 개라서예요. 네 축으로 나눠 두면 그때그때 무엇을 물어야 할지가 정해져요.

좁히는 축무슨 뜻인가안 좁혔을 때 벌어지는 일
무엇을 볼 수 있나화면 단위로 나눠요. 주문 화면은 열고 손님 연락처 화면은 닫는 식이에요일과 상관없는 사람이 손님 명단 전체를 내려받을 수 있어요. 새는 순간 손님 정보 사고가 돼요
무엇을 바꿀 수 있나보기만 되는지, 고치기까지 되는지, 지우기까지 되는지를 가릅니다확인만 하면 되는 사람이 실수로 주문을 지워요. 대부분의 내부 사고가 여기서 나요
언제까지 쓸 수 있나종료일을 정해 두는 거예요. 두 달짜리 일이면 두 달짜리 계정이에요일이 끝난 지 반년이 지나도 문이 열려 있어요. 아무도 그 사실을 모르는 게 더 문제예요
어디까지 닿나연습용 자료만 볼지, 실제 손님 기록까지 볼지를 나눠요테스트한다고 만진 것이 진짜 주문이었어요. 되돌리려면 백업까지 가야 해요

믿음이 아니라 범위를 정하는 일이에요

이 원칙은 상대를 의심하는 게 아니에요. 사람은 실수하고, 그 사람 노트북이 털릴 수도 있어요. 그때 열려 있던 만큼만 사고가 나요. 그래서 좁히는 건 상대를 못 믿어서가 아니라, 상대를 곤란하게 만들지 않으려는 준비이기도 해요.

밖에서 온 사람에게 열어 줄 때

외주 개발자, 광고 대행사, 잠깐 도와주는 지인까지 전부 같은 순서예요. 여섯 걸음이고, 사장님이 직접 쥐고 있어야 하는 건 첫째와 마지막이에요.

  1. 1그 사람 이름의 계정을 따로 만들어요. 사장님 계정을 빌려주지 않아요. 계정이 따로 있어야 나중에 누가 무엇을 했는지 갈라 볼 수 있어요.
  2. 2무슨 일을 하는지 한 줄로 적어요. "결제 화면 붙이기" 같은 한 줄이요. 이 한 줄이 열어 줄 문의 목록을 정해요.
  3. 3보기부터 열어요. 처음에는 보기만 열고, 고쳐야 한다고 말할 때 그 화면만 더 열어요. 반대 순서로 하면 다시 좁히기가 거의 안 돼요.
  4. 4손님 개인정보는 기본으로 빼고 시작해요. 필요하면 이유를 듣고 그때 열어요. 필요 없는 경우가 생각보다 많아요.
  5. 5열쇠는 사람마다 따로 발급해요. 를 하나 만들어 돌려 쓰면 문제가 생겼을 때 어느 쪽 것인지 못 가려요.
  6. 6종료일을 달력에 적어요. 이 걸음이 빠지면 앞의 다섯 걸음이 몇 달 뒤에 전부 무효가 돼요.

장면 1 · 외주 개발자가 작업을 시작하며 말했다

관리자 계정 하나 주시면 제일 빠릅니다.

무리한 요구가 아니에요. 실제로 그게 제일 빨라요. 다만 사장님이 되물을 게 하나 있어요. "어느 화면이 필요하신가요." 대개 서너 개 이름이 돌아와요. 그러면 그 서너 개만 열면 돼요. 답이 "전부요"라면 그건 아직 무엇을 할지 안 정해졌다는 뜻이라, 범위 얘기보다 일의 범위를 먼저 정리하는 게 맞아요.

기본값을 '안 됨'으로 두기

이 원칙이 실제로 작동하려면 출발점이 중요해요. 전부 열어 놓고 위험한 것을 하나씩 닫는 방식은 거의 실패해요. 닫아 놓고 필요한 것만 여는 방식이라야 빠진 것이 사고가 아니라 문의로 와요.

열어 놓고 닫기
전부 허용이 기본 · 위험해 보이는 것만 하나씩 차단 · 새 기능이 생기면 자동으로 열림 · 빠뜨린 것을 아무도 모름

빠뜨린 문이 조용히 열려 있어요. 새 화면을 만들 때마다 위험이 하나씩 늘어나는데 늘어난 걸 알아챌 방법이 없어요.

닫아 놓고 열기
전부 거부가 기본 · 필요한 화면만 이름 대고 열기 · 새 기능은 기본으로 닫혀 있음 · 빠진 건 "안 열려요" 문의로 옴

처음에 문의가 몇 번 와요. 그게 이 방식의 비용이고, 동시에 장점이에요. 빠진 것이 사고가 아니라 대화로 드러나요.

확인해 보세요

광고 대행사에서 "성과를 보려면 계정이 필요하다"고 해요. 지금 열어 줄 것으로 가장 알맞은 건?

일이 끝나면 닫아요

가장 많이 빠지는 걸음이 여기예요. 열어 주는 순간은 급해서 기억에 남는데, 닫는 순간은 급하지 않아서 아무도 기억하지 않아요. 그래서 닫을 목록을 미리 적어 두는 게 실제 방법이에요.

끝나는 날 닫을 것안 닫으면 남는 것확인하는 법
그 사람 계정언제든 들어올 수 있는 문 하나계정 목록을 열어 지금 일하는 사람만 남았는지 봐요
발급해 준 열쇠코드나 메모장에 적힌 채로 계속 살아 있는 키쓰지 않는 키는 지워요. 남겨 둘 이유가 있으면 환경 변수에 두고 값을 새로 갈아요
공유 문서와 폴더손님 명단이나 정산 자료가 들어 있는 링크공유 목록에서 이름을 빼요. 링크만 알면 열리는 설정이 아닌지도 같이 봐요
단톡방과 메신저지난 대화에 남아 있는 비밀번호와 주소사람을 내보내는 것으로는 부족해요. 대화에 적혀 나간 값은 갈아 끼워야 해요
연동해 둔 외부 서비스그 사람이 자기 계정으로 붙여 놓은 연결연결 목록을 열어 누구 것인지 모르는 연결이 있는지 봐요

직접 해보기

지금 열려 있는 것을 세어 보세요

오늘 아무것도 바꾸지 않아도 값이 있는 확인이에요. 연결 센터를 열고 지금 내 서비스에 붙어 있는 것들을 목록으로 보세요. 그중에 이유를 바로 말할 수 없는 항목이 있다면 그게 첫 번째로 정리할 대상이에요. 이유를 아는 것부터 좁히기가 시작돼요.

연결 센터 열기

너무 좁히면 일이 안 돌아가요

여기가 이 문서에서 가장 정직해야 하는 자리예요. 지나치게 좁히면 그 조직은 결국 우회로를 만들어요. 사장님에게 하루에 세 번씩 열어 달라고 부탁해야 하면, 사람들은 그냥 사장님 계정을 빌려 쓰기 시작해요. 불편이 어느 선을 넘으면 원칙이 통째로 무너져요.

과하게 좁혔을 때 나오는 신호실제로 벌어지는 일고치는 방향
"그건 사장님만 되니까 대신 눌러 주세요"가 하루에 여러 번사장님이 병목이 됐어요. 곧 계정 공유로 넘어가요그 작업 하나만 담긴 역할을 만들어요. 화면 전체를 여는 게 아니에요
직원이 사장님 계정으로 로그인한 흔적원칙이 이미 무너졌어요. 기록도 같이 무너졌어요그 사람 계정을 만들고, 부족하다고 말한 화면을 열어 줘요
급할 때만 관리자로 올렸다가 잊어버림임시로 올린 것이 영구가 돼요. 가장 흔한 경로예요올린 날과 내릴 날을 같이 적어요. 내릴 날이 없으면 올리지 않아요
새로 온 사람이 첫 주 내내 대기좁힌 게 아니라 준비를 안 한 거예요역할별 기본 묶음을 미리 만들어 둬요. 사람이 아니라 역할에 붙여요

하나 더

알바가 "환불 처리가 안 돼서 매번 사장님을 불러야 해요"라고 해요. 가장 나은 대응은?

자주 묻는 것

Q. 혼자 하는데도 이게 필요한가요?
혼자면 사람 나누기는 필요 없어요. 대신 열쇠 쪽은 지금도 해당돼요. 외부 서비스에 붙일 키를 만들 때 필요한 범위만 골라 두면, 나중에 그 키가 새도 피해가 그 범위에서 멈춰요. 2단계 인증과 함께 이 둘이 혼자 하는 사장님의 기본이에요.
Q. 지금까지 다 열어 놓고 썼는데 되돌릴 수 있나요?
됩니다. 순서만 지키면 돼요. 먼저 지금 열려 있는 계정과 키를 목록으로 적고, 이유를 말할 수 없는 것부터 닫아요. 한꺼번에 조이면 무엇이 멈췄는지 못 가리니 한 번에 하나씩 닫고 며칠 지켜보세요.
Q. 외주 계약이 끝났는데 코드는 그대로 두고 싶어요. 계정도 남겨야 하나요?
코드와 계정은 별개예요. 코드는 인수인계로 받아 두고, 계정은 닫는 게 맞아요. 나중에 다시 봐 달라고 할 때 계정을 새로 열어 주면 돼요. 여는 건 몇 분이고, 열린 채로 잊는 건 몇 달이에요.
Q. 직원마다 계정을 만들면 요금이 늘지 않나요?
서비스에 따라 늘 수 있어요. 그럴 때 비교할 대상은 계정 요금과 사고 비용이에요. 다만 정말 빠듯하면 사람 수를 줄이는 게 아니라 여는 범위를 줄이는 쪽을 먼저 보세요. 요금은 계정 수에 붙지 범위에 붙지 않는 경우가 많아요.
Q. 누가 무엇을 했는지는 어떻게 아나요?
권한을 나눠 두는 것만으로는 안 보여요. 기록이 따로 있어야 해요. 누가 무엇을 했나 기록이 그 짝이에요. 권한은 사고를 좁히고, 기록은 사고를 밝혀요. 둘은 다른 일이에요.
Q. 이미 키가 샌 것 같으면요?
닫는 게 먼저고 조사는 나중이에요. 그 키를 무효로 만들고 새 키로 갈아 끼운 다음에 원인을 봐요. 순서를 바꾸면 조사하는 동안 계속 열려 있어요. 사고 대응 순서를 그대로 따르면 돼요.

더 깊이 (안 읽어도 괜찮아요)

범위는 사고 크기를 정하는 손잡이예요 · 사고를 없애는 방법은 없어요. 사람은 실수하고 기계는 고장 나요. 그래서 이 원칙이 다루는 건 사고의 발생이 아니라 크기예요. 보기 전용 계정이 털리면 정보가 새고, 관리자 계정이 털리면 정보가 새는 동시에 지워지고 바뀌어요. 같은 사고인데 결과가 다른 이유가 그날 열려 있던 범위 하나예요. 그래서 좁히기는 예방이 아니라 피해 한도를 미리 정해 두는 일에 가까워요.

임시 권한이 영구가 되는 경로 · 실무에서 가장 자주 무너지는 지점이에요. 급한 일이 생겨 잠깐 올려 준 권한은 내리는 사람이 없어요. 내리는 일은 아무에게도 급하지 않으니까요. 막는 방법은 의지가 아니라 형식이에요. 올릴 때 내릴 날을 같이 적고, 그 날짜를 달력에 넣어요. 종료일 없이 올린 권한은 예외 없이 영구 권한이라고 보는 편이 실제에 가까워요.

사람 계정과 기계 열쇠는 다르게 다뤄요 · 직원 계정은 사람이 쓰니까 그만두는 날이 있어요. 반면 서비스끼리 붙는 열쇠는 그만두는 날이 없어서 한 번 만들면 몇 년을 살아요. 그래서 기계 열쇠는 두 가지를 더 챙겨요. 하나는 용도별로 따로 만드는 것이고, 다른 하나는 주기적으로 갈아 끼우는 것이에요. 열쇠 하나를 여러 군데 돌려 쓰면 갈아야 할 때 무엇이 멈출지 몰라서 결국 못 갈게 돼요.

이것만 기억하세요

  • ·필요한 문만, 필요한 동안만, 끝나면 회수. 이 세 가지가 전부예요
  • ·닫아 놓고 필요한 것만 여는 순서라야 빠진 것이 사고가 아니라 문의로 와요
  • ·밖에서 온 사람에게는 그 사람 이름의 계정을 따로 만들고 보기부터 열어요
  • ·종료일을 안 적은 권한은 영구 권한이에요. 올릴 때 내릴 날을 같이 적어요
  • ·너무 좁히면 사람들이 계정을 빌려 써요. 문을 잠그지 말고 잘게 나눠요
VibeCampus새 빌드