AWS 외부 ID 없이 보안 유지하기
Panther는 네이티브 AWS 애플리케이션으로서 액세스 관리를 위해 AWS IAM 역할에 크게 의존합니다. Panther 배포 내에서 각 람다 함수의 실행 역할은 작업을 수행하는 데 필요한 최소 권한으로 구성됩니다. 여기에는 고객 계정의 역할을 맡을 수 있는 권한이 포함될 수 있습니다.
Panther는 또한 소프트웨어-애즈-어-서비스(SaaS) 서비스입니다. 고객 계정의 IAM 역할을 맡는 SaaS 서비스는 전통적으로 보안상의 이유로 외부 ID의 사용을 요구합니다. Panther는 외부 ID를 사용하지 않으며, 이로 인해 보안에 민감한 일부 고객들로부터 질문이 제기되었습니다.
Panther는 단일 테넌트 SaaS 제공이기 때문에 외부 ID를 사용할 필요가 없습니다. 즉, 각 고객의 Panther 인스턴스를 전용 AWS 계정에 배포합니다. 귀하의 Panther 계정의 AWS 계정 ID는 외부 ID가 해결하려는 문제에 대한 대안적 해결책으로 작용합니다.
외부 ID란 무엇이며 어떤 문제를 해결하나요?
이 AWS 블로그 게시물 은 외부 ID가 무엇인지 및 다중 테넌트 제공에서 문제를 해결하기 위해 어떻게 사용되는지 설명합니다. 요약하면, 외부 ID는 IAM 역할을 맡기 위한 요청에 추가될 수 있는 정보 조각입니다. 해당 역할의 신뢰 정책은(필수는 아니지만) 그 역할에 접근 허용 시 어떤 외부 ID를 수락할지를 지정할 수 있습니다. 외부 ID는 효과적이기 위해 비밀이거나 추측하기 어려울 필요는 없으며, 단지 고유하면 됩니다.
외부 ID의 주요 기능은 "혼란스러운 대리인(confused deputy)" 문제를 해결하는 것입니다. AWS 맥락에서 “혼란스러운 대리인” 문제의 기본 전제는 다음과 같습니다: SaaS 서비스 제공자가 다수의 고객 AWS 계정에서 역할을 맡을 수 있는 권한을 가지고 있다면, 한 고객이 서비스 제공자를 속여 다른 고객의 계정에서 역할을 맡게 할 가능성이 있을 수 있습니다.
Panther가 교차 계정 역할 액세스를 위해 외부 ID를 사용할 필요가 없는 이유
Panther가 외부 ID를 필요로 하지 않는 이유는 다중 테넌트 SaaS 제공이 아니기 때문입니다. 모든 Panther SaaS 배포는 단일 고객을 위한 Panther를 호스팅하는 전용 AWS 계정에 배포됩니다.
Panther가 사용하는 IAM 역할들의 신뢰 정책은 어떤 AWS 계정이 해당 역할을 맡을 수 있는지를 명시합니다. 각 고객의 Panther 배포가 서로 다른 AWS 계정에 있기 때문에 외부 ID와 상관없이 한 고객의 Panther 배포가 다른 고객이 배포한 역할을 맡을 수 없습니다.
이는 외부 ID를 사용하는 것보다 훨씬 더 안전합니다 . 설사 고객이 Panther 계정을 완전히 침해하여 해당 계정의 데이터 저장소에 직접 접근하고 람다를 실행할 수 있는 지경에 이르더라도, 다른 고객의 계정을 스캔할 수는 없습니다. 외부 ID를 사용하는 전통적인 다중 테넌트 모델에서는 SaaS 계정을 완전히 침해하면 조직에 연결된 외부 ID를 단순히 변경함으로써 다른 고객 계정에 대한 전체 접근 권한을 얻을 수 있었을 것입니다.
그럼에도 불구하고 외부 ID를 그냥 추가하지 않는 이유는?
실제로 도움이 되지 않습니다.
그것은 고객을 실제로 보호하지 못하는 보안 장식일 뿐입니다.
추가적인 움직이는 부품은 복잡성을 증가시킵니다.
정당한 이유 없이 외부 ID를 추가하면 배포가 손상될 위험이 있습니다. 예를 들어, 외부 ID 버그로 인해 장기간 동안 스캔/로그 처리가 불가능해지는 것이 정당한 보안 위협이 될 수 있습니다. 그 위험은 낮지만 불가능한 것은 아니며, 이러한 외부 ID를 추가하는 것은 전혀 추가하지 않는 것보다 훨씬 더 큰 위험이 됩니다.
아키텍처 측면에서도 말이 되지 않습니다.
외부 ID를 의미 있게 제대로 지원하려면 Panther 배포에 아무런 보안적 가치도 추가하지 않는 기능을 지원하기 위한 아키텍처 변경이 필요할 것입니다.
외부 ID에 관해 질문이 있으시면 Panther 지원팀에 문의해 주세요.
마지막 업데이트
도움이 되었나요?

