Amazon S3 のオブジェクトのアクセス許可は、バージョンレベルで設定されています。各バージョンには個々のオブジェクト所有者がいます。この所有者は、オブジェクトバージョンを作成する AWS アカウントです。したがって、同じオブジェクトの異なるバージョンに対して、異なるアクセス許可を設定することができます。これを行うには、PUT Object versionId acl
リクエストでアクセス権限を設定するオブジェクトのバージョン ID を指定する必要があります。ACL の使用の詳細と手順については、「Amazon S3 用 Identity and Access Management」を参照してください。
例 - オブジェクトバージョンに対するアクセス許可の設定
次のリクエストは、キー my-image.jpg
、バージョンID 3HL4kqtJvjVBH40Nrjfkd
に対して、被付与者 BucketOwner@amazon.com
の許可を FULL_CONTROL
に設定するものです。
PUT /my-image.jpg?acl&versionId=3HL4kqtJvjVBH40Nrjfkd HTTP/1.1
Host: bucket.s3.amazonaws.com
Date: Wed, 28 Oct 2009 22:32:00 GMT
Authorization: AWS AKIAIOSFODNN7EXAMPLE:0RQf4/cRonhpaBX5sCYVf1bNRuU=
Content-Length: 124
<AccessControlPolicy>
<Owner>
<ID>75cc57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a</ID>
<DisplayName>mtd@amazon.com</DisplayName>
</Owner>
<AccessControlList>
<Grant>
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser">
<ID>a9a7b886d6fd24a52fe8ca5bef65f89a64e0193f23000e241bf9b1c61be666e9</ID>
<DisplayName>BucketOwner@amazon.com</DisplayName>
</Grantee>
<Permission>FULL_CONTROL</Permission>
</Grant>
</AccessControlList>
</AccessControlPolicy>
同様に、特定のオブジェクトバージョンに対するアクセス許可を取得するには、GET Object versionId acl
リクエストでそのバージョン ID を指定する必要があります。デフォルトでは GET Object acl
はオブジェクトの最新バージョンに対するアクセス許可を返すため、バージョン ID を含める必要があります。
例 - 指定したオブジェクトバージョンに対するアクセス許可の取得
次の例では、Amazon S3 はキー my-image.jpg
、バージョン ID DVBH40Nr8X8gUMLUo
に対するアクセス許可を返します。
GET /my-image.jpg?versionId=DVBH40Nr8X8gUMLUo&acl HTTP/1.1
Host: bucket.s3.amazonaws.com
Date: Wed, 28 Oct 2009 22:32:00 GMT
Authorization: AWS AKIAIOSFODNN7EXAMPLE:0RQf4/cRonhpaBX5sCYVf1bNRuU
詳細については、「Amazon Simple Storage Service API リファレンス」の「GetObjectAcl」を参照してください。