SEC03-BP09 안전하게 제3자와 리소스 공유
클라우드 환경의 보안은 조직에 국한되지 않습니다. 조직은 타사를 이용하여 데이터의 일부를 관리할 수 있습니다. 타사 관리형 시스템에 대한 권한 관리는 임시 보안 인증 정보로 최소 권한 원칙을 사용하여 적시 액세스 방식을 따라야 합니다. 타사와 긴밀히 협력하면 영향 범위와 의도치 않은 액세스의 위험을 함께 줄일 수 있습니다.
원하는 결과: 사용자와 연결된 장기 AWS Identity and Access Management(IAM) 보안 인증 정보, IAM 액세스 키 및 보안 암호 키는 보안 인증 정보가 유효하고 활성 상태라면 누구나 사용할 수 있습니다. IAM 역할 및 임시 보안 인증 정보를 사용하면 이러한 민감한 세부 정보의 관리 및 운영 오버헤드를 포함하여 장기 보안 인증 정보를 유지하기 위한 노력을 줄여 전반적인 보안 태세를 개선할 수 있습니다. IAM 신뢰 정책의 외부 자격 증명에 대해 UUID(Universally Unique Identifier)를 사용하고 IAM 역할에 연결된 IAM 정책을 제어하면 타사에 부여된 액세스 권한이 너무 많이 허용되지 않았는지 감사하고 확인할 수 있습니다. 외부에서 공유되는 리소스 분석에 대한 권장 가이드는 SEC03-BP07 퍼블릭 및 크로스 계정 액세스 분석를 참조하세요.
일반적인 안티 패턴:
-
조건 없이 기본 IAM 신뢰 정책을 사용합니다.
-
장기 IAM 보안 인증 정보 및 액세스 키를 사용합니다.
-
외부 ID를 재사용합니다.
이 모범 사례를 따르지 않을 경우 노출 위험도: 중간
구현 가이드
AWS Organizations 외부에서 리소스 공유를 허용하거나 타사에 계정에 대한 액세스 권한을 부여할 수 있습니다. 예를 들어, 타사가 계정 내 리소스에 액세스해야 하는 모니터링 솔루션을 제공할 수 있습니다. 이 경우, 타사에게만 필요한 권한이 포함된 IAM 크로스 계정 역할을 생성합니다. 또한 외부 ID 조건을 사용하여 신뢰 정책을 정의합니다. 외부 ID를 사용하는 경우 사용자 또는 타사는 각 고객, 타사 또는 테넌시용으로 고유한 ID를 생성할 수 있습니다. 고유한 ID는 생성된 후에는 사용자 외에는 누구도 제어할 수 없습니다. 타사는 안전하고 감사 가능하며 재현 가능한 방식으로 외부 ID를 고객과 연결하는 프로세스를 구현해야 합니다.
또한 IAM Roles Anywhere를 사용하여 AWS API를 사용하는 AWS 외부의 애플리케이션에 대한 IAM 역할을 관리할 수 있습니다.
타사가 더 이상 환경에 액세스할 필요가 없으면 역할을 제거합니다. 장기 보안 인증 정보를 타사에 제공하지 않아야 합니다. 공유를 지원하는 다른 AWS 서비스를 계속 인지하고 있어야 합니다. 예를 들어 AWS Well-Architected Tool을 사용하면 다른 AWS 계정와 워크로드를 공유할 수 있고 AWS Resource Access Manager를 사용하면 소유한 AWS 리소스를 다른 계정과 안전하게 공유할 수 있습니다.
구현 단계
-
크로스 계정 역할을 사용하여 외부 계정에 대한 액세스 권한을 제공합니다.
크로스 계정 역할은 고객에게 서비스를 제공하기 위해 외부 계정 및 타사에서 저장하는 민감한 정보의 양을 줄입니다. 크로스 계정 역할을 사용하면 AWS Partner 또는 조직의 다른 계정과 같은 타사에 계정의 AWS 리소스에 대한 액세스 권한을 안전하게 부여하는 동시에 해당 액세스를 관리 및 감사하는 기능을 유지할 수 있습니다.
타사는 하이브리드 인프라에서 서비스를 제공하거나 오프사이트 위치로 데이터를 가져올 수 있습니다. IAM Roles Anywhere는 타사 워크로드가 AWS 워크로드와 안전하게 상호 작용하고 장기 보안 인증 정보의 필요성을 줄이는 데 도움이 됩니다.
외부 계정 액세스를 제공하기 위해 장기 보안 인증 정보 또는 사용자와 연결된 액세스 키를 사용해서는 안 됩니다. 대신 크로스 계정 역할을 사용하여 크로스 계정 액세스를 제공합니다.
-
타사의 외부 ID를 사용합니다.
외부 ID를 사용하면 IAM 신뢰 정책에서 역할을 수임할 수 있는 사람을 지정할 수 있습니다. 신뢰 정책은 역할을 수임하는 사용자가 작동 중인 조건 및 대상을 어설션하도록 요구할 수 있습니다. 또한 계정 소유자가 특정 상황에서만 역할을 수임하도록 허용할 수도 있습니다. 외부 ID의 기본 기능은 혼동된 대리인(confused deputy) 문제를 해결하고 방지하는 것입니다.
AWS 계정 소유자이고 사용자 외에 다른 AWS 계정에 액세스하는 타사의 역할을 구성했거나 다른 고객을 대신하여 역할을 수임하는 위치에 있는 경우 외부 ID를 사용합니다. 타사 또는 AWS Partner와 협력하여 IAM 신뢰 정책에 포함할 외부 ID 조건을 설정합니다.
-
범용적으로 고유한 외부 ID를 사용합니다.
UUID(Universally Unique Identifier)와 같은 외부 ID에 대해 임의의 고유한 값을 생성하는 프로세스를 구현합니다. 고객 A가 중복된 외부 ID와 함께 고객 B의 역할 ARN을 사용하여 고객 B의 데이터를 볼 수 있으므로, 서로 다른 고객 간에 외부 ID를 재사용하는 타사의 경우 혼동된 대리인(confused deputy) 문제가 해결되지 않습니다. 타사가 서로 다른 AWS 계정로 여러 고객을 지원하는 다중 테넌트 환경에서 타사는 각 AWS 계정에 대한 외부 ID로 서로 다른 고유한 ID를 사용해야 합니다. 타사는 중복된 외부 ID를 감지하고 각 고객을 해당 외부 ID에 안전하게 매핑하는 업무를 담당합니다. 타사는 외부 ID를 지정할 때만 역할을 수임할 수 있는지 확인하기 위해 테스트해야 합니다. 타사는 외부 ID가 필요하기 전에는 고객 역할 ARN 및 외부 ID를 저장하지 않아야 합니다.
외부 ID는 보안 암호로 취급되지는 않지만 전화번호, 이름, 계정 ID와 같이 쉽게 추측할 수 있는 값이 아니어야 합니다. 설정을 가장할 목적으로 외부 ID를 변경할 수 없도록 외부 ID를 읽기 전용 필드로 만듭니다.
사용자 또는 타사가 외부 ID를 생성할 수 있습니다. ID 생성 담당자를 결정하는 프로세스를 정의합니다. 외부 ID를 생성하는 엔터티에 관계없이 타사는 고객 간에 고유성과 형식을 일관되게 적용합니다.
-
고객이 제공한 장기 보안 인증 정보를 지원 중단합니다.
장기 보안 인증 정보 사용을 중단하고 크로스 계정 역할 또는 IAM Roles Anywhere를 사용합니다. 장기 보안 인증 정보를 사용해야 하는 경우 역할 기반 액세스로의 마이그레이션 계획을 수립합니다. 키 관리에 대한 자세한 내용은 자격 증명 관리를 참조하세요. 또한 AWS 계정 팀 및 타사와 협력하여 위험 완화 런북을 수립합니다. 보안 인시던트의 잠재적 영향에 대한 대응 및 완화에 대한 권장 가이드는 인시던트 대응을 참조하세요.
-
설정에 권장 가이드가 있거나 자동화되어 있는지 확인합니다.
계정의 크로스 계정 액세스를 위해 생성된 정책은 최소 권한 원칙을 따라야 합니다. 타사는 역할 정책 문서를 제공하거나 AWS CloudFormation 템플릿 또는 이에 상응하는 템플릿을 사용하는 자동화된 설정 메커니즘을 제공해야 합니다. 이는 수동 정책 생성과 관련된 오류가 발생할 가능성을 줄이고 감사 가능한 트레일을 제공합니다. AWS CloudFormation 템플릿을 사용하여 크로스 계정 역할을 생성하는 방법에 대한 자세한 내용은 크로스 계정 역할
을 참조하세요. 타사는 자동화되고 감사 가능한 설정 메커니즘을 제공해야 합니다. 그러나 필요한 액세스를 설명하는 역할 정책 문서를 사용하여 역할 설정을 자동화해야 합니다. AWS CloudFormation 템플릿 또는 이에 상응하는 템플릿을 사용하여 감사 관행의 일환으로 드리프트 감지를 사용하여 변경 사항을 모니터링해야 합니다.
-
변경 사항을 설명합니다.
계정 구조, 타사에 대한 요구 사항 또는 제공되는 서비스 오퍼링이 변경될 수 있습니다. 변경 사항과 장애를 예상하고 적절한 인력, 프로세스 및 기술을 사용하여 그에 따라 계획을 수립해야 합니다. 사용자가 제공하는 액세스 수준을 정기적으로 감사하고 감지 방법을 구현하여 예상치 못한 변경 사항을 알립니다. 외부 ID의 역할 및 데이터 스토어의 사용을 모니터링하고 감사합니다. 예상치 못한 변경 사항 또는 액세스 패턴의 결과로 일시적으로 또는 영구적으로 타사 액세스를 취소할 준비가 되어 있어야 합니다. 또한 수행하는 데 걸리는 시간, 관련된 담당자, 비용, 다른 리소스에 미치는 영향을 포함하여 취소 작업에 미치는 영향을 측정합니다.
감지 방법에 대한 권장 가이드는 감지 모범 사례를 참조하세요.
리소스
관련 모범 사례:
관련 문서:
관련 동영상:
관련 예시: