質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Amazon S3

Amazon S3 (Simple Storage Service)とはアマゾン・ウェブ・サービスが提供するオンラインストレージサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

2回答

7509閲覧

CloudBerry Explorer for Amazon S3でアップしたファイルに自動的にACL設定をしたい

chibi_kuma

総合スコア85

Amazon S3

Amazon S3 (Simple Storage Service)とはアマゾン・ウェブ・サービスが提供するオンラインストレージサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2017/03/16 02:01

編集2017/03/16 02:40

CloudBerry Explorer for Amazon S3(ver 5.0.3.79)を使用して、
Amazon S3 のバケットに画像をアップロードしています。

アップされた画像の確認の為に、
ウェブURLに記載されているアドレスをブラウザに入れてアクセスすると、
以下のように表示されて、画像が表示されません。

この XML ファイルにはスタイル情報が関連づけられていないようです。 以下にドキュメントツリーを表示します。 <Error> <Code>AccessDenied</Code> <Message>Access Denied</Message> <RequestId>(略)</RequestId> <HostId>(略)</HostId> </Error>

アップされた画像ファイル名を右クリックし、「ACL設定」で、
すべてのユーザー行の「読み込み」チェックをONにすると、
画像が表示できるようになります。

「CloudBerry Explorer for Amazon S3」は、
日付変更で並び替えしても、正しい並び順にならないので(これはバグ?)
新規にアップしたファイルが多いと、「ACL設定」を行う作業が大変面倒です。

画像ファイルをアップした時に自動で
チェックがONの状態にできないものでしょうか?

CloudBerry Explorer for Amazon S3

サーバーについて詳しくない為、教えていただきたく、
お願い申し上げます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

Cloudberryだけでは無理だと思います。

AWSコンソールを使える権限をお持ちであれば、対象バケットに対してポリシー設定をすれば解決できると思います。
匿名ユーザーへの読み取り専用アクセス許可の付与


日付変更で並び替えしても、正しい並び順にならないので(これはバグ?)

バグではなくそういう思想で作られているからです。

S3は、バケットとオブジェクト(フォルダとファイル)という概念で成り立っており
フォルダもファイルもバケット内のオブジェクトという認識しかできません。

ファイルをUPLOADすると、オブジェクトに参加するという感じになります。
ファイルとフォルダの違いは名前の後に【/】があったらフォルダとみなしているだけで
Cloudberryなどは、ごちゃごちゃに入ったオブジェクトのjsonをソートして見せているだけのため、時刻や名前で上手くソートできないのです。

ちなみに、ファイルアップロードの動きとしては、1つのデータセンターにアップロードされると
同時に2拠点のデータセンターにコピーしミラーリングします。
#ファイルやフォルダを削除できなかったり削除が遅いときがありますが、3拠点で完全に削除されるまで待っているためです。

投稿2017/03/29 07:27

編集2017/03/29 07:28
lazhuward

総合スコア1294

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

chibi_kuma

2017/03/30 10:04

lazhuwardさん、ご回答頂き誠にありがとうございました。 教えていただいた通り、バケットポリシーを設定した所、 Cloudberry から画像をアップしただけで、画像個別に「ACL設定」から読み取り権限を与えなくても、 ブラウザから画像にアクセスできるようになりました!! (ブラボー!) これで更新作業が楽になります…。本当にありがとうございました。 > S3は、バケットとオブジェクト(フォルダとファイル)という概念で成り立っており > フォルダもファイルもバケット内のオブジェクトという認識しかできません。 あー、そうだったんですね。 Cloudberry は、それを無理矢理、ツリー構造っぽく 見せかけてくれているのですね。 ずっとバグなんだと思っていました…。 勉強になりました。 お陰様で、無事希望通りの事が出来るようになりましたので、 これでこの質問をクローズさせていただきます。 ご回答いただいた皆様、本当にありがとうございました。 また、よろしくお願い申し上げます。
guest

0

個別のオブジェクトに対するアクセス許可を行うのではなく、S3バケットまるごと「すべてのユーザ」にアクセス許可を与えておけば…と思いましたが、両者は独立しているようなのでダメでした。

バケットに対するアクセス許可とオブジェクトに対するアクセス許可は完全に独立しています。

(参考)
http://docs.aws.amazon.com/ja_jp/AmazonS3/latest/UG/EditingPermissionsonanObject.html

アップと同時にアクセス許可付与mは実現不可ではないかもしれませんが、Lambdaなどと組合せての作り込みが必要になるかな、と思います。

ちなみに、AWSマネジメントコンソール上ではファイル名でのソートにしか対応していないので、CloudBerry Explorer for Amazon S3でも同様なのかと推測します。

もろもろあまりスマートな提案では無いですが、権限的に可能であれば、以下の対応で少しは作業が楽になるかな…というアイディアをひねり出しました。一助となれば幸いです。

  • 一時的にS3バケット内にフォルダ作成する
  • 新規画像ファイルを一時フォルダにアップロード
  • 一時フォルダ内で1つずつアクセス許可付与
  • ファイルまとめて切り取り、通常のフォルダに貼り付け

投稿2017/03/17 07:48

batchi

総合スコア172

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

chibi_kuma

2017/03/22 08:57

batchiさん、ご回答頂き、ありがとうございました。 御礼が大変遅くなり、誠に申し訳ありませんでした。 S3バケットのアクセス許可と、オブジェクトに対するアクセス許可は 別モノなのですね。 また、ファイル名でしか並び替えが出来ない件、 確かに、コンソール上はファイル名でしか並び替えが出来ないですね。 ただ、CloudBerry Explorer for Amazon S3 では、日付が取れているので、 その情報で並び替えてくれれば良さそうなんですけどね…。 その他のご提案もありがとうございました。 一時フォルダにアップし、そこでアクセス権を付与するという アイディアは素晴らしいですね。自分にはその発想がありませんでした。 早速試してみたのですが、アクセス権をつけた後で、 一時ファイルから本来アップすべき位置へファイルを移動させると、 またアクセス権が落ちてなくなってしまいました…。 くー、惜しい…! 引き続き、何か良い案がございましたら、 ご教授いただければと思います。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問