메뉴
Amazon Simple Storage Service
개발자 안내서 (API Version 2006-03-01)

Amazon S3에서 요청에 권한을 부여하는 방법

Amazon S3가 요청을 수신하면(예: 버킷 또는 객체 작업) 먼저 요청자가 필요한 권한을 보유하고 있는지 확인합니다. Amazon S3는 요청에 권한을 부여할지 여부를 결정할 때 모든 관련 액세스 정책, 사용자 정책 및 리소스 기반 정책(버킷 정책, 버킷 ACL, 객체 ACL)을 평가합니다. 다음은 예제 시나리오의 일부입니다.

  • 요청자가 IAM 사용자일 경우, Amazon S3에서는 사용자가 속한 상위 AWS 계정에서 작업 수행에 필요한 권한을 사용자에게 부여했는지를 확인해야 합니다. 또한 버킷 콘텐츠 나열 요청과 같은 버킷 작업에 대한 요청일 경우, Amazon S3에서는 버킷 소유자가 요청자가 작업을 수행할 수 있도록 권한을 부여했는지를 확인해야 합니다.

    참고

    리소스에서 특정 작업을 수행하려면 IAM 사용자는 소속된 상위 AWS 계정과 리소스를 소유한 AWS 계정에서 모두 권한이 필요합니다.

  • 버킷 소유자가 소유하지 않은 객체 작업에 대한 요청일 경우, 요청자가 객체 소유자의 권한을 보유하고 있는지 확인해야 할 뿐만 아니라 Amazon S3은 버킷 소유자가 객체에 대한 명백한 거부를 설정하지 않도록 버킷 정책을 확인해야 합니다.

    참고

    버킷 소유자(요금 지불자)는 객체의 소유 여부와 관계 없이 버킷의 객체에 대한 액세스를 명백하게 거부할 수 있습니다. 또한 버킷 소유자는 버킷의 모든 객체를 삭제할 수도 있습니다.

요청자가 특정 작업을 수행할 권한을 보유하고 있는지 확인하기 위해 Amazon S3은 요청을 수신할 경우 다음을 순서대로 수행합니다.

  1. 런타임 시 모든 관련 액세스 정책(사용자 정책, 버킷 정책, ACL)을 평가용 정책 세트로 변환합니다.

  2. 다음과 같은 단계로 발생한 정책 세트를 평가합니다. 각 단계에서 Amazon S3은 컨텍스트 권한에 기반해 특정 컨텍스트에서 하위 정책 세트를 평가합니다.

    1. 사용자 컨텍스트 - 사용자 컨텍스트에서 사용자가 속한 상위 계정은 컨텍스트 권한입니다.

      Amazon S3은 상위 계정이 소유한 하위 정책 세트를 평가합니다. 이러한 하위 세트에는 상위 계정에서 사용자에게 연결된 사용자 정책이 포함됩니다. 상위 계정에서 요청 시 리소스(버킷, 객체)를 소유할 경우에도, Amazon S3은 동시에 해당 리소스 정책(버킷 정책, 버킷 ACL, 객체 ACL)도 평가합니다.

      사용자는 작업 수행을 위해 상위 계정의 권한을 보유해야 합니다.

      이 단계는 AWS 계정의 사용자가 요청한 경우에만 적용됩니다. AWS 계정의 루트 자격 증명을 사용하여 요청이 이루어진 경우, Amazon S3은 이 단계를 건너뜁니다.

    2. 버킷 컨텍스트 - 버킷 컨텍스트에서 Amazon S3은 버킷을 소유한 AWS 계정이 소유한 정책을 평가합니다.

      버킷 작업에 대한 요청의 경우, 요청자는 버킷 소유자의 권한을 보유해야 합니다. 객체에 대한 요청의 경우, Amazon S3은 버킷 소유자가 객체에 대한 액세스를 명백하게 거부했는지 확인하기 위해 버킷 소유자가 소유한 모든 정책을 평가합니다. 명시적 거부가 있을 경우 Amazon S3은 요청에 권한을 부여하지 않습니다.

    3. 객체 컨텍스트 - 객체에 대한 요청의 경우, Amazon S3은 객체 소유자가 소유한 하위 정책 세트를 평가합니다.

다음 단원에서는 상세한 설명과 예를 제공합니다.

Amazon S3 리소스에 대한 액세스를 관리하는 옵션을 설명하는 소개 주제를 먼저 검토하는 것이 좋습니다. 자세한 내용은 Amazon S3 리소스에 대한 액세스 권한 관리 소개를 참조하십시오. 그 후, 다음과 같이 주제별로 특정 액세스 정책 옵션에 대한 자세한 정보를 얻을 수 있습니다.

이 페이지에서: