バージョン管理されたオブジェクトのアクセス許可の設定
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」を参照してください。