SEC08-BP04 액세스 제어 적용 - AWS Well-Architected 프레임워크

SEC08-BP04 액세스 제어 적용

저장 데이터를 보호하려면 격리 및 버전 관리와 같은 메커니즘을 사용하여 액세스 제어를 적용합니다. 최소 권한 및 조건부 액세스 제어를 적용합니다. 데이터에 대한 퍼블릭 액세스 권한 부여를 방지합니다.

원하는 성과: 인증된 사용자만 알아야 할 데이터에 액세스할 수 있는지 확인합니다. 정기적인 백업 및 버전 관리를 통해 데이터를 보호하여 의도적이거나 우발적인 데이터 수정 또는 삭제를 방지합니다. 중요한 데이터를 다른 데이터와 분리하여 기밀성과 데이터 무결성을 보호합니다.

일반적인 안티 패턴:

  • 민감도 요구 사항이 다르거나 분류가 다른 데이터를 함께 저장합니다.

  • 복호화 키에 지나치게 관대한 권한을 사용합니다.

  • 데이터를 잘못 분류합니다.

  • 중요한 데이터의 자세한 백업을 유지하지 않습니다.

  • 프로덕션 데이터에 대한 지속적인 액세스를 제공합니다.

  • 데이터 액세스를 감사하거나 정기적으로 권한을 검토하지 않습니다.

이 모범 사례가 확립되지 않을 경우 노출되는 위험 수준: 높음

구현 지침

저장 데이터를 보호하는 것은 데이터 무결성, 기밀성 및 규제 요구 사항 준수를 유지하는 데 중요합니다. 액세스 제어, 격리, 조건부 액세스 및 버전 관리를 포함하여 이를 달성하는 데 도움이 되는 여러 제어를 구현할 수 있습니다.

최소 권한 원칙에 따라 액세스 제어를 적용할 수 있습니다. 이 원칙은 사용자와 서비스가 작업을 수행하는 데 필요한 권한만 제공합니다. 여기에는 암호화 키에 대한 액세스가 포함됩니다. AWS Key Management Service(AWS KMS) 정책을 검토하여 부여하는 액세스 수준이 적절하고 관련 조건이 적용되는지 확인합니다.

각 수준에 대해 고유한 AWS 계정을 사용하여 다양한 분류 수준에 따라 데이터를 분리하고 AWS Organizations을 사용하여 이러한 계정을 관리할 수 있습니다. 이러한 격리는 무단 액세스를 방지하고 데이터 노출 위험을 최소화하는 데 도움이 될 수 있습니다.

Amazon S3 버킷 정책에 부여된 액세스 수준을 정기적으로 검토합니다. 절대적으로 필요한 경우가 아니면 공개적으로 읽을 수 있거나 쓸 수 있는 버킷을 사용하지 마세요. 또한 AWS Config를 사용하여 공개적으로 사용 가능한 버킷을 감지하고 Amazon CloudFront를 사용하여 Amazon S3에서 콘텐츠를 제공하는 것이 좋습니다. 퍼블릭 액세스를 허용하면 안 되는 버킷은 퍼블릭 액세스가 되지 않도록 적절히 구성되어 있는지 확인합니다.

Amazon S3에 저장된 중요 데이터에 대한 버전 관리 및 객체 잠금 메커니즘을 구현합니다. Amazon S3 버전 관리는 이전 버전의 객체를 보존하여 우발적 삭제 또는 덮어쓰기를 했을 때 데이터를 복구합니다. 잠금이 만료될 때까지 루트 사용자라도 객체를 삭제하거나 덮어쓰지 못하게 하는 Amazon S3 Object Lock은 객체에 대한 필수 액세스 제어를 제공합니다. 또한 Amazon S3 Glacier Vault Lock은 Amazon S3 Glacier에 저장된 아카이브에 대해 유사한 기능을 제공합니다.

구현 단계

  1. 최소 권한 원칙에 따라 액세스 제어 적용:

    • 사용자 및 서비스에 부여된 액세스 권한을 검토하고 작업을 수행하는 데 필요한 권한만 있는지 확인합니다.

    • AWS Key Management Service(AWS KMS) 정책을 확인하여 암호화 키에 대한 액세스를 검토합니다.

  2. 다양한 분류 수준에 따라 데이터 분리:

    • 각 데이터 분류 수준에 대해 고유한 AWS 계정을 사용합니다.

    • AWS Organizations을 사용하여 이러한 계정을 관리합니다.

  3. Amazon S3 버킷 및 객체 권한 검토:

    • Amazon S3 버킷 정책에 부여된 액세스 수준을 정기적으로 검토합니다.

    • 절대적으로 필요한 경우가 아니면 공개적으로 읽을 수 있거나 쓸 수 있는 버킷을 사용하지 마세요.

    • AWS Config를 사용하여 공개적으로 사용 가능한 버킷을 감지하는 것을 고려하세요.

    • Amazon CloudFront를 사용하여 Amazon S3의 콘텐츠를 제공합니다.

    • 퍼블릭 액세스를 허용하면 안 되는 버킷은 퍼블릭 액세스가 되지 않도록 적절히 구성되어 있는지 확인합니다.

    • SQS 또는 서드파티 데이터 스토어와 같이 IAM 인증을 사용하는 데이터베이스 및 기타 데이터 소스에 동일한 검토 프로세스를 적용할 수 있습니다.

  4. AWS IAM Access Analyzer 사용:

    • Amazon S3 버킷을 분석하고 S3 정책이 외부 엔터티에 대한 액세스 권한을 부여할 때 조사 결과를 생성하도록 AWS IAM Access Analyzer를 구성할 수 있습니다.

  5. 버전 관리 및 객체 잠금 메커니즘 구현:

    • Amazon S3 버전 관리를 사용하여 이전 버전의 객체를 보존하여 실수로 삭제하거나 덮어쓰는 것을 방지합니다.

    • 잠금이 만료될 때까지 루트 사용자라도 객체를 삭제하거나 덮어쓰지 못하게 하는 Amazon S3 Object Lock을 사용하여 객체에 대한 필수 액세스 제어를 제공합니다.

    • Amazon S3 Glacier에 저장된 아카이브에 Amazon S3 Glacier Vault Lock을 사용합니다.

  6. Amazon S3 Inventory 사용:

    • Amazon S3 Inventory를 사용하여 S3 객체의 복제 및 암호화 상태를 감사하고 보고할 수 있습니다.

  7. Amazon EBS 및 AMI 공유 권한 검토:

    • Amazon EBSAMI 공유에 대한 권한을 검토하여 워크로드 외부에 존재하는 AWS 계정과 이미지 및 볼륨이 공유되지 않는다는 것을 확인합니다.

  8. AWS Resource Access Manager Shares 정기적으로 검토:

    • AWS Resource Access Manager를 사용하여 Amazon VPC 내에서 AWS Network Firewall 정책, Amazon Route 53 Resolver 규칙, 서브넷과 같은 리소스를 공유할 수 있습니다.

    • 공유 리소스를 정기적으로 감사하고 더 이상 공유할 필요가 없는 리소스 공유를 중지합니다.

리소스

관련 모범 사례:

관련 문서:

관련 비디오: