

# SEC03-BP07 퍼블릭 및 크로스 계정 액세스 분석
<a name="sec_permissions_analyze_cross_account"></a>

퍼블릭 및 크로스 계정 액세스를 강조하는 조사 결과를 지속적으로 모니터링합니다. 이 액세스 권한이 필요한 특정 리소스에 대해서만 퍼블릭 액세스 및 크로스 계정 액세스를 줄입니다.

 **원하는 결과:** AWS 리소스 중 어떤 리소스가 누구와 공유되는지 파악합니다. 공유 리소스를 지속적으로 모니터링하고 감사하여 권한이 부여된 보안 주체와만 공유되는지 확인합니다. 

 **일반적인 안티 패턴:** 
+  공유 리소스의 인벤토리를 유지하지 않습니다. 
+  크로스 계정 또는 리소스에 대한 퍼블릭 액세스를 승인하는 프로세스를 따르지 않습니다. 

 **이 모범 사례를 따르지 않을 경우 노출 위험도:** 낮음 

## 구현 가이드
<a name="implementation-guidance"></a>

 계정이 AWS Organizations에 있는 경우 전체 조직, 특정 조직 단위 또는 개별 계정에 리소스에 대한 액세스 권한을 부여할 수 있습니다. 계정이 조직의 멤버가 아닌 경우 개별 계정과 리소스를 공유할 수 있습니다. 리소스 기반 정책(예: [Amazon Simple Storage Service(Amazon S3) 버킷 정책](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-policies.html))을 사용하거나 다른 계정의 보안 주체가 사용자 계정의 IAM 역할을 수임하도록 허용하여 직접 크로스 계정 액세스 권한을 부여할 수 있습니다. 리소스 정책을 사용할 때 권한이 부여된 보안 주체에게만 액세스 권한이 부여되는지 확인합니다. 공개적으로 사용 가능해야 하는 모든 리소스를 승인하는 프로세스를 정의합니다. 

 [AWS Identity and Access Management Access Analyzer](https://aws.amazon.com/iam/features/analyze-access/)는 [증명 가능한 보안](https://aws.amazon.com/security/provable-security/)을 사용하여 계정 외부의 리소스에 대한 모든 액세스 경로를 식별합니다. 리소스 정책을 지속적으로 검토하고, 퍼블릭 또는 크로스 계정 액세스의 조사 결과를 보고하여 잠재적으로 광범위한 액세스를 간단하게 분석할 수 있습니다. 모든 계정에 대한 가시성을 확보했는지 확인하려면 AWS Organizations로 IAM Access Analyzer를 구성하는 것이 좋습니다. IAM Access Analyzer를 사용하면 리소스 권한을 배포하기 전에 [결과를 미리 볼 수 있습니다](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-access-preview.html). 따라서 정책 변경 사항이 리소스에 대해 의도한 퍼블릭 및 크로스 계정 액세스만 부여하는지 확인할 수 있습니다. 다중 계정 액세스를 위해 설계할 때 [신뢰 정책](https://aws.amazon.com/blogs/security/how-to-use-trust-policies-with-iam-roles/)을 사용하여 역할을 수임할 수 있는 경우를 제어할 수 있습니다. 예를 들어 [`PrincipalOrgId` 조건 키를 사용하여 AWS Organizations 외부에서 역할을 수임하려는 시도를 거부](https://aws.amazon.com/blogs/security/how-to-use-trust-policies-with-iam-roles/)할 수 있습니다. 

 [AWS Config는 잘못 구성된 리소스](https://docs.aws.amazon.com/config/latest/developerguide/operational-best-practices-for-Publicly-Accessible-Resources.html)를 보고할 수 있으며 AWS Config 정책 확인을 통해 퍼블릭 액세스가 구성된 리소스를 감지할 수 있습니다. [AWS Control Tower](https://aws.amazon.com/controltower/) 및 [AWS Security Hub CSPM](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-fsbp.html) 같은 서비스는 공개적으로 노출된 리소스를 식별하고 개선하기 위해 AWS Organizations 전체에 탐지 제어 및 가드레일 배포를 간소화합니다. 예를 들어 AWS Control Tower에는 [Amazon EBS 스냅샷이 AWS 계정에 의해 복원 가능한지](https://docs.aws.amazon.com/controltower/latest/userguide/what-is-control-tower.html) 감지할 수 있는 관리형 가드레일이 있습니다. 

 **구현 단계** 
+  **[AWS Organizations에 대해 AWS Config](https://docs.aws.amazon.com/organizations/latest/userguide/services-that-can-integrate-config.html) 활성화 고려:** AWS Config를 사용하면 AWS Organizations 내의 여러 계정에서 찾은 조사 결과를 위임된 관리자 계정으로 집계할 수 있습니다. 이는 포괄적인 보기를 제공하고 계정 전체에 [AWS Config 규칙를 배포하여 공개적으로 액세스 가능한 리소스를 감지](https://docs.aws.amazon.com/config/latest/developerguide/config-rule-multi-account-deployment.html)할 수 있습니다. 
+  **AWS Identity and Access Management Access Analyzer 구성:** IAM Access Analyzer는 조직 및 계정에서 Amazon S3 버킷 또는 IAM 역할과 같이 [외부 엔터티와 공유](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html)되는 리소스를 식별하는 데 도움이 됩니다. 
+  **AWS Config에서 자동 개선조치를 사용하여 Amazon S3 버킷의 퍼블릭 액세스 구성 변경에 대응:** [Amazon S3 버킷에 대한 퍼블릭 액세스 차단 설정을 자동으로 재활성화할 수 있습니다](https://aws.amazon.com/blogs/security/how-to-use-aws-config-to-monitor-for-and-respond-to-amazon-s3-buckets-allowing-public-access/). 
+  **모니터링 및 알림을 구현하여 Amazon S3 버킷이 공개되었는지 확인:** Amazon S3 퍼블릭 액세스 차단이 비활성화된 시점과 Amazon S3 버킷이 공개되었는지 확인하기 위해 [모니터링 및 알림](https://aws.amazon.com/blogs/aws/amazon-s3-update-cloudtrail-integration/)을 구현해야 합니다. 또한 AWS Organizations를 사용하는 경우 Amazon S3 퍼블릭 액세스 정책의 변경을 방지하는 [서비스 제어 정책](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html)을 생성할 수 있습니다. AWS Trusted Advisor는 퍼블릭 액세스 권한이 있는 Amazon S3 버킷을 확인합니다. 모든 사용자에게 업로드 또는 삭제 액세스 권한을 부여하는 버킷 권한은 모든 사용자가 버킷 항목을 추가하거나, 수정하거나, 제거할 수 있도록 허용하여 잠재적 보안 문제가 발생하는 원인이 됩니다. Trusted Advisor 점검 항목은 명시적인 버킷 권한뿐 아니라 버킷 권한을 재정의할 수 있는 관련 버킷 정책도 확인합니다. 또한 AWS Config를 사용하여 퍼블릭 액세스를 위해 Amazon S3 버킷을 모니터링할 수 있습니다. 자세한 내용은 [퍼블릭 액세스를 허용하는 Amazon S3 버킷을 모니터링하고 대응하기 위해 AWS Config를 사용하는 방법](https://aws.amazon.com/blogs/security/how-to-use-aws-config-to-monitor-for-and-respond-to-amazon-s3-buckets-allowing-public-access/)을 참조하세요. 액세스 권한을 검토하는 동안 Amazon S3 버킷에 포함된 데이터 유형을 고려하는 것이 중요합니다. [Amazon Macie](https://docs.aws.amazon.com/macie/latest/user/findings-types.html)은 개인 키 또는 AWS 키와 같은 보안 인증 정보, PII, PHI와 같은 민감한 데이터를 검색하고 보호하는 데 도움이 됩니다. 

## 리소스
<a name="resources"></a>

 **관련 문서:** 
+  [AWS Identity and Access Management Access Analyzer 사용](https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html?ref=wellarchitected)
+ [AWS Control Tower 제어 라이브러리](https://docs.aws.amazon.com/controltower/latest/userguide/controls-reference.html)
+  [AWS 기초 보안 모범 사례 표준](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-fsbp.html)
+  [AWS Config 관리형 규칙](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html) 
+  [AWS Trusted Advisor 점검 참조](https://docs.aws.amazon.com/awssupport/latest/user/trusted-advisor-check-reference.html) 
+ [Amazon EventBridge를 사용하여 AWS Trusted Advisor 점검 결과 모니터링](https://docs.aws.amazon.com/awssupport/latest/user/cloudwatch-events-ta.html)
+ [조직의 모든 계정에서 AWS Config 규칙 관리](https://docs.aws.amazon.com/config/latest/developerguide/config-rule-multi-account-deployment.html)
+ [AWS Config 및 AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/services-that-can-integrate-config.html)

 **관련 동영상:** 
+ [Best Practices for securing your multi-account environment(다중 계정 환경 보안 모범 사례)](https://www.youtube.com/watch?v=ip5sn3z5FNg)
+ [Dive Deep into IAM Access Analyzer(IAM Access Analyzer 심층 분석)](https://www.youtube.com/watch?v=i5apYXya2m0)