Classic/VPC 환경에서 이용 가능합니다.
Ncloud Storage 버킷에 버킷 정책(Bucket Policy)을 등록하거나 기존 정책을 덮어씁니다. 버킷 정책은 버킷과 버킷 내 객체에 대해 누가 어떤 작업을 할 수 있는지 정의하는 JSON 문서입니다.
Sub Account 사용자가 이 명령어를 실행하려면 Change/PutBucketPolicy 액션 권한이 있어야 합니다. 버킷 정책은 버킷을 생성한 계정만 등록할 수 있으며, 다른 계정에는 버킷 정책으로 이 권한을 위임할 수 없습니다.
버킷 정책에 대해 다음 내용을 참고해 주십시오.
- 공개 정책은
BlockPublicPolicy가 켜져 있으면 저장되지 않고,RestrictPublicBuckets가 켜져 있으면 저장되어도 익명 요청과 다른 계정의 요청에 적용되지 않습니다. 버킷을 공개하려면 put-public-access-block으로 두 항목을 모두 해제해 주십시오. - 모든 요청에 대해 거부(
Deny)는 허용(Allow)보다 우선합니다. - 자기 계정의 요청을 차단하는 정책을 등록한 경우에도 버킷을 생성한 계정의 메인 계정은 정책을 등록할 수 있습니다. Sub Account 사용자는 차단 정책의 적용을 받습니다.
구문
put-bucket-policy 구문은 다음과 같습니다.
aws s3api put-bucket-policy \
--bucket <bucket> \
--policy <policy> \
[--content-md5 <content-md5>] \
[--checksum-algorithm <checksum-algorithm>] \
--endpoint-url <endpoint-url>
옵션
put-bucket-policy 실행 시 지정할 수 있는 옵션을 설명합니다.
필수 옵션
put-bucket-policy의 필수 옵션입니다.
| 옵션 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
--bucket |
String | Required | 버킷 이름 |
--policy |
String | Required | 버킷 정책 문서
|
--policy 구문
JSON 형식으로 입력합니다. 문서 구조는 Amazon S3 버킷 정책과 같지만 주체·작업·대상은 Ncloud Storage 표기를 사용하므로, Amazon S3 정책 문서를 그대로 사용할 수 없습니다.
- 예시 1: 조건 없이 허용할 때
- 인증 정보 없이 버킷 내 모든 객체를 읽을 수 있도록 허용합니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicRead",
"Effect": "Allow",
"Principal": "*",
"Action": "View/GetObject",
"Resource": "nrn:PUB:NcloudStorage:KR:12345678:Bucket/2e2b461e-303f-4928-9e81-302d1aea9629/*"
}
]
}
- 예시 2: 조건을 지정할 때
- 특정 Sub Account에 대해 지정한 IP 대역에서만 객체 조회를 허용합니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowFromOfficeOnly",
"Effect": "Allow",
"Principal": {
"NCP": "nrn:PUB:IAM::12345678:SubAccount/8f14e45f-ceea-467a-9cbd-3a1b0f5c9e21"
},
"Action": [
"View/GetObject",
"View/ListBucket"
],
"Resource": [
"nrn:PUB:NcloudStorage:KR:12345678:Bucket/2e2b461e-303f-4928-9e81-302d1aea9629",
"nrn:PUB:NcloudStorage:KR:12345678:Bucket/2e2b461e-303f-4928-9e81-302d1aea9629/*"
],
"Condition": {
"IpAddress": {
"aws:SourceIp": ["10.0.0.0/24", "192.168.0.1"]
}
}
}
]
}
선택 옵션
put-bucket-policy의 선택 옵션입니다. 지정하지 않은 옵션에는 기본값이 적용됩니다.
| 옵션 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
--content-md5 |
String | Optional | 요청 데이터의 Base64 인코딩된 128비트 MD5 해시값
|
--checksum-algorithm |
String | Optional | 요청 데이터 검증에 사용할 체크섬 알고리즘
|
공통 옵션
aws 명령에서 공통으로 사용하는 옵션에 대한 정보는 Ncloud Storage 옵션을 참조해 주십시오.
예시
버킷 정책 등록 요청이 성공하면 정책이 적용되며 결과는 출력되지 않습니다.
명령
명령 예시는 다음과 같습니다.
aws s3api put-bucket-policy --bucket my-test-bucket \
--policy file://policy.json \
--endpoint-url=https://kr.ncloudstorage.com
연관 명령어
연관 명령어는 다음과 같습니다.