# S3 Bucket Version

AWS 버전 관리는 동일한 S3 버킷 내의 모든 객체들의 상태를 버전 별로 저장하여 보존, 검색 및 복원을 지원하는 서비스입니다.

버킷 내 버전은 다음과 같은 특징을 가집니다.

1. 버킷의 버전은 버킷 내 저장된 각각의 객체들에 대해 개별적으로 관리한다.
2. 각 객체는 모두 연관성 없는 난수 형태의 버전을 가지며, 변경이 될 때마다 버전은 새로 생성된다.
3. 삭제된 객체는 DeleteMarkers 목록에 별도로 표시된다.

## Abuse

<pre class="language-bash"><code class="lang-bash"><strong># 버킷 내 객체 버전 열거
</strong>aws s3api list-object-versions --bucket '&#x3C;s3-bucket>' --no-sign-request

<strong># 버킷 내 저장된 특정 버전 가져오기
</strong>aws s3api get-object --bucket '&#x3C;s3-bucket>' --key '&#x3C;key-file>' --version-id '&#x3C;version-id>' '&#x3C;save-file>'
</code></pre>

{% hint style="info" %}
해당 시나리오는 다음과 같은 권한이 요구됩니다.

1. S3 버킷 버전 목록 열거 : s3:ListBucketVersions
2. 특정 버전 다운로드 : s3:GetObjectVersion
   {% endhint %}

## References

{% embed url="<https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/Versioning.html>" %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://www.pentestwiki.com/cloud/aws/undefined-1/s3-bucket-version.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
