Amazon Web Services 한국 블로그

새로운 기능 – Amazon S3 Object Ownership 기반 액세스 관리 간소화

오늘은 Amazon Simple Storage Service(Amazon S3)에 저장된 데이터에 대한 액세스 관리를 간소화하는 몇 가지 새로운 기능을 소개합니다. 먼저, 액세스 제어 목록(ACL)을 비활성화해 Amazon S3에 저장된 데이터에 대한 액세스 관리를 간소화할 수 있는 새로운 Amazon S3 객체 소유권 설정을 소개합니다. 두 번째로, 이제 Amazon S3 콘솔 정책 편집기는 S3 정책을 작성할 때 IAM Access Analyzer가 제공하는 보안 경고, 오류 및 제안 사항을 보고합니다.

15년 전 출시 이후 Amazon S3 버킷의 설정 기본값은 비공개였습니다. 처음에는, 객체에 대한 액세스 권한을 부여하는 유일한 방법은 ACL을 사용하는 것이었습니다. 2011년 AWS Identity and Access Management(IAM)발표하면서 Amazon S3의 버킷 및 객체에 대한 권한을 정의하고, 액세스를 제어하는 정책을 사용할 수 있었습니다. 요즘에는 IAM 정책, S3 버킷 정책, S3 Access Points 정책, S3 Block Public Access,ACL 등 여러 가지 방법으로 Amazon S3 내 데이터에 대한 액세스를 제어합니다.

ACL은 각 버킷 및 객체에 ACL이 연결되어 있는 액세스 제어 매커니즘입니다. ACL은 액세스 권한을 부여할 AWS 계정 또는 그룹, 그리고 액세스 유형을 정의합니다. 객체가 생성되면 객체의 소유권은 작성자에게 속합니다.  이 소유권 정보는 객체 ACL에 포함됩니다. 다른 AWS 계정이 소유한 버킷에 객체를 업로드하고, 해당 버킷 소유자가 객체에 액세스하도록 하려면 ACL에서 허가해야 합니다. 대부분의 경우 ACL 및 기타 유형 정책이 동일한 버킷 내에서 사용됩니다.

신규 Amazon S3 객체 소유권 설정인 버킷 소유자 적용으로 버킷과 버킷에 포함된 객체에 연결된 모든 ACL을 비활성화할 수 있습니다. 이 버킷 수준 설정을 적용하면 버킷의 모든 객체가 버킷을 생성한 AWS 계정의 소유가 되며, ACL은 더 이상 액세스 권한을 부여하는 데 사용되지 않습니다. 적용 시 소유권이 자동으로 변경되므로, 버킷에 데이터를 쓰는 애플리케이션은 더 이상 ACL을 지정하지 않아도 됩니다. 따라서 데이터에 대한 액세스는 정책에 따라 결정됩니다. 즉 Amazon S3에 저장된 데이터에 대한 액세스 관리가 간소화됩니다.

이번 출시로 Amazon S3 콘솔에서 새 버킷 생성 시 ACL의 활성화 또는 비활성화 여부를 선택할 수 있습니다. Amazon S3 콘솔에서 버킷을 생성할 때 기본값으로 ACL이 비활성화되도록 선택합니다. ACL을 활성화 상태로 유지하고자 한다면 객체 소유권에 대한 다른 구성을 선택할 수 있습니다. 특히 다음과 같습니다.

  • 버킷 소유자 선호: bucket-owner-full-control를 사용해 이 버킷에 작성하여 ACL에 보관되는 모든 신규 객체는 버킷 소유자가 소유합니다. ACL은 여전히 액세스 제어에 사용됩니다.
  • 객체 작성기: 객체 작성기는 객체 소유자로 유지됩니다. ACL은 여전히 액세스 제어에 사용됩니다.

객체 소유권 옵션

기존 버킷의 경우 [권한] 탭에서 이 설정을 보고 관리할 수 있습니다.

기존 버킷의 객체 소유권에 대하여 버킷 소유자 강제 적용 설정을 활성화하기에 앞서, 다른 AWS 계정에 부여된 액세스 권한을 버킷 ACL에서 버킷 정책으로 마이그레이션해야 합니다. 그렇지 않으면 설정 활성화 시 오류가 발생합니다. 이렇게 하면 버킷에 데이터를 쓰는 애플리케이션이 중단되지 않도록 보장할 수 있습니다. 액세스를 마이그레이션한 후 애플리케이션을 테스트해야 합니다.

Amazon S3 콘솔에서의 정책 유효성 검사
또한 Amazon S3 콘솔에 정책 유효성 검사를 도입하여 Amazon S3에 대한 리소스 기반 정책을 작성할 때 사용자를 지원합니다. 이를 통해 IAM Access Analyzer가 제공하는 100개 이상의 실행 가능한 정책 확인을 통해 Amazon S3 버킷 및 액세스 포인트에 대한 액세스 제어 정책을 간편하게 작성할 수 있습니다.

Amazon S3 콘솔에서 액세스 정책 유효성 검사에 액세스하려면, 우선 버킷의 세부 정보 페이지로 이동합니다. 그런 다음 [권한] 탭으로 이동하여 버킷 정책을 편집합니다.

S3 콘솔에서 IAM 정책 유효성 검사에 액세스

정책을 작성하기 시작하면, 입력 시 화면 하단에 다른 결과가 나타납니다. IAM Access Analyzer의 정책 검사는 정책을 검증하고, 보안 경고, 오류 및 제안을 영향에 따라 보고하도록 하여 정책을 보다 안전하게 만드는 데 도움이 됩니다.

IAM Access Analyzer의 ValidatePolicy API를 사용하여 이러한 확인 및 검증을 수행할 수도 있습니다.

정책 제안 예시

가용성
Amazon S3 객체 소유권은 AWS 중국 리전 및 AWS GovCloud 리전을 제외한 모든 AWS 리전에서 추가 비용 없이 사용할 수 있습니다. Amazon S3 콘솔 내 IAM Access Analyzer 정책 유효성 검증은 AWS 중국 리전 및 AWS GovCloud 리전을 포함하는 모든 AWS 리전에서 추가 비용 없이 사용할 수 있습니다.

Amazon S3 콘솔, AWS Command Line Interface(CLI), Amazon S3 REST API, AWS SDK, 또는 AWS CloudFormation을 통해 Amazon S3 Object Ownership을 시작합니다. 설명서 페이지에서 이 기능에 대해 자세히 알아보십시오.

Amazon S3 콘솔에서 정책 유효성 검사에 대해 자세히 알아보고 이를 시작하려면 Access Analyzer 정책 유효성 설명서를 참조하십시오.

Marcia