バックアップとアップロード用に別々のS3アクセスキーを作成しますか?

バックアップとアップロードに別々のBackblaze B2バケットを使用したいと考えています。Discourseが使用している2つのバケット以外のバケットにアクセスできないようにしたいです。

Backblazeでは、単一のバケットまたはすべてのバケットにアクセスするためのアプリケーションキーを作成できます。

しかし、私の知る限り、Discourseではアップロードとバックアップに同じS3認証情報を使用する必要があるため、その方法は存在しません。

何か見落としていることはありますか?

こんにちは :wave: ようこそ :slight_smile:

このトピックがお役に立てるかもしれません。

残念ながら、そうではありません。Backblazeの場合、例では(公開読み取り可能な)アップロードバケットの/backupsサブディレクトリにバックアップが配置されます。それを保護することは可能だと思いますが、それは良いアプローチではないようです。

AWSでバックアップとアセットのバケットに別々の権限を付与できるように、2つのロールを持つIAMユーザーを設定できました。各ロールは特定のバケットにスコープされ、特定の権限が付与されています。バックアップは、読み取りやリストではなく、プットのみに設定されていると思います。一方、アセットバケットはすべての機能を許可しています。

しかし、これはBackblazeのロール仕様の問題のように思えますが、正しいですか?権限は1つまたはすべてのバケットにしかアタッチできないようで、Discourseでの動作は、それらが同じ権限キーを共有しているということですか?

はい。Backblaze のアプリケーションキー権限の処理は、AWS よりも(劇的に)シンプルであるようです。

Backblaze の権限キーは、単一のバケットまたはオーナーのアカウント内のすべてのバケットへのアクセス権を持つようです。

そのため、Discourse の S3 インターフェイスは AWS S3 バケットには問題ありませんが、Backblaze B2 バケットにはそれほど適していません。

AWS を利用するか、別の Backblaze アカウントを作成することを検討してみてはいかがでしょうか。

「いいね!」 2

Backblaze でも同じ問題が発生しています。

このFAQ では、同じバケットを異なるパスで使用できると示唆されていますが、現在使用している Discourse のバージョン (3.4.0.beta3-dev) では、その設定を保存しようとするとエラーが発生します。