📝

AWS Transfer Familyのドキュメントの誤りを直してもらった

2022/07/29に公開

AWS Transfer Familyのドキュメントに誤りがあったので、報告したら、直してもらえました。

下記のアクセスポリシーが修正対象なのですが、どこが誤りか分かりますか。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowListingOfUserFolder",
            "Action": [
                "s3:ListBucket"  
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::bucket_name"
            ]
        },
        {
            "Sid": "HomeDirObjectAccess",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:DeleteObject",
                "s3:DeleteObjectVersion",
                "s3:GetBucketLocation", 
                "s3:GetObjectVersion",
                "s3:GetObjectACL",
                "s3:PutObjectACL"
            ],
            "Resource": "arn:aws:s3:::bucket_name/*"
        }
    ]
}           

正解は arn:aws:s3:::bucket_name/* リソースに s3:GetBucketLocation アクションが指定されている点です。このアクションは、バケットのあるリージョンを返すものなので、バケットリソースを対象としなければなりません。

ということで、下記のように修正されました。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowListingOfUserFolder",
            "Action": [
                "s3:ListBucket",
                "s3:GetBucketLocation"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::bucket_name"
            ]
        },
        {
            "Sid": "HomeDirObjectAccess",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:DeleteObject",
                "s3:DeleteObjectVersion", 
                "s3:GetObjectVersion",
                "s3:GetObjectACL",
                "s3:PutObjectACL"
            ],
            "Resource": "arn:aws:s3:::bucket_name/*"
        }
    ]
}

ちなみに、誤りの報告は、ドキュメント末尾の「Provide feedback」リンクから行いました。


ここからフィードバックできる

今にして思えば、GitHubでプルリクエストを送ったほうが、自分が関与した記録が残ってよかったのかもしれません。また機会があったら試してみます。

Discussion