Lightsail 버킷 및 객체에 대한 액세스 제어 - Amazon Lightsail

Lightsail 버킷 및 객체에 대한 액세스 제어

기본적으로 모든 Amazon Lightsail 객체 스토리지 리소스(버킷 및 객체)는 프라이빗입니다. 즉, 버킷 소유자(버킷을 생성한 Lightsail 계정)만 버킷과 해당 객체에 액세스할 수 있습니다. 버킷 소유자는 필요에 따라 다른 사용자에게 액세스 권한을 부여할 수 있습니다. 버킷 및 해당 객체에 액세스할 권한을 부여하는 방법은 다음과 같습니다.

  • 읽기 전용 액세스 – 다음 옵션은 버킷의 URL(예: https://amzn-s3-demo-bucket.us-east-1.amazonaws.com/media/sailbot.jpg)을 통해 버킷 및 해당 객체에 대한 읽기 전용 액세스를 제어합니다.

    • 버킷 액세스 권한 – 버킷 액세스 권한을 사용하여 인터넷상의 누구나 버킷의 모든 객체에 액세스할 권한을 부여합니다. 자세한 내용은 가이드 후반부의 버킷 액세스 권한을 참조하세요.

    • 개별 객체 액세스 권한 – 개별 객체 액세스 권한을 사용하여 인터넷상의 누구나 버킷의 개별 객체에 액세스할 권한을 부여합니다. 자세한 내용은 가이드 후반부의 개별 객체 액세스 권한을 참조하세요.

    • 크로스 계정 액세스 – 크로스 계정 액세스를 사용하여 다른 AWS 계정의 버킷에 있는 모든 객체에 액세스할 권한을 부여합니다. 자세한 내용은 가이드 후반부의 교차 계정 액세스를 참조하세요.

  • 읽기 및 쓰기 액세스 – 다음 옵션은 버킷과 버킷 객체에 대한 전체 읽기 및 쓰기 액세스를 제어합니다. 이러한 옵션은 AWS Command Line Interface(AWS CLI), AWS API 및 AWS SDK와 함께 사용합니다.

    • 액세스 키 – 액세스 키를 사용하여 애플리케이션 또는 플러그 인에 액세스할 권한을 부여합니다. 자세한 내용은 가이드 후반부의 액세스 키를 참조하세요.

    • 리소스 액세스 – 리소스 액세스를 사용하여 Lightsail 인스턴스에 액세스할 권한을 부여합니다. 자세한 내용은 가이드 후반부의 리소스 액세스를 참조하세요.

  • Amazon Simple Storage Service 퍼블릭 액세스 차단 – Amazon Simple Storage Service(S3) 계정 수준 퍼블릭 액세스 차단 기능을 사용하여 Amazon S3 및 Lightsail의 버킷에 대한 퍼블릭 액세스를 중앙에서 제한합니다. 구성되었을 수도 있는 개별 버킷 및 객체 권한과 관계없이 퍼블릭 액세스 차단을 통해 모든 Amazon S3 버킷과 Lightsail 버킷을 프라이빗으로 만들 수 있습니다. 자세한 내용은 이 설명서 후반부의 Amazon S3 퍼블릭 액세스 차단을 참조하세요.

버킷에 대한 자세한 내용은 객체 스토리지를 참조하세요. 보안 모범 사례에 대한 자세한 내용은 객체 스토리지에 대한 보안 모범 사례를 참조하세요.

버킷 액세스 권한

버킷에 있는 객체에 대한 인증되지 않은 공개 읽기 전용 액세스를 제어하려면 버킷 액세스 권한을 사용하면 됩니다. 버킷 액세스 권한을 구성할 때 다음 옵션 중 하나를 선택할 수 있습니다.

  • 모든 객체 비공개(All objects are private) - 사용자 본인이나 사용자에게 액세스 권한을 부여받은 사람만 버킷에 있는 모든 객체를 읽을 수 있습니다. 이 옵션을 사용하면 개별 객체를 공개(읽기 전용)할 수 없습니다.

  • 개별 객체 공개 가능(읽기 전용)(Individual objects can be made public (read-only)) – 개별 객체를 공개(읽기 전용)로 지정하지 않는 한 사용자 본인이나 사용자에게 액세스 권한을 부여받은 사람만 버킷에 있는 객체를 읽을 수 있습니다. 이 옵션을 사용하면 개별 객체를 공개(읽기 전용)할 수 있습니다. 자세한 내용은 가이드 후반부의 개별 객체 액세스 권한을 참조하세요.

  • 모든 객체 공개(읽기 전용)(All objects are public (read-only)) – 인터넷상의 모든 사용자가 버킷에 있는 객체를 전부 읽을 수 있습니다. 이 옵션을 선택하면 버킷의 URL(예: https://amzn-s3-demo-bucket.us-east-1.amazonaws.com/media/sailbot.jpg)을 통해 인터넷상의 누구나 버킷의 모든 객체를 읽을 수 있습니다.

버킷 액세스 권한을 구성하는 방법에 대한 자세한 내용은 버킷 액세스 권한 구성을 참조하세요.

개별 객체 액세스 권한

버킷에 있는 개별 객체에 대한 인증되지 않은 공개 읽기 전용 액세스를 제어하려면 개별 객체 액세스 권한을 사용하면 됩니다. 개별 객체 액세스 권한은 버킷의 버킷 액세스 권한을 통해 개별 객체를 공개(읽기 전용)할 수 있는 경우에만 구성할 수 있습니다. 개별 객체에 대한 액세스 권한을 구성할 때 다음 옵션 중 하나를 선택할 수 있습니다.

  • 비공개(Private) - 사용자 본인이나 사용자에게 액세스 권한을 부여받은 사람만 객체를 읽을 수 있습니다.

  • 공개(읽기 전용)(Public (read-only)) - 인터넷에서 누구나 객체를 읽을 수 있습니다. 버킷의 URL(예: https://amzn-s3-demo-bucket.us-east-1.amazonaws.com/media/sailbot.jpg)을 통해 인터넷상의 모든 사용자가 개별 객체를 읽을 수 있게 됩니다.

개별 객체 액세스 권한을 구성하는 방법에 대한 자세한 내용은 버킷에 있는 개별 객체에 대한 액세스 권한 구성을 참조하세요.

크로스 계정 액세스

크로스 계정 액세스를 통해 다른 AWS 계정과 해당 계정의 사용자에게 버킷에 있는 모든 객체에 대한 인증된 읽기 전용 액세스 권한을 부여할 수 있습니다. 다른 AWS 계정과 객체를 공유하려는 경우 크로스 계정 액세스를 사용하면 좋습니다. 다른 AWS 계정에 크로스 계정 액세스 권한을 부여하면 해당 계정의 사용자는 버킷(예: https://amzn-s3-demo-bucket.us-east-1.amazonaws.com/media/sailbot.jpg)의 URL을 통해 버킷에 있는 객체에 읽기 전용 권한으로 액세스할 수 있게 됩니다. 최대 10개의 AWS 계정에 액세스 권한을 부여할 수 있습니다.

크로스 계정 액세스 권한을 구성하는 방법에 대한 자세한 내용은 버킷의 크로스 계정 액세스 권한 구성을 참조하세요.

액세스 키

액세스 키를 사용하여 버킷 및 해당 객체에 대한 전체 읽기 및 쓰기 액세스 권한을 부여하는 자격 증명 집합을 생성할 수 있습니다. 액세스 키는 액세스 키 ID와 비밀 액세스 키가 한 세트로 구성됩니다. 버킷당 최대 2개의 액세스 키를 사용할 수 있습니다. AWS API와 AWS SDK를 사용하여 버킷과 해당 객체에 액세스할 수 있도록 애플리케이션에서 액세스 키를 구성할 수 있습니다. AWS에서 액세스 키를 구성할 수도 있습니다.

액세스 키를 생성하는 방법에 대한 자세한 내용은 버킷의 액세스 키 생성을 참조하세요.

리소스 액세스

리소스 액세스를 사용하여 Lightsail 인스턴스의 버킷과 객체에 전체 읽기 및 쓰기 액세스 권한을 부여할 수 있습니다. 리소스 액세스를 사용하면 액세스 키와 같은 자격 증명을 관리할 필요가 없습니다. 인스턴스에 액세스 권한을 부여하려면 인스턴스를 동일한 AWS 리전의 버킷에 연결합니다. 액세스를 거부하려면 버킷에서 인스턴스를 분리합니다. 인스턴스의 애플리케이션이 버킷의 파일을 프로그래밍 방식으로 업로드하고 액세스하도록 구성하는 경우 리소스 액세스 권한을 사용하면 좋습니다. 이러한 사용 사례 중 하나는 미디어 파일을 버킷에 저장하도록 WordPress 인스턴스를 구성하는 것입니다. 자세한 내용은 자습서: WordPress 인스턴스에 버킷 연결자습서: 콘텐츠 전송 네트워크 배포와 함께 버킷 사용을 참조하세요.

리소스 액세스 권한을 구성하는 방법에 대한 자세한 내용은 버킷의 리소스 액세스 권한 구성을 참조하세요.

Amazon S3 퍼블릭 액세스 차단

Amazon S3 퍼블릭 액세스 차단 기능을 사용하여 Amazon S3 및 Lightsail의 버킷에 대한 퍼블릭 액세스를 중앙에서 제한합니다. 구성되었을 수도 있는 개별 버킷 및 객체 권한과 관계없이 퍼블릭 액세스 차단을 통해 모든 Amazon S3 버킷과 Lightsail 버킷을 프라이빗으로 만들 수 있습니다. Amazon S3 콘솔, AWS CLI, AWS SDK 및 REST API를 사용하여 계정의 모든 버킷에 대한 퍼블릭 액세스 차단 설정을 구성할 수 있습니다(Lightsail 객체 스토리지 서비스의 버킷 포함). 자세한 내용은 버킷에 대한 퍼블릭 액세스 차단을 참조하세요.