Amazon AWS マネジメントコンソールを使用していくつかのファイルをアップロードしました。
エラーが発生しましたHTTP 403 Access denied
。 に権限を設定する必要があることがわかりましたview
。
バケット上のすべてのファイルに対してこれを実行するにはどうすればよいですか?
ファイルごとに権限を設定することは可能ですが、すべてのユーザーが閲覧できるようにする必要があるファイルが多数ある場合は時間がかかります。
ベストアンサー1
パブリックコンテンツを保存するバケットにバケットポリシー1を適用することをお勧めします。この方法なら、すべてのオブジェクトにACLを設定する必要はありません。以下は、バケット内のすべてのファイルをACLで保護するポリシーの例です。マイバケット公共。
{
"Version": "2008-10-17",
"Id": "http better policy",
"Statement": [
{
"Sid": "readonly policy",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::mybucket/sub/dirs/are/supported/*"
}
]
}
これ*
により"Resource": "arn:aws:s3:::mybucket/sub/dirs/are/supported/*"
再帰が可能になります。
1バケットポリシーはIAMポリシーとは異なることに注意してください。(IAMポリシーに含めようとするとエラーが発生しますPrincipal
。)バケットポリシーは、AWSウェブコンソールでバケットのルートに移動し、[プロパティ] > [アクセス許可]を展開することで編集できます。バケットのサブディレクトリにも[プロパティ] > [アクセス許可]がありますが、Edit bucket policy