--- title: "put-bucket-policy" slug: "put-bucket-policy" updated: 2026-10-14T00:03:57Z published: 2026-10-14T09:00:27Z canonical: "cli.ncloud-docs.com/put-bucket-policy" --- > ## Documentation Index > Fetch the complete documentation index at: https://cli.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # put-bucket-policy Classic/VPC 환경에서 이용 가능합니다. Ncloud Storage 버킷에 버킷 정책(Bucket Policy)을 등록하거나 기존 정책을 덮어씁니다. 버킷 정책은 버킷과 버킷 내 객체에 대해 누가 어떤 작업을 할 수 있는지 정의하는 JSON 문서입니다. 참고 Sub Account 사용자가 이 명령어를 실행하려면 Change/PutBucketPolicy 액션 권한이 있어야 합니다. 버킷 정책은 버킷을 생성한 계정만 등록할 수 있으며, 다른 계정에는 버킷 정책으로 이 권한을 위임할 수 없습니다. 참고 버킷 정책에 대해 다음 내용을 참고해 주십시오. - 공개 정책은 `BlockPublicPolicy`가 켜져 있으면 저장되지 않고, `RestrictPublicBuckets`가 켜져 있으면 저장되어도 익명 요청과 다른 계정의 요청에 적용되지 않습니다. 버킷을 공개하려면 [put-public-access-block](/docs/put-public-access-block)으로 두 항목을 모두 해제해 주십시오. - 모든 요청에 대해 거부(`Deny`)는 허용(`Allow`)보다 우선합니다. - 자기 계정의 요청을 차단하는 정책을 등록한 경우에도 버킷을 생성한 계정의 메인 계정은 정책을 등록할 수 있습니다. Sub Account 사용자는 차단 정책의 적용을 받습니다. ## 구문 `put-bucket-policy` 구문은 다음과 같습니다. ``` aws s3api put-bucket-policy \ --bucket \ --policy \ [--content-md5 ] \ [--checksum-algorithm ] \ --endpoint-url ``` ## 옵션 `put-bucket-policy` 실행 시 지정할 수 있는 옵션을 설명합니다. ### 필수 옵션 `put-bucket-policy`의 필수 옵션입니다. | 옵션 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `--bucket` | String | Required | 버킷 이름 | | `--policy` | String | Required | 버킷 정책 문서 - [구문](/docs/put-bucket-policy#policy%EA%B5%AC%EB%AC%B8) 참조 - 최대 크기: 20KB | #### `--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 | 요청 데이터 검증에 사용할 체크섬 알고리즘 - `CRC32` \| `CRC32C` \| `SHA1` \| `SHA256` \| `CRC64NVME` | ### 공통 옵션 `aws` 명령에서 공통으로 사용하는 옵션에 대한 정보는 [Ncloud Storage 옵션](/docs/storage-ncloudstorage#%EC%98%B5%EC%85%98)을 참조해 주십시오. ## 예시 버킷 정책 등록 요청이 성공하면 정책이 적용되며 결과는 출력되지 않습니다. ### 명령 명령 예시는 다음과 같습니다. ``` aws s3api put-bucket-policy --bucket my-test-bucket \ --policy file://policy.json \ --endpoint-url=https://kr.ncloudstorage.com ``` ## 연관 명령어 연관 명령어는 다음과 같습니다. - [get-bucket-policy](/docs/get-bucket-policy) - [delete-bucket-policy](/docs/delete-bucket-policy) - [get-bucket-policy-status](/docs/get-bucket-policy-status) - [put-public-access-block](/docs/put-public-access-block)