PutObjectACL
    • PDF

    PutObjectACL

    • PDF

    기사 요약

    개요

    제공되는 파라미터와 함께 오브젝트에 PUT 요청을 보내면 요청한 오브젝트에 적용할 접근 제어 목록(ACL)을 생성합니다.
    ACL을 적용하면 계정의 ID나 미리 만들어진 ACL(기본 ACL)을 사용하여 다른 권한 집합을 부여할 수 있습니다.
    네이버 클라우드 플랫폼 Object Storage 서비스를 이용 중인 회원을 대상으로 버킷과 오브젝트에 접근 권한을 부여할 수 있습니다.
    네이버 클라우드 플랫폼 Object Storage 이용신청을 완료한 회원은 Object Storage에서 사용할 수 있는 ID가 발급됩니다.
    이 ID는 버킷과 오브젝트의 접근 권한을 설정할 때 사용됩니다.
    또한 인증없이 접근 가능하도록 public-read, public-write 권한 설정도 가능합니다.

    다음 표는 권한 종류와 해당 권한이 부여된 경우 가능한 오퍼레이션을 설명합니다.

    권한버킷에 부여된 경우오브젝트에 부여된 경우
    READ버킷에 속한 오브젝트 목록 조회 가능오브젝트 데이터와 메타데이터의 읽기가 가능함
    WRITE새 오브젝트를 생성하거나 기존 오브젝트의 덮어쓰기 또는 삭제 가능N/A
    READ_ACP버킷의 ACL 조회 가능오브젝트의 ACL 조회 가능
    WRITE_ACP버킷의 ACL 설정 가능오브젝트의 ACL 설정 가능
    FULL_CONTROLREAD, WRITE, READ_ACP, WRITE_ACP 권한으로 가능한 모든 오퍼레이션 수행 가능READ, READ_ACP, WRITE_ACP 권한으로 가능한 모든 오퍼레이션 수행 가능

    다음 표는 네이버 클라우드 플랫폼 Object Storage에서 지원하는 기본 ACL을 설명합니다. 이 표에 언급되지 않은 값은 지원되지 않습니다.

    기본 ACL적용 대상설명
    private버킷, 오브젝트소유자에게 FULL_CONTROL 권한 부여 (default)
    public-read버킷, 오브젝트소유자에게 FULL_CONTROL 권한을 부여하고, 모든 사용자에게 READ 권한 부여
    public-read-write버킷, 오브젝트소유자에게 FULL_CONTROL 권한을 부여하고, 모든 사용자에게 READ와 WRITE 권한 부여
    authenticated-read버킷, 오브젝트소유자에게 FULL_CONTROL 권한을 부여하고, 인증된 사용자에게 READ 권한 부여

    오브젝트 레벨에서는 WRITE 권한을 부여할 수 없습니다(버킷 레벨에서만 가능).

    구문

    PUT https://{endpoint}/{bucket-name}/{object-name}?acl= # path style
    PUT https://{bucket-name}.{endpoint}/{object-name}?acl= # virtual host style
    

    예시

    요청 예시(기본 ACL)

    x-amz-acl 헤더와 기본 ACL 값을 전달하여 오브젝트에 ACL을 할당할 수 있습니다.

    PUT /example-bucket/queen-bee?acl= HTTP/1.1
    Authorization: {authorization-string}
    x-amz-date: 20161207T162842Z
    x-amz-acl: public-read
    Host: kr.object.fin-ncloudstorage.com
    

    응답 예시

    HTTP/1.1 200 OK
    Date: Wed, 07 Dec 2016 16:28:42 GMT
    Accept-Ranges: bytes
    x-amz-request-id: b8dea44f-af20-466d-83ec-2a8563f1617b
    Content-Length: 0
    

    요청 예시(기본 ACL, 업로드 요청)

    x-amz-acl 헤더와 기본 ACL 값을 전달하면 오브젝트를 업로드할 때 바로 ACL을 할당할 수 있습니다. 다음은 queen-bee 오브젝트 업로드 시 누구나 익명으로 접근할 수 있도록 공개 설정하는 예입니다.

    PUT /example-bucket/queen-bee HTTP/1.1
    Authorization: {authorization-string}
    x-amz-date: 20161207T162842Z
    x-amz-acl: public-read
    Host: kr.object.fin-ncloudstorage.com
    

    응답 예시

    HTTP/1.1 200 OK
    Date: Wed, 07 Dec 2016 16:28:42 GMT
    Accept-Ranges: bytes
    x-amz-request-id: b8dea44f-af20-466d-83ec-2a8563f1617b
    Content-Length: 0
    

    요청 예시(사용자 정의 ACL)

    다음은 사용자 정의 ACL을 지정하여 다른 계정으로 이름이 ‘queen-bee’인 오브젝트에 적용된 ACL을 확인할 수는 있지만 오브젝트 자체에는 접근할 수 없도록 요청하는 예입니다. 참고로 세 번째 계정에는 모든 권한이 부여되어 있으므로 동일한 오브젝트 내에서는 모든 오퍼레이션을 수행할 수 있습니다.

    PUT /example-bucket/queen-bee?acl= HTTP/1.1
    Authorization: {authorization-string}
    x-amz-date: 20161207T163315Z
    Content-Type: text/plain
    Host: kr.object.fin-ncloudstorage.com
    Content-Length: 564
    
    <?xml version="1.0" encoding="UTF-8"?>
    <AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
      <Owner>
        <ID>{owner-user-id}</ID>
        <DisplayName>OwnerDisplayName</DisplayName>
      </Owner>
      <AccessControlList>
        <Grant>
          <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser">
            <ID>{first-grantee-user-id}</ID>
            <DisplayName>{first-grantee-user-id}</DisplayName>
          </Grantee>
          <Permission>READ_ACP</Permission>
        </Grant>
        <Grant>
          <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser">
            <ID>{second-grantee-user-id}</ID>
            <DisplayName>{second-grantee-user-id}</DisplayName>
          </Grantee>
          <Permission>FULL_CONTROL</Permission>
        </Grant>
      </AccessControlList>
    </AccessControlPolicy>
    

    응답 예시

    HTTP/1.1 200 OK
    Date: Wed, 07 Dec 2016 17:11:51 GMT
    Accept-Ranges: bytes
    x-amz-request-id: ef02ea42-6fa6-4cc4-bec4-c59bc3fcc9f7
    Content-Length: 0
    

    이 문서가 도움이 되었습니까?

    What's Next
    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.