접근 관리
접근 관리 (Access management)
Amazon S3는 다양한 접근 관리 도구를 제공해요. 리소스가 의도된 사용자에게만 접근 가능하도록 하려면 이러한 도구 중 하나 이상을 사용해야 해요.
출처: 문서
본문
Amazon S3는 다양한 접근 관리 도구를 제공해요. 다음은 이러한 기능과 도구의 목록이에요. 이러한 접근 관리 도구가 모두 필요한 것은 아니지만, Amazon S3 버킷, 객체 및 기타 S3 리소스에 대한 접근을 부여하려면 하나 이상을 사용해야 해요. 이러한 도구를 적절히 적용하면 리소스가 의도된 사용자에게만 접근 가능하도록 보장할 수 있어요.
가장 일반적으로 사용되는 접근 관리 도구는 접근 정책이에요. 접근 정책은 버킷 정책과 같이 AWS 리소스에 연결되는 리소스 기반 정책일 수 있어요. 접근 정책은 IAM(아이덴티티 및 접근 관리) 사용자, 그룹 또는 역할과 같은 AWS Identity and Access Management(IAM) 아이덴티티에 연결되는 아이덴티티 기반 정책일 수도 있어요. 접근 정책은 누가 어떤 것에 접근할 수 있는지 설명해요. AWS 계정과 IAM 사용자, 그룹 및 역할이 리소스에 대한 작업을 수행할 수 있는 권한을 부여하도록 접근 정책을 작성해요. 예를 들어 다른 AWS 계정에 PUT Object 권한을 부여해 해당 계정이 버킷에 객체를 업로드할 수 있게 할 수 있어요.
다음은 Amazon S3에서 사용할 수 있는 접근 관리 도구예요. Amazon S3 접근 제어에 대한 더 포괄적인 안내는 Amazon S3 접근 제어를 참고하세요.
버킷 정책
Amazon S3 버킷 정책은 특정 버킷에 연결되는 JSON 형식의 AWS Identity and Access Management(IAM) 리소스 기반 정책이에요. 버킷 정책을 사용해 다른 AWS 계정이나 IAM 아이덴티티에 버킷과 그 안의 객체에 대한 권한을 부여해요. 많은 S3 접근 관리 사용 사례는 버킷 정책으로 충족할 수 있어요. 버킷 정책으로 버킷 접근을 개인화해 승인한 아이덴티티만 리소스에 접근하고 그 안의 작업을 수행할 수 있도록 보장할 수 있어요. 자세한 내용은 Amazon S3 버킷 정책을 참고하세요.
아이덴티티 기반 정책
아이덴티티 기반 또는 IAM 사용자 정책은 AWS Identity and Access Management(IAM) 정책의 한 유형이에요. 아이덴티티 기반 정책은 AWS 계정의 IAM 사용자, 그룹 또는 역할에 연결되는 JSON 형식의 정책이에요. 아이덴티티 기반 정책을 사용해 IAM 아이덴티티에 버킷 또는 객체에 대한 접근을 부여할 수 있어요. 계정에서 IAM 사용자, 그룹 및 역할을 만들고 여기에 접근 정책을 연결할 수 있어요. 그런 다음 Amazon S3 리소스를 포함한 AWS 리소스에 대한 접근을 부여할 수 있어요. 자세한 내용은 Amazon S3 아이덴티티 기반 정책을 참고하세요.
S3 Access Grants
S3 Access Grants를 사용해 Active Directory 같은 기업 아이덴티티 디렉터리의 아이덴티티와 AWS Identity and Access Management(IAM) 아이덴티티 모두에 Amazon S3 데이터에 대한 접근 부여를 만들 수 있어요. S3 Access Grants는 대규모로 데이터 권한을 관리하는 데 도움이 돼요. 또한 S3 Access Grants는 최종 사용자 아이덴티티와 S3 데이터에 접근하는 데 사용된 애플리케이션을 AWS CloudTrail에 기록해요. 이는 S3 버킷의 데이터에 대한 모든 접근에 대해 최종 사용자 아이덴티티 수준까지의 상세한 감사 기록을 제공해요. 자세한 내용은 S3 Access Grants로 접근 관리하기를 참고하세요.
액세스 포인트
Amazon S3 액세스 포인트는 S3의 공유 데이터 세트를 사용하는 애플리케이션에 대해 대규모 데이터 접근 관리를 단순화해요. 액세스 포인트는 버킷에 연결되는 명명된 네트워크 엔드포인트예요. 액세스 포인트를 사용해 객체 업로드 및 검색과 같은 S3 객체 작업을 대규모로 수행할 수 있어요. 버킷에는 최대 10,000개의 액세스 포인트를 연결할 수 있으며, 각 액세스 포인트에 대해 별개의 권한과 네트워크 제어를 적용해 S3 객체에 대한 접근을 세밀하게 제어할 수 있어요. S3 액세스 포인트는 같은 계정 또는 다른 신뢰할 수 있는 계정의 버킷과 연결할 수 있어요. 액세스 포인트 정책은 기본 버킷 정책과 함께 평가되는 리소스 기반 정책이에요. 자세한 내용은 액세스 포인트로 공유 데이터 세트 접근 관리하기를 참고하세요.
액세스 제어 목록(ACL)
ACL은 수여자와 부여된 권한을 식별하는 부여 목록이에요. ACL은 다른 AWS 계정에 기본적인 읽기 또는 쓰기 권한을 부여해요. ACL은 Amazon S3 특정 XML 스키마를 사용해요. ACL은 AWS Identity and Access Management(IAM) 정책의 한 유형이에요. 객체 ACL은 객체에 대한 접근을 관리하는 데 사용되고, 버킷 ACL은 버킷에 대한 접근을 관리하는 데 사용돼요. 버킷 정책은 전체 버킷에 대한 단일 정책이 있지만 객체 ACL은 각 객체에 대해 지정돼요. 각 객체에 대한 접근을 개별적으로 제어해야 하는 상황을 제외하고는 ACL을 꺼 두는 것이 좋아요. ACL 사용에 대한 자세한 내용은 객체 소유권 제어 및 버킷 ACL 비활성화를 참고하세요.
경고 Amazon S3의 대부분의 최신 사용 사례는 ACL을 사용할 필요가 없어요.
객체 소유권
객체에 대한 접근을 관리하려면 객체의 소유자여야 해요. Object Ownership 버킷 수준 설정을 사용해 버킷에 업로드된 객체의 소유권을 제어할 수 있어요. 또한 Object Ownership을 사용해 ACL을 켤 수 있어요. 기본적으로 Object Ownership은 버킷 소유자 강제(Bucket owner enforced) 설정으로 설정되고 모든 ACL은 꺼져 있어요. ACL이 꺼져 있으면 버킷 소유자가 버킷의 모든 객체를 소유하고 데이터에 대한 접근을 단독으로 관리해요. 접근을 관리하기 위해 버킷 소유자는 ACL을 제외한 정책이나 다른 접근 관리 도구를 사용해요. 자세한 내용은 객체 소유권 제어 및 버킷 ACL 비활성화를 참고하세요.
Amazon S3 접근 제어에 대한 더 포괄적인 안내와 추가 모범 사례는 Amazon S3 접근 제어를 참고하세요.