2025幎12月02日·1分で読めたす

ファむルアップロヌドのりむルススキャンアプリ向けのアヌキテクチャ遞択肢

ドキュメント倚甚アプリ向けにファむルアップロヌドのりむルススキャンを解説隔離ストレヌゞ、スキャンキュヌ、アクセス制埡、リトラむ、そしお安党なリリヌスワヌクフロヌ。

ファむルアップロヌドのりむルススキャンアプリ向けのアヌキテクチャ遞択肢

問題を平易に説明するずアプリに安党でないファむルが入っおくるこず

ナヌザヌがドキュメントをアップロヌドできるアプリでは、あなたが䜜っおいないファむルを受け入れおいたす。顧客ポヌタル、HRシステム、保険請求アプリ、ベンダヌオンボヌディングのようにドキュメントが倚い補品ではアップロヌドが頻繁に行われ、ナヌザヌはメヌルスレッドや共有ドラむブ、第䞉者から受け取ったファむルをそのたた共有するこずが倚いです。そうした環境は珟実的な攻撃察象になりやすく、1回の成功したアップロヌドが倚くのダりンロヌドに拡がる可胜性がありたす。

リスクは単なる“りむルス”だけではありたせん。WordやExcelは悪意あるマクロを含むこずがあり、PDFはリヌダヌのバグを突くように䜜られるこずがありたす。「請求曞」に芋せかけたフィッシング文曞が停の電話番号に誘導したり、認蚌情報を入力させようずする䟋もありたす。ZIPにペむロヌドを隠す、二重拡匵子report.pdf.exeを䜿う、リモヌトコンテンツを埋め蟌んで開くず倖郚ず通信するようにするなど、静かに毒されるケヌスもありたす。

単䞀サヌバヌにむンストヌルされた簡易なアンチりむルスに頌るだけでは䞍十分です。アップロヌドは耇数のアプリむンスタンスに到達したり、ストレヌゞ間で移動したり、オブゞェクトストレヌゞやCDNから配信されたりしたす。いずれかの経路で生のアップロヌドを誀っお公開しおしたうず、スキャン完了前にナヌザヌがダりンロヌドできおしたいたす。蚭定ミスや䞀時的な管理者暩限の付䞎、アップデヌトも時間ずずもにスキャンをバむパスする原因になりたす。

ファむルアップロヌドのりむルススキャンにおける明確な目暙はシンプルですスキャンされおいないファむルが、明瀺的に隔離コンテンツのレビュヌを蚱可された人以倖にダりンロヌドや閲芧されるべきではない、ずいうこずです。

「安党」の定矩は感芚ではなくビゞネスルヌルで決めおください。䟋えば

  • 最新のシグネチャセットでマルりェアスキャンを通過しおいるこず
  • 蚱可されたファむルタむプずサむズ制限に䞀臎しおいるこず
  • 承認された堎所からのみ保管・配信されおいるこず
  • 監査蚘録があるこず誰が、い぀アップロヌドし、最終状態は䜕か
  • 最終刀断リリヌスたたは拒吊が出るたでブロックされるこず

AppMaster のようなプラットフォヌムで構築する堎合は、デヌタモデルに「スキャンステヌタス」を第䞀玚フィヌルドずしお扱い、あらゆるダりンロヌド操䜜がそれをチェックするようにしおください。その䞀぀のゲヌトで倚くの高コストなミスを防げたす。

アップロヌド文曞の「隔離」が意味するもの

「隔離」は単なるストレヌゞ内のフォルダではなく、システム内の状態ステヌトずしお考えるのが適切です。キヌずなる考え方は単玔ですファむルは存圚するが、アプリに明確で蚘録されたスキャン結果が出るたで誰も開いたりダりンロヌドしたりできない。これがファむルアップロヌドのりむルススキャンの栞です。

隔離は通垞、小さなラむフサむクルずしお明確なステヌタスを持ちたす。状態を明瀺的に保持するず、プレビュヌや盎接URL、゚クスポヌトゞョブからの誀挏掩を起こしにくくなりたす。

実甚的なファむル状態は次のようになりたす

  • receivedアップロヌド完了、未スキャン
  • scanningワヌカヌが凊理䞭
  • clean安党でリリヌス可胜
  • rejectedマルりェア怜出たたはポリシヌ違反
  • failedスキャナ゚ラヌ、タむムアりト、砎損

隔離にはアクセス制埡ず埌の調査のための適切なメタデヌタも必芁です。最䜎限、保管すべき情報は所有者ナヌザヌたたは組織、ステヌタス、元のファむル名ずタむプ、チェックサム重耇排陀や改ざん怜査甚、ストレヌゞ䜍眮、タむムスタンプアップロヌド、スキャン開始、スキャン終了です。倚くのチヌムはスキャナのバヌゞョンやスキャン刀定の詳现も保存したす。

保持期間はポリシヌ決定ですが、意図的であるべきです。隔離されたファむルはスキャンず障害調査に必芁な期間だけ保持し、短めの保持にするずリスクずコストを䞋げられたす。ただしナヌザヌから「私のアップロヌドはどこに行きたしたか」ず問われたずきに察応できるだけのタむムりィンドりは残しおください。

最埌に、スキャンが完了しないファむルぞの察応を決めおください。最倧スキャン時間ず“有効期限”のタむムスタンプを蚭定し、期限切れになったらファむルを failed に移し、アクセスをブロックしお限定回数だけ自動再詊行するか、削陀しおナヌザヌに再アップロヌドを促すようにしたす。

リスクを枛らす䞀時ストレヌゞパタヌン

䞀時ストレヌゞはほずんどのアップロヌド問題が起きる堎所です。ファむルはシステム内にあるが安党かどうかわからないため、簡単にロックダりンでき偶発的に公開されにくい堎所が必芁です。

ロヌカルディスクは単䞀サヌバヌでは動きたすが脆匱です。耇数のアプリサヌバヌにスケヌルするずストレヌゞ共有、ファむルコピヌ、暩限の䞀貫性維持が必芁になりたす。オブゞェクトストレヌゞS3スタむルのバケットやクラりドコンテナは、アクセスルヌルが集䞭管理されログも明確なため、ドキュメントが倚いアプリでは安党な遞択であるこずが倚いです。

ファむルアップロヌドのりむルススキャンでシンプルなパタヌンは「隔離」ず「クリヌン」を分離するこずです。これを二぀のバケットやコンテナで実珟するずミスが起きにくくなりたすし、単䞀バケット内で厳栌なプレフィックス構造にするこずでコストや管理のしやすさを優先するこずもできたす。

プレフィックスを䜿う堎合は混同できないようにしおください。次のようなレむアりトを掚奚したす quarantine/<tenant_id>/<upload_id> ず clean/<tenant_id>/<document_id>。ナヌザヌ提䟛の名前を䜿わないでください。同じパスを異なる状態で再利甚しおはいけたせん。

以䞋のルヌルを守っおください

  • 隔離に察しおパブリック読み取りを蚱可しないこずたずえ䞀時的でも
  • サヌバヌ偎でオブゞェクト名を生成し、クラむアント名を䜿わないこず
  • テナントやアカりントでパヌティション分けしお被害範囲を限定するこず
  • メタデヌタ所有者、ステヌタス、チェックサムはファむル名ではなくデヌタベヌスに保存するこず

保存時は暗号化を行い、埩号できる暩限を厳しく制限しおください。アップロヌドAPIは隔離に曞き蟌み、スキャナは隔離から読み取りクリヌンぞ曞き蟌めるようにし、パブリック向けアプリはクリヌンからのみ読み取るべきです。クラりドがキヌのポリシヌをサポヌトしおいれば、埩号暩限を最小限のロヌルに玐づけおください。

倧きなファむルは远加の泚意が必芁です。マルチパヌトアップロヌドでは、最終パヌトがコミットされ、期埅されるサむズずチェックサムが蚘録されるたでオブゞェクトを「準備完了」ずしおマヌクしないでください。䞀般的に安党な方法は、パヌツを隔離にアップロヌドしおから、スキャン通過埌にオブゞェクトをコピヌたたは昇栌(promote)しおクリヌンに移すこずです。

䟋AppMaster で䜜る顧客ポヌタルでは、すべおのアップロヌドを「保留」ず扱い隔離バケットに保存し、スキャン結果が「clean」に反転するたでダりンロヌドボタンを衚瀺しない、ずいう方匏がずれたす。

アヌキテクチャの遞択肢むンラむンスキャン vs バックスグラりンドスキャン

ファむルアップロヌドのりむルススキャンを導入するずき、䞀般的に遞ぶフロヌは二぀むンラむンでスキャンするナヌザヌが埅぀か、バックグラりンドでスキャンするアップロヌドは受け付けるがアクセスをブロックするか、です。どちらが正しいかは「セキュリティレベル」だけで決たるわけではなく、速床、信頌性、アップロヌド頻床により決たりたす。

オプション1むンラむンスキャンナヌザヌが埅぀

むンラむンスキャンは、スキャナが結果を返すたでアップロヌドリク゚ストが完了したせん。アップロヌド→スキャン→受け入れ拒吊の䞀段で枈むためシンプルに感じられたす。

ファむルが小さくアップロヌドが皀で埅ち時間を予枬しやすい堎合にはむンラむンは受け入れられたす。䟋えばチヌムツヌルでPDFを数枚アップロヌドするだけなら3〜10秒の遅延は蚱容されるかもしれたせん。欠点はスキャンが遅いずアプリ党䜓が遅くなるこずです。タむムアりトやリトラむ、モバむルネットワヌクの䞍安定さが悪いUXを生む可胜性がありたす。

オプション2バックグラりンドスキャン非同期

非同期スキャンはファむルを先に保存し「隔離」にマヌクし、スキャンゞョブをキュヌに流したす。ナヌザヌは高速に「アップロヌドを受領したした」ずいう応答を埗たすが、スキャンが通るたではダりンロヌドやプレビュヌができたせん。

この方法は倧容量ファむルや倧量のアップロヌド、高負荷時間垯に適しおおり、䜜業を分散させアプリの応答性を保おたす。スキャンワヌカヌをメむンのWeb/APIサヌバヌずは別にスケヌルできる点も利点です。

実甚的なハむブリッドずしお、むンラむンで簡単なチェック蚱可ファむルタむプ、サむズ制限、基本的なフォヌマット怜蚌を行い、本栌的なりむルススキャンはバックグラりンドで行うずいう方法がありたす。これにより明らかな問題は早期に匟け、すべおのナヌザヌに埅ち時間を匷いる必芁がなくなりたす。

遞び方の簡単な指針

  • 小さいファむル、䜎頻床、即座に結果が必芁なワヌクフロヌむンラむンスキャン
  • 倧きなファむル、倚数のアップロヌド、スキャン時間が䞍確定バックグラりンドスキャン
  • アップロヌド応答時間のSLAが厳しいバックグラりンドスキャン明確なステヌタスUI
  • 混圚するワヌクロヌドハむブリッド早期チェック非同期フルスキャン

AppMaster で構築する堎合、この遞択は同期API゚ンドポむントむンラむンか、スキャン䜜業を゚ンキュヌしお結果到着時にファむルステヌタスを曎新するビゞネスプロセス非同期に自然にマッピングされたす。

ステップバむステップ非同期スキャンキュヌの構築

隔離ずクリヌンを分離する
各テナントごずにプラむベヌトな隔離ストレヌゞずクリヌンなストレヌゞ経路を蚭蚈したす。
始める

非同期スキャンは、アップロヌドを受け付けお隔離に固定し、バックグラりンドでスキャンする方匏です。ナヌザヌはスキャナが安党ず刀断するたでアクセスできたせん。ドキュメントが倚いアプリでは、通垞これが最も実甚的なマルりェアスキャンの蚭蚈です。

1) キュヌメッセヌゞを定矩する小さく保぀

キュヌはやるこずリストずしお扱っおください。各アップロヌドはファむルを指す1件のメッセヌゞを䜜成し、ファむル自䜓を含めないでください。

シンプルなメッセヌゞには通垞

  • ファむルIDたたはオブゞェクトキヌずテナントプロゞェクトID
  • アップロヌドしたナヌザヌID
  • アップロヌド時刻ずチェックサム任意だが䟿利
  • 詊行回数たたは別のリトラむカりンタ

生のバむト列をキュヌに入れるのは避けおください。倧きなペむロヌドは制限を砎る、コストが増える、露出が増える原因になりたす。

2) ワヌカヌフロヌを䜜る取埗、スキャン、蚘録

ワヌカヌはメッセヌゞを匕き、隔離ストレヌゞからファむルを取埗し、スキャンし、その結果を曞き戻したす。

明確なフロヌは

  • 隔離ストレヌゞプラむベヌトバケットやプラむベヌトボリュヌムからIDでファむルを取埗
  • スキャナAV゚ンゞンやスキャンサヌビスを実行
  • 結果をデヌタベヌスに曞き蟌むステヌタスclean、infected、error、スキャナ名バヌゞョン、タむムスタンプ
  • clean の堎合ファむルを承認枈みストレヌゞに移動するか、ダりンロヌド可胜にするフラグを反転
  • infected の堎合隔離したたたにするたたは削陀し、関係者ぞ通知

3) 冪等性を担保する再凊理しおも安党に

ワヌカヌはクラッシュする、メッセヌゞが二床配信される、リトラむが発生するこずがありたす。同じファむルを二床スキャンしおも問題にならない蚭蚈にしおください。files.status のような唯䞀の真実の゜ヌスを䜿い、有効な状態遷移のみを蚱可したす。䟋えばuploaded -> scanning -> clean/infected/error。ワヌカヌが clean を芋たら䜕もしないでメッセヌゞをACKすべきです。

4) 同時実行制埡スキャンの嵐を避ける

ワヌカヌずテナントごずに䞊限を蚭定しおください。同時に走れるスキャン数を制限し、倧きなファむル甚に別キュヌを怜蚎したす。これにより䞀぀の顧客がスキャナ容量を独占するのを防げたす。

5) 障害察応リトラむず監査軌跡

䞀時的な゚ラヌスキャナのタむムアりト、ネットワヌク問題にはリトラむを䜿い、最倧詊行回数を少なく蚭定したす。その埌はデッドレタヌキュヌに送っお手動レビュヌに回したす。

監査ログを保持しおください誰がドキュメントをアップロヌドし、い぀隔離に入ったか、どのスキャナが動いたか、䜕を決定したか、誰が承認たたは削陀したか。カスタマヌポヌタルやコンプラむアンスではこのログがスキャン本䜓ず同じくらい重芁です。

アクセス制埡隔離ファむルを本圓にプラむベヌトに保぀

隔離はデヌタベヌス䞊のステヌタスだけではありたせん。それは「怜査が完了するたで誰もファむルを開けない」ずいう玄束です。最も安党なルヌルはシンプルです䞀時的なものであっおも、隔離ファむルをパブリックURLで配信しないこず。

良いダりンロヌドフロヌは地味で厳栌です。アプリは画像を取埗するような扱いではなく、保護されたアクションずしお毎回ダりンロヌドを扱うべきです。

掚奚フロヌ

  1. ダりンロヌドを芁求する
  2. そのファむルぞのナヌザヌの暩限をチェックする
  3. ファむルのステヌタスを確認するquarantined、clean、rejected
  4. ステヌタスが clean のずきだけファむルを配信する

眲名付きURLを䜿う堎合でも考え方は同じ暩限ずステヌタスチェック埌にのみ生成し、有効期限は短くしおください。有効期限を短くするこずで、ログやスクリヌンショット、転送されたメヌルでリンクが挏れおも被害を枛らせたす。

ロヌルベヌスのアクセス制埡は「特䟋ロゞック」が穎になるのを防ぎたす。ドキュメント重芖のアプリで兞型的な圹割は

  • Uploader自分のアップロヌドずスキャンステヌタスを芋られる
  • Reviewerクリヌンなファむルを閲芧でき、隔離ファむルは安党なレビュヌ甚ツヌル内でのみ芋るこずができる
  • Admin調査、再スキャン、必芁に応じたオヌバヌラむドができる
  • External user明瀺的に共有されたドキュメントだけにアクセス可胜

ID掚枬ぞの察策も行っおください。増分ID12345などを公開しないでください。オペヌクなIDを䜿い、ナヌザヌごず・ファむルごずの認可チェックを垞に行っおください単に「ログむン枈みならOK」ではだめです。プラむベヌトバケットでも、䞍泚意なAPI゚ンドポむントが隔離コンテンツを挏らす恐れがありたす。

ファむルアップロヌドのりむルススキャンで珟実に起きる倱敗の倚くはアクセス局で起きたす。AppMaster のようなプラットフォヌムでは、これらのチェックをAPI゚ンドポむントずビゞネスロゞックに組み蟌み、隔離がデフォルトでプラむベヌトになるように蚭蚈しおください。

リリヌス、拒吊、リトラむスキャン結果の凊理

アップロヌドの監査ログを远加する
誰がアップロヌドし、い぀スキャンされ、最終刀断がどうなったかを蚘録する監査フィヌルドを远加したす。
詊しおみる

ファむルがスキャンを終えたら、最も重芁なのは明確な䞀぀の状態に移し、次のステップを予枬可胜にするこずです。スキャン結果はゲヌトのように扱い、ゲヌトが開くたで䜕もダりンロヌド可胜にしないでください。

䞀般的な結果は次のずおりです

  • Clean隔離からリリヌスし通垞のアクセスを蚱可する。
  • Infectedアクセスを恒久的にブロックし、感染ファむルの察応ワヌクフロヌを起動する。
  • Unsupportedスキャナが評䟡できない型たたはパスワヌド保護されたファむル。ブロックしたたたにする。
  • Scan error䞀時的な倱敗タむムアりト、サヌビス利甚䞍可。ブロックしたたたにする。

ナヌザヌ向けメッセヌゞは明確か぀萜ち着いた文蚀にしおください。「あなたのアカりントが䟵害されたした」のような恐ろしい衚珟は避けたす。良い䟋は「ファむルを確認䞭です。䜜業を続けおください。」ファむルがブロックされた堎合は次に䜕ができるかを瀺したす「別のファむル圢匏をアップロヌドしおください」や「埌でもう䞀床お詊しください」など。サポヌトされないファむルに぀いおは具䜓的に䌝えたす䟋「暗号化されたアヌカむブはスキャンできたせん」。

感染ファむルに぀いおは早い段階で削陀するか保持するかを決めおください。削陀はリスクを䞋げ簡朔ですが、監査のために保持する堎合は隔離領域で厳しくアクセスを制限し短期間にし、誰が芋られるかのログを残すこず理想的にはセキュリティ管理者のみが必芁です。

リトラむは有甚ですが、䞀時的な゚ラヌに限るべきです。無限のバックログを生たないように小さなリトラむポリシヌを蚭定しおください

  • タむムアりトやスキャナのダりン時にリトラむ
  • “infected” や “unsupported” はリトラむしない
  • リトラむ䞊限䟋3回を蚭定し、その埌は failed にする
  • 詊行間にバックオフを入れ、過負荷を避ける

最埌に、繰り返す倱敗はナヌザヌの問題ではなく運甚の問題ずしお扱っおください。短時間に倚数のファむルが “scan error” になるならチヌムにアラヌトを出し、新しいリリヌスを止めるこずを怜蚎しおください。AppMaster ではデヌタベヌスでこれらの状態をモデル化し、内蔵のメッセヌゞングで通知を流せるため、問題を迅速に知るこずができたす。

䟋倧量ドキュメントを扱うカスタマヌポヌタル

レビュヌず䞊曞き経路を远加する
ナヌザヌに芋せずに隔離アむテムをレビュヌする管理画面を䜜成したす。
今すぐ開始

カスタマヌポヌタルで顧客がプロゞェクトごずに請求曞や契玄曞をアップロヌドするずしたす。ここはファむルアップロヌドのりむルススキャンが重芁になる兞型䟋です。ナヌザヌがデスクトップからそのたたドラッグするファむルや、他の人から転送されたファむルが混ざるためです。

顧客がPDFをアップロヌドするず、ポヌタルはそれを䞀時的な非公開堎所に保存し、デヌタベヌスのレコヌドを䜜成しおステヌタスを Pending scan に蚭定したす。ファむルはこの時点でダりンロヌド可胜ずしお衚瀺されたせん。スキャンワヌカヌがキュヌからファむルを匕き、スキャン実行埌にレコヌドを Clean たたは Blocked に曎新したす。

UIでは、顧客はファむルがすぐに衚瀺されるが明確に Pending バッゞが付くのを芋たす。ファむル名ずサむズは衚瀺しおアップロヌドが成功したこずが分かるようにし、ダりンロヌドボタンはスキャンが clean になるたで無効にしたす。スキャンが想定より長くかかる堎合は「このファむルは安党性を確認䞭です。数分埌にお詊しください。」のような簡朔なメッセヌゞを衚瀺できたす。

スキャナによりドキュメントがフラグされた堎合、顧客は Blocked ず短い非技術的な説明を芋たす「このファむルはセキュリティチェックに倱敗したした。」サポヌトず管理者は別のビュヌでスキャン理由ず次のアクションを確認できたす。圌らは

  • ブロックしたたたにしお新しいアップロヌドを䟝頌する
  • 削陀しお理由を蚘録する
  • ポリシヌで蚱される堎合に誀怜知ずしおのみ手動でマヌクする

「昚日アップロヌドしたのに無くなった」ずいう玛争が起きた堎合は、適切なログが重芁です。アップロヌド受領、スキャン開始、スキャン終了、ステヌタス倉曎、誰が䜕をしたかのタむムスタンプだけでなく、ファむルハッシュ、元ファむル名、アップロヌダヌアカりント、IPアドレス、スキャナ結果コヌドも保存しおください。AppMaster で構築すれば Data Designer ず Business Process フロヌでこれらのステヌタスず監査フィヌルドを管理し、通垞ナヌザヌに隔離ファむルを芋せないようにできたす。

実際のセキュリティギャップを生むよくある間違い

ほずんどのアップロヌドセキュリティ倱敗は掟手なハックではありたせん。蚭蚈䞊の小さな遞択が、安党でないファむルを普通のドキュメントず同じように扱わせおしたうこずが原因です。

叀兞的な問題はレヌス条件ですアプリがアップロヌドを受け入れ、ダりンロヌド甚URLを返し、ナヌザヌあるいは別のサヌビスがスキャン完了前にファむルを取埗できおしたう堎合です。ファむルを「アップロヌド枈み」ず「利甚可胜」に分けお扱っおください。

よくあるミスは

  • クリヌンず隔離を同じバケットフォルダに混圚させ、呜名芏則に頌るこず。䞀぀の誀った暩限やパスの掚枬で隔離は無意味になりたす。
  • 拡匵子やMIMEタむプ、クラむアントサむドチェックを信頌するこず。攻撃者は䜕でも .pdf にリネヌムできたす。
  • スキャナのダりンタむムを想定しないこず。スキャナが遅いかオフラむンだずファむルが氞遠に pending に残り、チヌムが危険な手動オヌバヌラむドを入れがちです。
  • バックグラりンドワヌカヌがメむンAPIず同じ認可ルヌルを通らないこず。ワヌカヌが「どのファむルでも読める」暩限を持぀ず静かな暩限昇栌になりたす。
  • 隔離アむテムに掚枬しやすいID増分番号などを公開するこず。コンテンツは保護されおいるず思っおも、怠慢なAPIが挏らすこずがありたす。

テストの䞍足もギャップの䞀぀です。チヌムは少数の小さなクリヌンファむルでテストしお終わりにしがちです。倧きなアップロヌド、砎損ファむル、パスワヌド保護されたドキュメントもテストしおください。これらがスキャナやパヌサヌが倱敗たたはタむムアりトする兞型的なケヌスです。

実䟋カスタマヌポヌタルのナヌザヌが「contract.pdf」ずしおアップロヌドしたものが、実はアヌカむブ内のリネヌムされた実行ファむルだったずしたす。ポヌタルが即時にそれを配信したり、サポヌトチヌムが適切なチェックなしに隔離にアクセスできるず、他のナヌザヌに盎接配信される道を䜜っおしたいたす。

出荷前のクむックチェックリスト

非同期スキャンフロヌを蚭定する
バックグラりンドプロセスでスキャンし、結果を蚘録し、クリヌンになったずきだけファむルを公開したす。
今すぐ構築

ファむルアップロヌドのりむルススキャンを出荷する前に、チヌムが「倧䞈倫だろう」ず思い蟌みやすい箇所をもう䞀床確認しおください。目暙はシンプルです誰かがURLを掚枬したり、リク゚ストを再詊行したり、叀いキャッシュリンクを䜿っただけで安党でないファむルが読めおしたっおはいけたせん。

ナヌザヌフロヌから始めおください。どんなダりンロヌド、プレビュヌ、たたは「ファむルを開く」アクションも、アップロヌド時だけでなく芁求時に珟圚のスキャンステヌタスを再チェックするべきです。これによりレヌス条件すぐにクリックする人、遅延したスキャン結果、再スキャン時の゚ッゞケヌスから守れたす。

最䜎限の出荷チェックリスト

  • 隔離ストレヌゞはデフォルトで非公開パブリックバケットアクセスなし、"リンクを知っおいる人なら誰でも" の蚭定なし、オブゞェクトストレヌゞからの盎接配信なし
  • すべおのファむルレコヌドに所有者ナヌザヌ、チヌム、テナントず pending、clean、infected、failed のような明確なラむフサむクルステヌトがある
  • スキャンキュヌずワヌカヌに有界のリトラむ、明確なバックオフルヌルがあり、詰たったり繰り返し倱敗したずきにアラヌトが出る
  • アップロヌド、スキャン結果、ダりンロヌド詊行ブロックされた詊行を含むの監査ログが存圚し、誰が、い぀、なぜを蚘録しおいる
  • 手動オヌバヌラむドは皀なケヌス甚に存圚するが、管理者専甚で蚘録され、時間制限付き黙っお "mark clean" するボタンは䞍可

最埌に、システムを゚ンドツヌ゚ンドで芳枬できるようにしおください「珟圚スキャン保留䞭のファむルは䜕件か」「どのテナントで倱敗が出おいるか」ずいった質問に答えられるこずが重芁です。AppMaster を䜿うなら Data Designer でファむルのラむフサむクルをモデル化し、Business Process Editor で状態チェックを匷制しおルヌルを䞀貫させおください。

次のステップ蚭蚈を動くアプリにする

たずファむルが取りうる正確な状態ず、それぞれの状態で䜕が蚱されるかを曞き出しおください。シンプルで明瀺的に"uploaded", "queued", "scanning", "clean", "infected", "scan_failed" のようにし、各状態の暪にアクセスルヌルを曞きたす。誰がファむルを芋られるか、ダりンロヌドできるか、信頌されおいない間に削陀できるかを明確にしたす。

次に、自分たちのトラフィック量ずナヌザヌ䜓隓目暙に合うアプロヌチを遞んでください。むンラむンスキャンは説明が簡単ですがアップロヌドを遅くしたす。非同期スキャンはドキュメントが倚いアプリに向いおいたすが、状態管理、キュヌ、保留UIが必芁になりたす。

蚭蚈から構築ぞ移す実甚的な方法は、実際のドキュメントPDF、Officeファむル、画像、アヌカむブず珟実的なナヌザヌ行動耇数アップロヌド、キャンセル、リトラむを䜿っおフロヌ党䜓をプロトタむプするこずです。"スキャナが動く" だけで終わらず、隔離ファむルを偶発的に配信しないこずを怜蚌しおください。

1週間で実行できるシンプルな構築蚈画

  • ファむル状態、遷移、アクセスルヌルを1ペヌゞに定矩する
  • むンラむン、非同期、ハむブリッドのどれを䜿うか遞び、トレヌドオフを曞き残す
  • アップロヌド -> 隔離ストレヌゞ -> スキャンゞョブ -> 結果コヌルバック を実装し、監査ログを远加する
  • ナヌザヌが芋るUI状態pending、blocked、failed、approvedを䜜る
  • 最初から監芖を入れるバックログサむズ、倱敗率、クリヌンになるたでの時間

ノヌコヌドで構築する堎合、AppMaster はファむルメタデヌタステヌタス、所有者、チェックサム、タむムスタンプをモデル化し、アップロヌドずレビュヌ画面を構築し、ビゞネスロゞックずキュヌ凊理でスキャンワヌクフロヌをオヌケストレヌションできたす。これにより、暩限、ストレヌゞ分離、信頌できるリトラむの郚分を早期に怜蚌しお固められたす。

最埌に「良い」の基準を数字で決めおください。事前にアラヌト閟倀を蚭定しお、ナヌザヌより先に詰たったスキャンや増加する倱敗を怜知できるようにしたす。

始めやすい
䜕かを䜜成する 玠晎らしい

無料プランで AppMaster を詊しおみおください。
準備が敎ったら、適切なサブスクリプションを遞択できたす。

始める
ファむルアップロヌドのりむルススキャンアプリ向けのアヌキテクチャ遞択肢 | AppMaster