PUT Object acl
既存のオブジェクトのACLを設定します。
この操作を行うユーザは、オブジェクトに対しWRITE_ACP権限を付与されていなければなりません。
リクエスト情報
シンタックス
PUT /{bucket name}/{object key}?acl HTTP/1.1 Host: s3api.iot.iij.jp Date: {date} Authorization: {authorization string} <AccessControlPolicy> <Owner> <ID>{owner's show ID}</ID> <DisplayName>{owner's email address}</DisplayName> </Owner> <AccessControlList> <Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"> <ID>{other account's show ID}</ID> <DisplayName>{other account's email address}</DisplayName> </Grantee> <Permission>{Permission}</Permission> </Grant> </AccessControlList> </AccessControlPolicy>
リクエストパラメータ
この操作ではリクエストパラメータは使用しません。
リクエストヘッダー
この操作では基本リクエストヘッダーに加え、以下のヘッダーを使用します。
この操作は、PUT Object と同様にアカウントやグループ(匿名ユーザなど)に対して Access Control List (ACL) を設定することができます。
Canned ACL で指定する場合
HTTPヘッダー | 説明 | 必須 |
---|---|---|
x-iijgio-acl | オブジェクトのACLを設定する
| × |
詳細に指定する場合
より詳細に ACL を設定する場合は以下のリクエストヘッダーを指定してください。
HTTPヘッダー | 説明 | 必須 |
---|---|---|
x-iijgio-grant-read | このオブジェクトの閲覧を許可するアカウントまたはグループのリスト
| × |
x-iijgio-grant-read-acp | オブジェクトACLの参照を許可するアカウントまたはグループのリスト
| × |
x-iijgio-grant-write-acp | オブジェクトACLの設定を許可するアカウントまたはグループのリスト
| × |
x-iijgio-grant-full-control | このオブジェクトに対して全ての権限を付加するアカウントまたはグループのリスト
| × |
設定するアカウントまたはグループはそれぞれ type=value 形式で指定します。 type には以下のいずれかを指定できます。
- emailAddress: アカウントのメールアドレス
- id: アカウントの Show ID
url: グループを示す以下のURL
http://acs.dag.iijgio.com/groups/global/AllUsers
匿名ユーザも含め、すべてのユーザを表すグループ
x-iijgio-grant-read ヘッダーを指定する例:
x-iijgio-grant-read: emailAddress="taro@dag.iijgio.com", emailAddress="jiro@dag.iijgio.com
リクエストエレメント
この操作では以下のリクエストエレメントを使用します。リクエストエレメントを使用する場合は、リクエストヘッダーでACLを指定することはできません。
名前 | 説明 | 必須 |
---|---|---|
AccessControlList | Grantを含むコンテナ
| × |
AccessControlPolicy | AccessControlList、Ownerを含むコンテナ
| × |
DisplayName | オブジェクト所有者の表示名または権限付与対象者の表示名
| × |
Grant | GranteeとPermissionを含むコンテナ
| × |
Grantee | 権限付与の対象についての情報。DisplayName, IDを含むコンテナ
| × |
ID | オブジェクト所有者のID、または権限付与対象者のID
| × |
Owner | オブジェクト所有者の情報。DisplayNameとIDを含むコンテナ
| × |
Permission | Granteeに与える権限
| × |
Granteeの指定は以下の方法で行うことができます。
ID
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"> <ID>ID</ID> <DisplayName>GranteesEmail</DisplayName> </Grantee>
※この例では、ID が有効になるため GranteesEmail は無視されます。
E-mailアドレス
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="iijgioCustomerByEmail"> <EmailAddress>Grantees@email.com</EmailAddress> </Grantee>
URI
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group"> <URI>http://acs.dag.iijgio.com/groups/global/AllUsers<URI> </Grantee>
レスポンス情報
レスポンスヘッダー
この操作では基本レスポンスヘッダーを返します。
レスポンスエレメント
この操作はレスポンスエレメントを返しません。
エラー情報
この操作では以下のエラーを返します。
コード | ステータス | 内容 |
---|---|---|
InvalidAccessKeyId | 403 Forbidden | 指定のアクセスキーIDを持つユーザが存在しません。 |
SignatureDoesNotMatch | 403 Forbidden | 指定されたリクエストのシグネチャが一致しません。 |
AccessDenied | 403 Forbidden | バケットに対するREAD_ACP権限がありません。 |
NoSuchBucket | 404 Not Found | 指定のバケットが存在しません。 |
AmbiguousGrantByEmailAddress | 400 Bad Request | 指定のメールアドレスが、複数のアカウントに関連しています。 |
MalformedACLError | 400 Bad Request | 指定のXMLはwell-formedではない、またはこちらが提供しているスキーマに合っていません。 |
サンプル
既存のオブジェクトに新たなアクセス許可を追加するリクエストのサンプルです。ShowID 8a6925ce4adf588a45379004fef のアカウントに対して FULL_CONTROL 権限を与えます。
リクエスト
PUT /bucket/my-image.jpg?acl HTTP/1.1 Host: s3api.iot.iij.jp Date: Wed, 28 Oct 2009 22:32:00 GMT Authorization: IIJGIO 02236Q3V0WHVSRW0EXG2:0RQf4/cRonhpaBX5sCYVf1bNRuU= Content-Length: 124 <AccessControlPolicy> <Owner> <ID>8a6925ce4adf588e97f21c32aa379004fef</ID> <DisplayName>CustomersName@dag.iijgio.com</DisplayName> </Owner> <AccessControlList> <Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"> <ID>8a6925ce4adf588a45379004fef</ID> <DisplayName>CustomerName@dag.iijgio.com</DisplayName> </Grantee> <Permission>FULL_CONTROL</Permission> </Grant> </AccessControlList> </AccessControlPolicy>
レスポンス
HTTP/1.1 200 OK x-iijgio-id-2: eftixk72aD6Ap51T9AS1ed4OpIszj7UDNEHGran x-iijgio-request-id: 318BC8BC148832E5 Date: Wed, 28 Oct 2009 22:32:00 GMT Last-Modified: Sun, 1 Jan 2006 12:00:00 GMT Content-Length: 0 Connection: close Server: s3api.iot.iij.jp