S3におけるオペレーションの種類
S3にIAMでポリシーを設定するとき、 Resource の値が <arn> のアクションもあれば、 <arn>/* でなければ適用されないアクションもある。具体的には ListBucket と GetObject がそれに当たる。
[ { "Effect": "Allow", "Action": ["s3:ListBucket"], "Resource": ["arn:xxxx"] }, { "Effect": "Allow", "Action": ["s3:GetObject"], "Resource": ["arn:xxxx/*"] }]この違いは、アクションが バケットオペレーション なのか オブジェクトオペレーション なのかによって異なる。
オブジェクトオペレーション
Section titled “オブジェクトオペレーション”バケットに含まれるオブジェクトを操作するためのオペレーション。この場合はオブジェクトに割り当てる必要があるため、 <arn>/* 形式の指定が必要となる。
バケットオペレーション
Section titled “バケットオペレーション”バケットそのものを操作するためのオペレーション。バケット自体を扱うため、 <arn> だけで足りる。
バケットサブリソースオペレーション
Section titled “バケットサブリソースオペレーション”バケットオペレーションの一種だが、バケットのサブリソース(プロパティ等)を操作するオペレーション。