テストステ論

高テス協会会長が, テストステロンに関する情報をお届けします.

S3 ACL仕様

ACL(Access Control List)は, 対象へのアクセスを制御するための情報である. S3ではバケットとオブジェクトに対してサブリソースとしてACLを定義することが出来る.

ACLに関する仕様をまとめる:

  1. This implementation of the PUT operation adds an object to a bucket. You must have WRITE permissions on a bucket to add an object to it. (PUT Object)
  2. ACLの指定は, 作成時と作成後がある. バケット・オブジェクトともに, PUTにx-amz-aclを指定することでACLを指定出来る. (PUT Object)
  3. By default, all objects are private: only the owner has full control (PUT Object)
  4. The ACL of an object is set at the object version level. By default, PUT sets the ACL of the current version of an object. To set the ACL of a different version, use the versionId sub resource. (PUT Object ACL) : これは, 複数のバージョンがあった時に, 一般には, 各々が異なるACLを持つことを意味する. これは, あるクライアントが上書きPUTをした場合, 他のクライアントからいきなりアクセス不能になり得ることを意味する.
  5. When copying an object, you can optionally specify the accounts or groups that should be granted specific permissions on the new object. (PUT Copy)
  6. When copying an object, you can preserve most of the metadata (default) or specify new metadata. However, the ACL is not preserved and is set to private for the user making the request. (PUT Copy)
  7. When adding a new object, you can grant permissions to individual AWS accounts or predefined Amazon S3 groups. (PUT Object) : new objectに限定はされないと思う. 上書きPUTする時でも指定出来るはず