PUT Bucket acl
AllUsersグループ( http://acs.dag.iijgio.com/groups/global/AllUsers )に対してWRITE権限を付与した場合、匿名(anonymous)ユーザを含む全ての利用者が該当Bucketに対してObjectのアップロードができてしまいますのでご注意ください。 |
リクエスト情報
シンタックス
PUT /{bucket name}?acl HTTP/1.1 Host: s3api.iot.iij.jp Date: {date} Authorization: {signature string} <AccessControlPolicy> <Owner> <ID>{owner's canonical user 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 canonical user ID}</ID> <DisplayName>{other account's email address}</DisplayName> </Grantee> <Permission>{Permission}</Permission> </Grant> </AccessControlList> </AccessControlPolicy>
リクエストパラメータ
この操作ではリクエストパラメータは使用しません。
リクエストヘッダー
Canned ACL で指定する場合
HTTPヘッダー | 説明 | 必須 |
---|---|---|
x-iijgio-acl | バケットのACLを設定する
| × |
詳細に指定する場合
より詳細に ACL を設定する場合は以下のリクエストヘッダーを指定してください。
HTTPヘッダー | 説明 | 必須 |
---|---|---|
x-iijgio-grant-read | このバケットにおけるオブジェクト一覧の閲覧を許可するアカウントまたはグループのリスト
| × |
x-iijgio-grant-write | このバケットに対してオブジェクトの作成、上書き、削除を許可するアカウントまたはグループのリスト
| × |
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>
レスポンス情報
レスポンスヘッダー
この操作では基本レスポンスヘッダーのみ返します。
レスポンスエレメント
この操作はレスポンスエレメントを返しません。エラー情報
この操作では以下のエラーを返します。
表. PUT Bucket acl エラーコード一覧
コード | ステータス | 内容 |
---|---|---|
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 ではない、またはこちらが提供しているスキーマに合っていません。 |
サンプル
バケットのACLを設定するサンプル
リクエスト
PUT /quotes?acl HTTP/1.1 Host: s3api.iot.iij.jp Content-Length: 214 Date: Wed, 25 Nov 2009 12:00:00 GMT Authorization: IIJGIO 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE= <AccessControlPolicy> <Owner> <ID>8a6925ce4adf588a4f21c32aa379004fef</ID> <DisplayName>BucketOwnersEmail@dag.iijgio.com</DisplayName> </Owner> <AccessControlList> <Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"> <ID>8a6925ce47f21c32aa379004fef</ID> <DisplayName>BucketOwnersEmail@dag.iijgio.com</DisplayName> </Grantee> <Permission>FULL_CONTROL</Permission> </Grant> </AccessControlList> </AccessControlPolicy>
レスポンス
HTTP/1.1 200 OK x-iijgio-id-2: YgIPIfBiKa2bj0KMgUAdQkf3ShJTOOpXUueF6QKo x-iijgio-request-id: 236A8905248E5A01 Date: Wed, 01 Mar 2009 12:00:00 GMT