4.7 신원과 접근 관리
개요와 동기
시스템에 닿는 모든 요청은 암묵적인 주장을 지닙니다. 나는 이것을 해도 된다. 신원 및 접근 관리(IAM)는 그 주장이 참인지 결정하는 규율입니다. 사람들이 끊임없이 뒤섞는 두 가지 별개의 질문에 답합니다. 인증은 누구인지 증명합니다. 인가는 증명한 뒤 무엇을 할 수 있는지 결정합니다. 이 두 아이디어를 머릿속에서 구별해 두면 이 분야의 혼란 절반이 사라집니다.
큰 팀에게 신원은 조용히 소유한 가장 중요한 통제가 되었습니다. 4.3장은 신원이 새로운 경계라고 말하고, 4.1장은 그 위에 제로 트러스트를 세웁니다. 네트워크를 신뢰하기를 멈추면 남은 신뢰할 것은 검증된 신원과 명시적 정책뿐입니다. 이 전환은 약한 비밀번호 재설정 흐름이나 잊힌 서비스 계정이 더는 작은 버그가 아니라는 뜻입니다. 그것이 정문입니다. 대부분의 실제 침해는 메모리 안전 결함의 영리한 익스플로잇이 아닙니다. 도난당한 자격 증명, 지나치게 넓은 권한, 몇 달 전에 꺼졌어야 할 계정입니다.
기업과 정부 환경에서 이해관계가 오릅니다. 글로벌 기업은 수십 개의 겹치는 디렉터리, 매달 수천 명의 입사자와 퇴사자, 시스템의 일부에 범위가 정해진 접근이 필요한 파트너를 다룹니다. 정부 기관은 스마트 카드 자격 증명, 의무화된 신원 보증 수준, 특정 날짜에 누가 특정 기록을 건드릴 수 있었는지 서면으로 정확히 물을 감사자를 겹칩니다. 이 장은 사람들을 멈추게 하지 않고 그런 질문에 잘 답하는 신원 계층을 구축하는 방법에 대해 단호한 입장을 취합니다.
핵심 원칙
- 인증과 인가는 다른 문제입니다. 신원 증명과 권한 부여는 별도의 설계와 별도의 리뷰가 필요합니다.
- 하나의 신원, 많은 시스템. 신원 집단마다 단일 진실 원천으로 통합하십시오. 디렉터리 난립은 보안 버그입니다.
- 기본이 최소 권한. 사람이든 머신이든 0의 접근에서 시작해 의도적으로 더하십시오.
- 모든 자격 증명은 일시적입니다. 수명이 긴 비밀보다 수명이 짧고 자동 발급되는 자격 증명을 선호하십시오.
- 프로비저닝 해제는 프로비저닝만큼 중요합니다. 필요보다 오래 남은 접근은 순수한 위험입니다.
- 외우기 쉬운 것보다 피싱에 강한 것. 인증을 패스키와 하드웨어 기반 요소 쪽으로 옮기십시오.
- 머신도 신원입니다. 워크로드, 파이프라인, 서비스에는 공유된 정적 키가 아니라 관리되는 신원이 필요합니다.
- 접근은 사건이 아니라 수명 주기입니다. 일정에 따라 부여, 검토, 회수하고, 그렇게 했음을 입증하십시오.
권장 사항
인증과 인가를 분리하고 둘 다 중앙화한다
하나의 신원 제공자(IdP), 곧 신원을 검증하고 다른 시스템이 신뢰하는 토큰을 발급하는 시스템을 통해 인증하십시오. 그다음 각 애플리케이션이 그 토큰이 싣는 신원과 속성으로 자체 인가 결정을 내리게 하십시오. 이 분리는 인증을 모두를 위해 한 번 강화하면서 세밀한 권한 로직은 그것이 보호하는 데이터 가까이에 둘 수 있게 합니다. 한 번의 인증이 많은 애플리케이션에 대한 접근을 주는 싱글 사인온(SSO)을 채택해, 사람들이 약한 로그인 마흔 개 대신 강한 로그인 하나를 갖게 하십시오. 연합은 같은 신뢰를 조직 경계에 걸쳐 확장해, 파트너의 비밀번호를 관리하지 않고도 그들의 신원이 시스템에 접근하게 합니다.
각 프로토콜을 실제 용도에 맞게 쓴다
세 가지 표준이 대부분의 일을 하며, 각각 맡은 일이 있습니다. OpenID Connect(OIDC)는 OAuth 2.0 위에 세운 신원 계층입니다. 웹과 모바일 로그인에서 이 사용자가 누구인가에 답하는 데 쓰십시오. OAuth 2.0은 위임된 접근을 위한 인가 프레임워크입니다. 애플리케이션이 사용자의 비밀번호를 보지 않고 사용자를 대신해 API를 호출하게 하는 데 쓰십시오(2.3장). 보안 선언 마크업 언어(SAML)는 더 오래된 XML 기반 연합 표준으로, 확립된 업무 애플리케이션으로의 기업 SSO의 일꾼으로 남아 있습니다. 흔한 실수는 OAuth로 인증을 직접 하려는 것입니다. OAuth는 자원에 대한 접근을 부여하고, OIDC가 그 위에서 신원을 확립합니다. 새 사용자 대면 로그인에는 OIDC를, 기업 카탈로그가 요구하는 곳에는 SAML을 유지하고, 자체 토큰 형식을 발명하지 마십시오.
인증을 피싱에 강하게 만든다
비밀번호만으로는 규모에서 방어할 수 없습니다. 알고 있는 것, 갖고 있는 것, 그 자신인 것을 결합하는 다중 요소 인증(MFA)을 예외 없이 모든 사람 계정에 요구하십시오. 그다음 약한 요소를 넘어서십시오. SMS를 통한 일회용 코드는 피싱당하고 SIM 스와핑당할 수 있습니다. 강한 목적지는 패스키와 그 아래의 WebAuthn 표준(공개 키 인증을 위한 브라우저 API)으로, 로그인을 하드웨어가 쥔 개인 키와 진짜 사이트의 출처에 묶어 가짜 페이지가 훔칠 만한 것을 수확할 수 없게 합니다. 패스키는 비밀번호도 없으므로 사용자가 고마워할 것입니다. 계정 복구와 비밀번호 재설정을 인증 표면의 일부로 다루십시오. MFA를 이길 수 없는 공격자는 대신 재설정 흐름을 공격할 것이기 때문입니다.
입사-이동-퇴사 수명 주기를 관리하고 빠르게 프로비저닝을 해제한다
신원은 수명 주기입니다. 입사자는 첫날 알맞은 접근이 필요합니다. 역할을 바꾸는 이동자는 새 접근이 필요하고, 결정적으로 옛 접근을 제거해야 합니다. 그렇지 않으면 건물 전체의 열쇠를 서서히 쌓습니다. 퇴사자는 모든 시스템에서 이상적으로는 마지막 날 몇 분 안에 신속히 모든 접근을 잃어야 합니다. 권위 있는 원천, 보통 인사 시스템에서 이를 이끌어, 거기서의 상태 변경이 다운스트림을 자동으로 프로비저닝하고 해제하게 하십시오. 자동화하십시오. 수동 퇴사 체크리스트는 항상 무언가를 놓치며, 놓친 계정이 인시던트 보고서에 나타나는 계정입니다.
인가 모델을 고르고 코드형 정책으로 표현한다
역할 기반 접근 통제(RBAC)로 권한을 부여하십시오. 직무 역할에 권한을 배정하고 사람을 역할에 배정하며, 추론하기 단순하고 감사하기 쉽기 때문입니다. 부서, 데이터 분류, 위치, 시간대 같은 속성에 근거한 맥락 인식 결정이 필요한 곳에는 속성 기반 접근 통제(ABAC)에 손을 뻗으십시오. 대부분의 성숙한 조직은 하이브리드를 운영합니다. 굵은 부여에는 RBAC, 세밀한 조건에는 ABAC입니다. 무엇을 고르든 인가를 코드형 정책으로 표현하십시오. 콘솔에 클릭해 넣은 것이 아니라 버전 관리되고, 테스트 가능하고, 리뷰 가능한 형태로 쓰인 규칙입니다. 코드형 정책은 접근 결정을 감사 가능하고, diff 가능하고, 환경 전반에서 일관되게 하며, 권한 변경을 출하 전에 테스트하게 해 줍니다.
적시 접근과 PAM으로 최소 권한을 시행한다
최소 권한 원칙을 적용하십시오. 모든 신원이 필요한 최소한의 접근을 얻고 그 이상은 얻지 못합니다. 상시 권한은 적입니다. 영구히 부여된 권한은 그 계정에 안착하는 어떤 공격자든 언제든 쓸 수 있는 권한이기 때문입니다. 적시(JIT) 접근을 선호하십시오. 사람이 한정된 기간 동안 상승된 권한을 요청하고, 승인 후 얻고, 기간이 닫히면 자동으로 잃습니다. 가장 위험한 계정에는 특권 접근 관리(PAM)를 채택하십시오. 관리자 자격 증명을 볼트에 넣고, 특권 세션을 중개하고 기록하고, 요청 시 상승을 발급하는 시스템입니다. 목표는 상시 관리자 접근이 0인 것이며, 완전히 침해된 노트북조차 지속적인 것을 내주지 않게 합니다.
머신과 워크로드에 진짜 신원을 준다
사람은 신원의 절반일 뿐입니다. 서비스, 파이프라인, 컨테이너, 함수도 모두 무언가에 인증하며, 너무 자주 설정 파일에 붙여넣은 수명이 긴 비밀로 합니다. 정적 키를 관리되는 워크로드 신원으로 대체하십시오. 워크로드가 어디서 실행되고 무엇인지에 근거해 자동으로 발급되는 수명이 짧은 자격 증명입니다. 서비스 간 인증에는 연결의 양쪽이 인증서를 제시하는 상호 TLS(mTLS)를 쓰십시오. 남은 비밀은 교체가 있는 전용 비밀 관리자에 두고 소스 코드나 이미지에는 절대 두지 마십시오(4.2장). 수명이 짧고 자동 교체되는 워크로드 자격 증명은 클라우드 자격 증명 유출의 가장 흔한 단일 원인을 없앱니다.
신원을 컨트롤 플레인으로 만들고 접근을 지속적으로 검토한다
제로 트러스트 아키텍처(4.1장)에서 신원은 정책이 결정되고 시행되는 곳이므로 그에 맞게 투자하십시오. 그다음 접근 검토, 곧 재인증으로 순환을 닫으십시오. 일정에 따라 각 시스템의 소유자가 접근이 있는 모든 사람과 머신이 여전히 필요한지 확인하고 정당화할 수 없는 것을 회수합니다. 모든 인증과 인가 이벤트를 누가 무엇에 언제 어떤 정책 아래 접근했는가에 답하는 감사 추적에 공급하십시오(4.6장). 접근 검토는 권한 크리프, 곧 어떤 단일 부여도 불합리해 보인 적 없지만 합쳐서 계정을 지나치게 강력하게 만드는 권한의 서서한 누적과 싸우는 방법입니다.
장단점
| 결정 | 장점 | 단점 |
|---|---|---|
| SSO가 있는 중앙 IdP | 하나의 강한 로그인. 일관된 정책. 쉬운 감사 | 단일 장애점. 장애가 모두를 잠금 |
| RBAC | 단순하고, 감사 가능하고, 익숙함 | 역할 폭발. 맥락에 민감한 필요에는 거침 |
| ABAC | 세밀하고, 맥락 인식적이며, 속성으로 확장 | 설계, 테스트, 추론이 더 어려움 |
| 패스키 / WebAuthn | 피싱에 강함. 비밀번호 없음. 강함 | 복구와 기기 분실 흐름에 신중한 설계 필요 |
| 적시 접근 | 상시 권한이 0에 가까움 | 마찰. 빠르고 믿을 만한 승인 경로 필요 |
| 파트너와의 연합 | 외부 비밀번호 관리 없음. 범위가 정해진 신뢰 | 신뢰가 파트너 자신의 위생에 달림 |
| 수명이 긴 서비스 키 | 설정이 극히 쉬움 | 유출되기 쉬움. 자격 증명 침해의 최대 원인 |
핵심 긴장은 보안 대 마찰입니다. 공격 표면을 줄이는 모든 통제(모든 것에 MFA, JIT 상승, 짧은 자격 증명 수명)는 누군가의 하루에 단계도 더하며, 사람들은 너무 아픈 통제를 우회합니다. 안전한 길을 쉬운 길로 만들어 해결하십시오. 강한 인증이 한 번의 탭이 되도록 SSO, 입력할 비밀번호가 없도록 패스키, 알맞은 접근이 그냥 나타나도록 자동화된 프로비저닝입니다. 마찰 예산은 영향 범위가 가장 큰 곳, 곧 특권 및 프로덕션 접근에 쓰고, 일상 접근은 거의 마찰 없게 유지하십시오.
팀과 논의할 질문
오늘 떠나는 사람의 모든 접근을 실제로 얼마나 빨리 회수할 수 있으며, 그것이 작동했음을 어떻게 압니까? 프로비저닝 해제 속도는 신원 성숙도의 직접적 척도입니다. 접근이 남아 있는 퇴사자는 실제 권한을 가진 모니터링되지 않는 계정이기 때문입니다. 연결되지 않은 수십 개 시스템이 있는 대규모 조직에서 정직한 답은 흔히 “확실하지 않다”이며, 간극은 대개 중앙 신원 제공자에 연결된 적 없는 애플리케이션입니다. 최근의 실제 퇴사 사례를 가져와 그들이 닿을 수 있던 모든 시스템을 따라가며, 각 접근이 실제로 언제 끝났는지 타임스탬프를 확인하십시오. 인사 상태 변경 한 시간 안의 완전한 회수 같은 목표를 정하고, 바라는 대신 입증할 수 있도록 계측하십시오. 어떤 시스템이든 누군가 수동 단계를 기억하는 데 의존한다면, 그것이 미래의 침해가 쓸 계정입니다.
어디에 여전히 상시 특권 접근과 수명이 긴 정적 자격 증명이 있으며, 없애려면 무엇이 필요합니까? 상시 관리자 권한과 영구 서비스 키는 공격자가 가장 원하는 두 자산입니다. 내구성 있고 강력하기 때문입니다. 상시 프로덕션 또는 관리 접근을 가진 모든 사람과 정적 키로 인증하는 모든 서비스를 목록으로 만들고, 그중 어느 것이 적시 상승이나 수명이 짧은 워크로드 신원으로 옮겨갈 수 있는지 정직하게 물으십시오. 경쟁하는 고려는 운영상의 두려움입니다. 비상 순간이 상시 접근이 있으면 더 안전하게 느껴져서 팀이 그것을 유지하므로, 상시 권한을 빼앗기 전에 비상 상승을 빠르고 믿을 만하게 만들어야 합니다. 목록을 논의에 가져와 영향 범위로 순위를 매기고, 프로덕션과 관리 접근을 먼저 겨냥하십시오. 목표로 할 최종 상태는 상시 관리자 접근 0과 단일 배포보다 오래 사는 정적 키 없음입니다.
사람마다 워크로드마다 하나의 권위 있는 신원이 있습니까, 여러 개입니까, 그리고 난립은 얼마의 비용을 치르게 합니까? 같은 사람이 속성이 표류하는 다섯 시스템의 다섯 계정으로 존재하는 디렉터리 난립은 프로비저닝 해제 간극과 고아 접근이 태어나는 곳입니다. 신원 집단마다 단일 진실 원천으로 통합하는 것은 큰 팀이 할 수 있는 지렛대 효과가 가장 큰 투자 중 하나입니다. 모든 다운스트림 통제가 두 레코드가 같은 사람임을 아는 데 달려 있기 때문입니다. 신원 저장소의 목록을 가져와 어느 것이 권위 있고 어느 것이 아무도 다스리지 않는 편의 사본인지 매핑하십시오. 트레이드오프는 통합이 기능 작업과 주의를 두고 경쟁하는 크고 화려하지 않은 이전이라는 점입니다. 감사의 고통과 침해 위험이라는 난립의 지속 비용이 다음 인시던트 이후가 아니라 지금 그 이전에 재원을 대는 것을 정당화하는지 결정하십시오.
가장 강한 인증 요소가 진정으로 피싱에 강하며, 비밀번호를 영원히 퇴역시키는 것을 막는 것은 무엇입니까? 공격자가 피싱할 수 없는 요소가 자격 증명 도난을 지배적인 침해 경로에서 끝내는 요소이고, WebAuthn에 묶인 패스키가 그 기준을 넘는 유일하게 널리 배포 가능한 선택지입니다. 대규모 조직에서 정직한 모습은 대개 뒤섞여 있습니다. 일부는 패스키, 다른 일부는 SMS 일회용 코드, 비밀번호만 받아들이는 레거시 애플리케이션의 긴 꼬리입니다. 경쟁하는 고려는 실제입니다. 패스키는 어려운 문제를 복구와 기기 분실로 옮기고, 어설픈 복구 흐름은 공격자가 그저 피벗하는 새로운 무른 표적이 됩니다. 요소 유형별 커버리지 수치, 여전히 비밀번호로 대체하는 애플리케이션 목록, 단호한 사회공학 시도에 맞서 신뢰할 설계된 계정 복구 경로를 가져오십시오. 기업과 정부 환경에서는 목표를 의무화된 보증 수준에 연결하십시오. 피싱 가능한 요소를 여전히 허용하는 고보증 시스템은 보안 간극만이 아니라 컴플라이언스 간극도 있기 때문입니다.
각 신원이 얻는 접근을 어떻게 결정하며, 출하 전에 그 결정을 diff하고, 테스트하고, 입증할 수 있습니까? “누군가 권한을 콘솔에 클릭해 넣었다”와 “리뷰되고 버전 관리되는 정책” 사이의 간극은 감사할 수 있는 접근 모델과 사과할 수밖에 없는 접근 모델의 차이입니다. 큰 팀에서 압력은 각 애플리케이션이 맞춤 규칙을 키우게 두는 것이며, 이는 RBAC 쪽에서 역할 폭발을, ABAC 쪽에서 테스트할 수 없는 조건을 조용히 낳아, 아무도 주어진 부여가 실제로 무엇을 허용하는지 말할 수 없게 될 때까지 갑니다. 경쟁하는 고려는 전달 속도입니다. 인가를 코드형 정책으로 표현하면 콘솔 클릭에는 없는 리뷰 단계가 더해지고, 마감 아래의 팀은 첫 실패한 감사나 지나치게 넓은 부여가 그 사례를 만들어 줄 때까지 그 마찰을 싫어합니다. 실제 권한 변경 하나를 가져와 어떻게 제안, 테스트, 리뷰, 롤백되는지 따라가 보고, 역할이 몇 개 있고 그중 아무도 설명할 수 없는 것이 몇 개인지 세어 보십시오. 기업과 정부 환경에서 감사자는 특정 날짜에 누가 어떤 규칙으로 기록에 접근할 수 있었는지 정확히 보이라고 요구할 것이며, diff 가능하고 테스트 가능한 정책만이 소동 없이 이에 답합니다.
접근 검토가 마지막으로 실제 무언가를 회수한 것은 언제이며, 권한 크리프가 점검되지 않을 때 누가 책임집니까? 접근 검토는 어떤 단일 부여도 불합리해 보인 적 없는 권한의 서서한 누적과 싸우는 통제이며, 아무것도 회수하지 않는 검토는 안전이 아니라 서류를 낳는 검토 연극입니다. 대규모 조직에서 실패 방식은 고무도장입니다. 시스템 소유자가 한 자리에서 수백 개 항목을 재인증하며, 각각을 진정으로 평가하는 것이 지루하고 접근을 계속 흐르게 하는 인센티브가 자르는 인센티브보다 강해서 모두 승인합니다. 경쟁하는 고려는 의미 있는 검토가 소유자 시간을 쓰고 조용히 의존하던 접근이 사라질 때 가끔 누군가의 워크플로를 깬다는 점이므로, 검토를 차별 없는 목록이 아니라 표적화되고 위험 주도적으로 만들어야 합니다. 마지막 주기의 회수율, 사람당 평균 권한 수, 각 시스템의 재인증을 누가 소유하는지에 대한 증거를 가져오십시오. 기업과 정부 환경에서는 각 검토에 책임 있는 담당관과 그가 지켜야 할 주기를 지명하십시오. 아무도 잡을 책임이 없는 권한 크리프가 감사자와 공격자가 모두 악용하는 바로 그 조건이기 때문입니다.
분야별 관점
스타트업. 신원은 만들지 말고 사십시오. SSO, 필수 패스키, 원클릭 퇴사 처리가 있는 단일 호스팅 신원 제공자가 소수의 엔지니어에게 좌석당 요금으로 기업급 태세를 줍니다. 파이프라인에 수명이 긴 클라우드 키가 하나도 없도록 제공자의 내장 워크로드 신원에 기대고, 유지할 수 없는 토큰 처리를 발명하지 말고 OIDC와 OAuth 2.0을 그대로 쓰십시오.
소기업. 신원 전문가가 없으니, 별도 플랫폼을 찾는 대신 이미 값을 치르는 도구에 번들된 SSO와 MFA를 선호하고 켜십시오. 입사-이동-퇴사 문제를 채용을 소유한 사람에게 묶인 짧은 서면 체크리스트로 다루고, 비밀번호 재설정 헬프데스크 부담을 덜어 주므로 패스키를 선호하십시오. 공유 로그인을 피하십시오. 나중에 귀속과 회수를 불가능하게 만드는 싼 습관이기 때문입니다.
대기업. 일은 많은 디렉터리와 팀에 걸친 통합과 거버넌스입니다. 인사 시스템이 이끄는 하나의 권위 있는 신원 제공자, 자동화된 입사-이동-퇴사 흐름, 직무에는 RBAC에 맥락에는 ABAC, 세션 기록이 있는 특권 접근 관리입니다. 변경이 diff 가능하고 테스트 가능하도록 인가를 코드형 정책으로 표현하고, 실제로 회수하는 예정된 접근 검토를 운영하며, 애플리케이션이 각자 로그인을 키우는 대신 중앙 신원에 연결되도록 인터페이스를 표준화하십시오.
정부. 조달 규칙, 투명성, 공적 책임성이 설계를 이끕니다. 인증을 PIV나 CAC 스마트 카드 같은 하드웨어 자격 증명에 묶고, NIST SP 800-63에 따라 신원 보증 수준을 정해 위험이 높은 시스템이 더 높은 보증 요소를 요구하게 하고, 누가 언제 무엇에 접근했는지 정확히 답하는 불변 감사 로그를 유지하십시오. 시민 대면 신원의 처리를 평이한 언어로 공개하고, 고객과 직원 신원 스택을 분리하고, 민감한 시스템의 모든 특권 행위가 질문할 감사자를 위해 중개되고 기록되게 하십시오.
사례
스타트업. 스무 명 규모의 스타트업은 신원 팀에 인력을 댈 수 없으므로 하나를 삽니다. 모든 직원이 이메일, 코드 호스팅, 클라우드 콘솔, 내부 앱으로의 SSO를 갖춘 단일 호스팅 신원 제공자를 통해 로그인하며, 피싱할 비밀번호가 없도록 패스키가 요구됩니다. 퇴사 처리는 클릭 한 번입니다. 신원 제공자에서 사람을 비활성화하면 모든 곳의 접근이 한꺼번에 끊깁니다. 자사 제품에는 사용자 로그인에 OIDC를, 통합이 범위가 정해진 토큰으로 API를 호출하게 하는 데 OAuth 2.0을 씁니다. 서비스-클라우드 인증은 제공자의 내장 워크로드 신원을 써서 파이프라인 어디에도 수명이 긴 클라우드 키가 하나도 없습니다. 이는 소소한 좌석당 요금이 들고 많은 기업이 운영하는 것보다 강한 신원 태세를 줍니다.
대기업. 한 다국적 은행이 10년 동안 네 개의 디렉터리와 수백 개의 애플리케이션을 쌓았고, 일부는 SAML로 연합되고 일부는 자체 로컬 로그인을 갖습니다. 통합 프로그램에 재원을 댑니다. 인사 시스템이 이끄는 하나의 권위 있는 신원 제공자, 입사 시 프로비저닝하고 퇴사 몇 분 안에 회수하는 자동화된 입사-이동-퇴사 흐름입니다. RBAC가 표준 직무를 덮고 ABAC가 국경 간 접근의 데이터 거주와 인가 규칙을 시행합니다. 관리자는 상시 프로덕션 접근이 없고, 모든 세션을 기록하는 특권 접근 관리 시스템을 통해 적시 상승을 요청합니다. 분기별 접근 검토가 시스템 소유자에게 재인증하거나 회수하도록 강제하며, 모든 결정이 코드형 정책으로 표현되어 감사자가 정확히 무엇이 언제 바뀌었는지 diff할 수 있습니다.
정부. 한 연방 기관이 직원에게 개인 신원 확인(PIV) 스마트 카드, 군에서는 그에 상응하는 공통 접근 카드(CAC)를 발급해, 인증이 비밀번호가 아닌 하드웨어 자격 증명에 묶입니다. 신원 프로그램은 연방 신원, 자격 증명, 접근 관리(FICAM) 접근을 따르고 미국 국립표준기술연구소 지침 NIST SP 800-63에 따라 신원 보증 수준을 정해, 위험이 높은 시스템이 더 높은 보증 자격 증명을 요구합니다. 시민 대면 서비스는 강한 MFA를 갖춘 더 낮은 보증 수준의 별도 고객 신원 스택을 씁니다. 접근 검토와 불변 감사 로그가 기관의 지속적 인가 증거(4.6장)에 직접 공급되며, 분류된 시스템의 모든 특권 행위는 중개되고 기록됩니다.
비즈니스 사례: 동기, ROI, TCO
신원 투자의 수익은 지배적인 침해 벡터를 위험 지대 밖으로 옮기는 데서 옵니다. 도난당한 자격 증명과 과도한 권한을 가진 계정이 실제 인시던트의 큰 몫을 이끌며, 각각이 무거운 꼬리를 지닙니다. 인시던트 대응, 규제 벌금, 침해 통지, 지속적인 평판 손상입니다. 피싱에 강한 MFA만으로 가장 흔한 침입 경로가 사라지고, 자동화된 프로비저닝 해제는 일상적인 퇴사를 노출로 바꾸는 고아 계정 간극을 닫습니다. 이것들은 지출한 달러당 가장 싼 위험 감소에 속합니다.
총소유비용은 실재하지만 한정되어 있습니다. 신원 제공자 라이선스, 특권 접근 관리와 비밀 플랫폼, 모든 애플리케이션을 중앙 신원에 연결하는 엔지니어링, 접근 검토의 지속적 노력이 포함됩니다. 더 큰 비용은 조직적입니다. 디렉터리를 통합하고 레거시 애플리케이션에 SSO를 사후 보강하는 것은 기능과 경쟁하는 느리고 화려하지 않은 일입니다. 대안에 견주어 저울질하십시오. 파편화된 신원은 수동 퇴사 처리, 감사 소동, 헬프데스크 비밀번호 재설정이라는 형태로 같은 돈을 영원히 쓰고, 파편화가 가능성 높게 만드는 침해의 결국 비용도 치릅니다. 리더십을 설득할 때 신원을 제로 트러스트의 컨트롤 플레인으로 구성하십시오. 통합과 자동화는 침해 위험과 감사, 퇴사 처리, 접근 지원의 반복 비용을 모두 낮추는 일회성 투자입니다.
안티패턴과 함정
- 고아 계정. 사람이나 목적보다 오래 남은 접근, 특히 모니터링되지 않는 서비스 계정과 잊힌 계약자.
- 어디서나 상시 관리자. 적시 상승 대신 상시 켜진 특권 접근으로, 침해된 관리자 계정 하나에 내구성 있는 힘을 주는 것.
- 수명이 긴 정적 키. 설정이나 CI에 붙여넣어 만료되지 않다가 결국 유출되는 서비스 자격 증명.
- 디렉터리 난립. 같은 사람이 여러 통제되지 않는 계정이 되어 어떤 변경도 완전히 전파되지 않는 것.
- 공유 계정. 여러 사람이 쓰는 자격 증명으로, 귀속을 파괴하고 회수를 불가능하게 만드는 것.
- 강한 요소로서의 SMS. 피싱 가능하고 SIM 스와핑 가능한 일회용 코드를 충분한 MFA로 취급하는 것.
- 역할 폭발. 모델이 감사 불가능해지고 아무도 역할이 무엇을 부여하는지 모를 만큼 많은 좁은 RBAC 역할.
- 수동 체크리스트로서의 프로비저닝 해제. 중요한 계정 하나를 불가피하게 놓치는 사람의 퇴사 처리 단계.
- 인증에 쓰인 OAuth. OIDC를 쓰는 대신 접근 토큰을 신원의 증명으로 취급하는 것.
- 검토 연극. 아무도 필요를 진정으로 평가하지 않고 고무도장으로 찍은 접근 재인증.
성숙도 모델
- 1단계, 시작: 각 애플리케이션에 자체 로그인이 있습니다. 일관된 MFA 없는 비밀번호. 프로비저닝과 퇴사 처리가 수동이고, 반응적이고, 느리며, 고아 계정이 쌓입니다. 서비스 자격 증명은 수명이 긴 정적 키입니다. 접근 검토가 없고, 권한은 부여되고 다시 보지 않습니다.
- 2단계, 발전: SSO가 중앙 신원 제공자를 통해 주요 애플리케이션을 덮지만 팀마다 커버리지가 고르지 않습니다. 대부분의 사람 접근에 MFA가 요구됩니다. 기본 RBAC가 있습니다. 입사-이동-퇴사가 인사 시스템에서 부분적으로 자동화됩니다. 일부 특권 계정이 볼트에 있습니다. 접근 검토는 가끔 일관되지 않게 일어납니다.
- 3단계, 표준화: 통합된 신원 제공자가 직원에 대해 권위가 있으며, 자동화된 프로비저닝과 신속한 프로비저닝 해제가 조직 전체에서 시행됩니다. 피싱에 강한 MFA가 표준이고 문서화되어 있습니다. RBAC와 ABAC가 코드형 정책으로 표현됩니다. 세션 기록이 있는 특권 접근 관리가 갖춰져 있습니다. 워크로드 신원이 대부분의 정적 키를 대체합니다. 예정된 접근 검토가 모든 팀이 따르는 서면 정책에 맞게 시행되고 감사됩니다.
- 4단계, 관리: 신원 프로그램이 기준선에 대해 측정되고 데이터로 통제됩니다. 인사 상태 변경에서 완전한 회수까지의 프로비저닝 해제 시간, 집단별 MFA와 패스키 커버리지, 상시 특권 접근을 가진 계정 수, 여전히 쓰이는 수명이 긴 정적 키의 수, 고아 계정 수, 접근 검토 회수율을 추적합니다. 지표는 한 시간 안의 완전한 회수나 새로운 상시 관리자 부여 0 같은 목표를 지니고, 임계값 위반은 어깨 으쓱 대신 조사를 촉발합니다. 인가 변경은 파이프라인에서 테스트되고 접근 부여의 각 진행 여부는 습관이 아니라 증거가 이끕니다.
- 5단계, 오케스트레이션: 신원이 조직 전체의 보안, 위험, 입사-이동-퇴사 계획과 통합된, 지속적으로 개선되는 제로 트러스트의 컨트롤 플레인입니다. 패스키가 기본이고 비밀번호는 퇴역 중입니다. 적시 상승으로 상시 권한 0이 달성되고, 모든 워크로드가 수명이 짧고 자동 교체되는 자격 증명과 mTLS를 씁니다. 인가는 완전히 코드형 정책입니다. 접근 검토는 지속적이고 위험 주도적이며, 프로비저닝 해제는 거의 즉각적이고, 모든 결정이 감사 증거를 자동으로 만듭니다. 모델은 위험 신호가 이동함에 따라 고정된 주기가 아니라 동적으로 접근을 조이거나 풀면서 적응합니다.
논의를 위한 아이디어
- 상시 관리자 접근 0에 도달하려면 무엇이 필요하며, 그것을 안전하게 만들 비상(break-glass) 경로는 무엇입니까?
- 환경에서 ABAC가 평범한 RBAC를 고수하는 것보다 복잡성만큼 값을 하는 곳은 어디입니까?
- 비밀번호를 패스키로 얼마나 적극적으로 퇴역시켜야 하며, 그것을 대체할 복구 흐름은 무엇입니까?
- 어느 애플리케이션이 여전히 중앙 신원 제공자 밖에 있으며, 무엇이 그것들을 거기 두고 있습니까?
- 파트너와 고객의 보안 위생을 물려받지 않고 어떻게 범위가 정해진 접근을 줍니까?
- 프로비저닝 해제 속도를 가장 잘 포착하는 단일 지표는 무엇이며, 오늘 측정하고 있습니까?
핵심 요점
- 인증은 누구인지 증명하고, 인가는 무엇을 할 수 있는지 결정합니다. 별도로 설계하고 리뷰하십시오.
- SSO가 있는 하나의 권위 있는 신원 제공자로 통합하십시오. 디렉터리 난립은 편의가 아니라 보안 결함입니다.
- 입사-이동-퇴사 수명 주기를 자동화하고 프로비저닝 해제를 빠르고 입증 가능하게 만드십시오.
- 사용자 로그인에는 OIDC, 위임된 API 접근에는 OAuth 2.0, 기업 카탈로그가 필요로 하는 곳에는 SAML을 쓰십시오. OAuth를 인증으로 쓰지 마십시오.
- 인증을 피싱에 강한 패스키와 WebAuthn 쪽으로 옮기십시오. 어디서나 MFA를 요구하고 약한 요소는 임시방편으로 다루십시오.
- 적시 접근과 특권 접근 관리로 최소 권한을 시행하십시오. 상시 관리자 권한 0을 목표로 하십시오.
- 수명이 짧은 워크로드 자격 증명과 mTLS로 머신에 진짜 신원을 주십시오. 수명이 긴 정적 키를 없애십시오.
- 신원을 제로 트러스트의 컨트롤 플레인으로 만들고(4.1장), 지속적 접근 검토와 감사 증거(4.6장)로 순환을 닫으십시오.
참고 문헌과 더 읽을거리
- National Institute of Standards and Technology, SP 800-63: Digital Identity Guidelines (identity assurance, authentication, and federation levels)
- National Institute of Standards and Technology, SP 800-207: Zero Trust Architecture
- National Institute of Standards and Technology, SP 800-162: Guide to Attribute Based Access Control (ABAC) Definition and Considerations
- National Institute of Standards and Technology, SP 800-53: Security and Privacy Controls, Access Control (AC) and Identification and Authentication (IA) families
- The OAuth 2.0 Authorisation Framework, IETF RFC 6749, and the OAuth 2.0 Security Best Current Practice
- OpenID Connect Core 1.0 specification, OpenID Foundation
- Security Assertion Markup Language (SAML) 2.0 specification, OASIS
- Web Authentication (WebAuthn) Level 2, W3C Recommendation, and FIDO2 / FIDO Alliance passkey specifications
- Federal Identity, Credential, and Access Management (FICAM) architecture and playbooks, U.S. General Services Administration
- FIPS 201, Personal Identity Verification (PIV) of Federal Employees and Contractors
- Open Policy Agent (OPA) documentation, Cloud Native Computing Foundation (policy-as-code for authorisation)