edwardca.dev
edwardca.dev
Overview
기계를 위한 신원

Systems Design Meditation · Edition 3

기계를 위한 신원

에이전트형 인터넷에서의 인가

Edward Calderón

Edward Calderón

소프트웨어 아키텍트

2 분 소요
Digital IdentityAIZero TrustSecurity

수년 동안 디지털 신원은 이렇게 물었습니다: 당신은 누구입니까?

에이전트형 시스템은 또 다른 질문을 도입합니다: 당신은 나를 대신해 무엇을 할 권한이 있습니까?

인증은 행위자를 확립합니다. 그것은 어떤 행동을 정당하게 만든 위임을 설명하지는 않습니다. 이 차이는 소프트웨어가 여러 서비스에 걸쳐 계획하고 실행할 수 있을 때 결정적으로 중요해집니다.

권한의 그래프

새롭게 부상하는 관계는 단일 로그인이 아니라 그래프입니다:

인간 ↔ 에이전트 ↔ 서비스 ↔ 인프라

각 엣지는 자신만의 주장을 필요로 합니다. 인간은 에이전트가 송장을 대조하도록 승인할 수는 있지만, 공급업체를 생성하도록 승인하지는 않을 수 있습니다. 에이전트는 회계 서비스를 호출할 수 있으며, 그 서비스는 클라우드 인프라에 의존합니다. 하나의 지속적인 자격 증명을 전체 체인에 통과시키는 것은 서로 구별되는 신뢰 경계를 하나의 비밀로 붕괴시킵니다.

견고한 시스템은 누가 에이전트를 만들었는지, 누가 그것을 승인했는지, 어떤 권한이 위임되었는지, 어떤 리소스에 접근할 수 있는지, 그 권한이 얼마나 지속되는지, 어떤 행동이 발생했는지, 그것들이 검증될 수 있는지, 그리고 접근을 즉시 취소할 수 있는지를 알아야 합니다.

자격 증명만으로는 그 이력을 표현할 수 없습니다. 유효한 토큰은 어떤 워크로드가 엔드포인트를 호출할 수 있음을 증명할 수 있습니다. 그것이 이 사용자가 이 시점에 이 정책 아래에서 이 목적을 승인했음을 반드시 증명하는 것은 아닙니다.

신원은 동적으로 변화하고 있다

인간의 신원은 흔히 상대적으로 지속적입니다. 에이전트의 권한은 대개 일시적이고 상황 의존적이어야 합니다. 그것은 작업을 위해 도출되고, 도구에 맞게 좁혀지며, 워크플로가 끝나면 만료될 수 있습니다. 위험이 커질수록 경계는 좁아질 수 있습니다.

이는 제로 트러스트와 양립할 수 있습니다: 네트워크 위치나 이전 로그인을 영구적인 증거로 취급하지 마십시오. 행위자, 요청된 행동, 리소스, 현재 상황을 평가하십시오. 수명이 짧은 자격 증명은 노출을 줄이지만, 인가 결정은 여전히 명시적이어야 합니다.

자율적인 행위자는 단순히 자격 증명을 소유해서는 안 됩니다. 검증 가능한 권한의 경계 안에서 동작해야 합니다.

한 임원이 출장 계획을 위임한다고 가정해 봅시다. 에이전트는 일정 가용성을 읃고 항공편을 비교할 수 있습니다. 한도 내에서 환불 가능한 티켓을 예약하는 것은 허용될 수 있습니다. 환불 불가능한 여행을 예약하거나, 여권 기록을 변경하거나, 외부 참석자를 초대하는 것은 새로운 승인을 요구할 수 있습니다. "출장에 대한 접근"은 너무 조잡합니다; 권한은 제약된 전환들의 집합입니다.

출처 추적성은 체인을 검사 가능하게 만듭니다. 감사 기록은 인간의 위임, 에이전트 인스턴스, 정책 버전, 서비스 신원, 그리고 결과로 나온 작업을 연결해야 합니다. 암호화 서명은 증거를 보호할 수 있지만, 서명이 그 정책이 합리적이었는지를 결정하지는 않습니다. 거버넌스는 여전히 허용 가능한 위임을 정의합니다.

취소는 신원의 일부이다

시스템은 흔히 취소를 관리적인 정리 작업으로 취급합니다. 에이전트에게는 그것이 런타임 제어의 일부입니다. 권한은 기기를 분실했거나, 워크플로가 취소되었거나, 행동이 임계값을 넘었거나, 위임한 인간이 역할을 변경했기 때문에 사라져야 할 수도 있습니다.

분산 인프라에서 즉각적인 취소는 어렵습니다. 캐시된 정책, 오프라인 자격 증명, 장시간 실행되는 작업은 계속될 수 있습니다. 설계자는 허용 가능한 최대 지연을 선택하고 그에 따라 시행 지점을 구축해야 합니다. 이것은 신원 제공자의 체크박스가 아니라 시스템의 속성입니다.

머신 신원 또한 에이전트 신원과 분리되어야 합니다. 워크로드는 증명된 환경에서 실행되는 진짜 소프트웨어일 수 있으며, 그 안에서 작동하는 에이전트 세션은 더 좁고 위임된 목적을 가질 수 있습니다. 이를 혼동하면 모든 추론 과정에 워크로드의 전체 권한을 부여하게 됩니다.

디지털 신원 작업은 오랫동안 발급자, 보유자, 검증자, 신뢰 프레임워크를 다루어 왔습니다. 에이전트형 시스템은 움직이는 행위자와 빠른 위임을 추가하지만, 근본적인 교훈은 그대로입니다: 신뢰는 상황 의존적입니다. 검증은 오직 어떤 결정과의 관계 속에서만 의미를 가집니다.

다음 신원 문제는 단지 행위자가 누구인지 증명하는 것만이 아닙니다.

그것은 그 행위자가 무엇을 할 권한이 있었는지를 증명하는 것입니다.

출처