정책을 사용하여 Amazon S3 리소스에 대한 액세스를 관리하는 연습
이 항목에서는 Amazon S3 리소스에 대한 액세스 권한을 부여하는 예제 안내를 소개합니다. 이들 예제는 AWS Management Console을 사용하여 리소스(버킷, 객체, 사용자)를 만들고 그러한 리소스에 권한을 부여합니다. 그런 다음 명령줄 도구를 사용하여 권한을 확인하는 방법을 보여 주므로 코드를 작성할 필요가 없습니다. AWS Command Line Interface(AWS CLI) 및 AWS Tools for Windows PowerShell을 모두 사용한 명령이 제공됩니다.
-
예제 1: 버킷 소유자가 자신의 사용자에게 버킷 권한 부여
계정에 생성한 IAM 사용자는 기본적으로 권한이 없습니다. 이 연습에서는 사용자에게 버킷 및 객체 작업을 수행할 수 있는 권한을 부여합니다.
-
이 연습에서 버킷 소유자인 계정 A는 다른 AWS 계정인 계정 B에게 교차 계정 권한을 부여합니다. 그런 다음 계정 B는 그러한 계정을 해당 계정의 사용자에게 위임합니다.
-
객체와 버킷 소유자가 다를 경우의 객체 권한 관리
이 예제 시나리오는 버킷 소유자가 다른 사용자에게 객체 권한을 부여하지만, 버킷의 모든 객체를 버킷 소유자가 소유하는 것은 아닌 경우입니다. 버킷 소유자가 필요한 권한은 무엇이며, 이러한 권한을 어떻게 위임할 수 있습니까?
버킷을 생성한 AWS 계정을 버킷 소유자라고 합니다. 소유자는 다른 AWS 계정에 객체를 업로드할 수 있는 권한을 부여할 수 있고, 객체를 만든 AWS 계정은 그 객체를 소유합니다. 버킷 소유자는 다른 AWS 계정이 만든 객체에 대한 권한이 없습니다. 버킷 소유자가 객체에 대한 액세스 권한을 부여하는 버킷 정책을 작성할 경우, 이 정책은 다른 계정이 소유한 객체에는 적용되지 않습니다.
이 경우, 객체 소유자는 우선 객체 ACL을 사용하여 버킷 소유자에게 권한을 부여해야 합니다. 그런 후에 다음 예제에 나와 있는 것처럼 버킷 소유자가 다른 사용자나, 자신이 소유한 계정의 사용자 또는 다른 AWS 계정에 이러한 객체 권한을 위임할 수 있습니다.
-
예제 3: 버킷 소유자가 자신이 소유하지 않는 객체에 대한 권한 부여
이 연습에서 먼저 버킷 소유자는 객체 소유자로부터 권한을 받습니다. 그런 다음 버킷 소유자는 이러한 권한을 자신이 소유한 계정의 사용자에게 위임합니다.
-
예시 4: 버킷 소유자가 자신의 소유가 아닌 객체에 크로스 계정 권한 부여
크로스 계정 위임은 지원되지 않기 때문에 버킷 소유자는 객체 소유자로부터 권한을 받은 후 다른 AWS 계정에 권한을 위임할 수 없습니다(권한 위임 참조). 대신에 버킷 소유자는 특정 작업(예: 객체 받기)을 수행할 수 있는 권한을 가진 IAM 역할을 만들고, 다른 AWS 계정이 이 역할을 맡도록 허용할 수 있습니다. 역할을 맡으면 누구든 객체에 액세스할 수 있습니다. 이 예제는 버킷 소유자가 IAM 역할을 사용하여 이 교차 계정 위임을 사용 설정하는 방법을 보여 줍니다.
-
예제 안내를 실습하기 전에 알아 두어야 할 사항
이들 예제는 AWS Management Console을 사용하여 리소스를 만들고 권한을 부여합니다. 예시에서는 권한을 테스트하기 위해 명령줄 도구인 AWS CLI 및 AWS Tools for Windows PowerShell을 사용하므로 직접 코드를 작성할 필요가 없습니다. 권한을 테스트하려면 이러한 도구 중 하나를 설정해야 합니다. 자세한 내용은 연습을 위한 도구 설정 단원을 참조하십시오.
또한, 리소스를 만들 경우, 이 예시는 AWS 계정의 루트 사용자 자격 증명을 사용하지 않습니다. 대신 해당 계정에 관리자 사용자를 만들어 이러한 작업을 수행합니다.
관리자 사용자를 사용하여 리소스를 만들고 권한을 부여하는 것에 대한 소개
AWS Identity and Access Management(IAM)는 AWS 계정의 루트 사용자 자격 증명을 사용하여 요청하지 않을 것을 권장합니다. 대신 IAM 사용자 또는 역할을 만들고 모든 권한을 부여한 후 자격 증명을 사용하여 요청을 수행합니다. 이를 관리 사용자 또는 역할이라고 합니다. 자세한 내용은 AWS 일반 참조의 AWS 계정 루트 사용자 보안 인증 정보 및 IAM 인증 정보 및 IAM 사용 설명서의 IAM 모범 사례를 참조하십시오.
이 섹션의 모든 예제 안내는 관리자 사용자 자격 증명을 사용합니다. AWS 계정에 대한 관리자 사용자가 없을 경우 이 항목에서는 그 방법을 보여 줍니다.
사용자 자격 증명을 사용하여 AWS Management Console에 로그인하려면 IAM 사용자 로그인 URL을 사용해야 합니다. IAM 콘솔