- 印刷する
- PDF
PutObjectACL
- 印刷する
- PDF
概要
提供されるパラメータとともにオブジェクトにPUTリクエストを送ると、リクエストしたオブジェクトに適用するアクセス制御リスト(ACL)を作成します。
ACLを適用する場合、アカウントのIDやすでに作られたACL(基本ACL)を使ってストレージアカウント別に異なる権限集合を付与できます。
NaverクラウドプラットフォームのObject Storageサービスを利用中である会員を対象にバケットとオブジェクトへのアクセス権限を付与できます。
NaverクラウドプラットフォームのObject Storage利用申し込みを完了した会員はObject Storageで使えるIDが発行されます。
このIDはバケットとオブジェクトのアクセス権限を設定する時に使用されます。
また、認証なくアクセスができるようにpublic-read、public-write権限設定もできます。
次の表は権限種類と該当権限が付与された場合、可能なオペレーションを説明します。
権限 | バケットに付与された場合 | オブジェクトに付与された場合 |
---|---|---|
READ | バケットに属するオブジェクトリストが照会できます。 | オブジェクトデータとメタデータのreadが可能です。 |
WRITE | 新しいオブジェクトを作成するか、既存オブジェクトの上書きまたは削除が可能です。 | N/A |
READ_ACP | バケットの ACL照会が可能です。 | オブジェクトのACL照会が可能です。 |
WRITE_ACP | バケットの ACL設定が可能です。 | オブジェクトのACL設定が可能です。 |
FULL_CONTROL | READ、WRITE、READ_ACP、WRITE_ACP権限で、可能なすべてのオペレーションを実行できます。 | READ、WRITE、READ_ACP、WRITE_ACP権限で、可能なすべてのオペレーションを実行できます。 |
次の表はNaverクラウドプラットフォームの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.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.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を確認することはできるが、オブジェクト自体にはアクセスできないようにリクエストする例です。参考として3番目のアカウントにはすべての権限が付与されているため、同じオブジェクトの中ではすべてのオペレーションを実行できます。
PUT /example-bucket/queen-bee?acl= HTTP/1.1
Authorization: {authorization-string}
x-amz-date: 20161207T163315Z
Content-Type: text/plain
Host: kr.object.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