// docs / baas security / supabase storage
Seicliosta slándála buicéid stórais Supabase: 22 mhír
Is fillteán tanaí thart ar bhuicéad atá comhoiriúnach le S3 agus an múnla céanna slándála ar leibhéal as as leis an mbunachar sonraí é Supabase Storage. Ciallaíonn sé sin go gcuireann na heachtraí RLS céanna a théann i bhfeidhm ar tháblaí isteach ar rochtain comhaid — agus cúpla ceann a bhaineann go sonrach le stóras a thagann chun cinn nuair a chuireann uirlisí códaithe AI uaslódálacha ar bun. Is seicliosta 22-mhír é seo thar chúig chuid: cumraíocht buicéid, polasaithe RLS, bailíochtú uaslódála, URLanna sínithe, agus sláinteachas oibríochta. Tá gach ceann acu infhíoraithe i níos lú ná 15 nóiméad.
Tá gach mír thíos riachtanach. Le haghaidh meicnic bhunúsach RLS, féach Scanóir RLS Supabase. Le haghaidh an aicme nochta eochrach in aice le stóras, féach Eochair an ról seirbhíse Supabase nochta in JavaScript.
Cumraíocht buicéid
Tosaigh leis na réamhshocruithe cearta. Sceitheann buicéad míchumraithe comhaid bíodh do RLS ceart nó ná bíodh.
- Réamhshocraigh gach buicéad go príobháideach. I bPainéal Supabase → Storage → Buckets, socraigh an toggle Public bucket as mura bhfuil cúis shainráite agat (sócmhainní margaíochta, avatáir phoiblí gan PII). Téann buicéid phoiblí thar RLS le haghaidh oibríochtaí léite — is féidir le haon duine a bhfuil ainm an bhuicéid aige liostáil agus íoslódáil.
- Socraigh teorainn chrua méid comhaid ar gach buicéad. Painéal → socruithe Buicéid → Teorainn méid comhaid. Is réamhshocrú ciallmhar é 50 MB d'uaslódálacha úsáideoirí; ardaigh é d'aon ghnó le haghaidh cásanna úsáide físeáin / comhaid mhóra. Gan teorainn, is féidir le huaslódáil mhailíseach amháin do chuóta stórais nó do bhandaleithead míosúil a ídiú.
- Cuir srian le cineálacha MIME ceadaithe in aghaidh an bhuicéid. Liosta cineálacha MIME ceadaithe — liosta sainráite a cheadaíonn, ní liosta a bhactann.
image/jpeg,image/png,image/webpdo bhuicéid íomhá-amháin. Ná ceadaightext/html,application/javascript, nóimage/svg+xmlriamh i mbuicéad ábhar úsáideora — feidhmíonn siad sa bhrabhsálaí nuair a fhreastalaítear orthu trí URL sínithe. - Úsáid buicéad amháin in aghaidh an chineáil ábhair, ní buicéad roinnte amháin. Is iad na socruithe in aghaidh an bhuicéid (méid, cineálacha MIME, polasaithe RLS) an grádán atá agat. Tá sé níos éasca buicéad
user-avatars, buicéaddocument-uploads, agus buicéadpublic-assetsa ghlasáil ná buicéad measctha amháin. - Fíoraigh cumraíocht CORS má dhéanann an t-éadan uaslódáil. Má dhéanann úsáideoirí uaslódáil go díreach ón mbrabhsálaí chuig URL sínithe, ní mór don CORS buicéid do bhunáit táirgthe a liostáil. Tá
*inghlactha le haghaidh buicéid phoiblí amháin — riamh le haghaidh buicéid ina bhfuil PII úsáideoirí.
Polasaithe RLS ar storage.objects
Stórálann Supabase Storage meiteashonraí comhaid sa tábla storage.objects. Rialaíonn RLS ar an tábla sin cé atá in ann comhaid a léamh, a uaslódáil, a nuashonrú, nó a scriosadh. Gan RLS, is é bratach poiblí/príobháideach an bhuicéid do chosaint amháin.
- Deimhnigh go bhfuil RLS cumasaithe ar storage.objects. Caithfidh
SELECT rowsecurity FROM pg_tables WHERE schemaname = 'storage' AND tablename = 'objects';truea thabhairt ar ais. Cumasaíonn Supabase é de réir réamhshocraithe ar thionscadail nua; deimhnigh nár díchumasaíodh é. - Scríobh polasaí SELECT atá scópaithe le
auth.uid()do bhuicéid phríobháideacha.CREATE POLICY "users_read_own_files" ON storage.objects FOR SELECT USING (auth.uid()::text = (storage.foldername(name))[1]);. Is é an coinbhinsiún comhaid a stóráil faoi[user-id]/[filename]agusstorage.foldername()a úsáid chun an t-úinéir a bhaint as an gcosán. - Scríobh polasaí INSERT a fhorghníomhaíonn an coinbhinsiún cosáin céanna.
CREATE POLICY "users_upload_own" ON storage.objects FOR INSERT WITH CHECK (auth.uid()::text = (storage.foldername(name))[1]);. Gan WITH CHECK, is féidir le húsáideoir fíordheimhnithe uaslódáil isteach i bhfillteán úsáideora eile. - Cuir polasaithe UPDATE agus DELETE leis má thacaíonn d'aip le heagarthóireachtaí nó scriosadh comhaid. Teastaíonn polasaí dá chuid féin ó gach ordú. Má scipeáiltear DELETE, ní féidir le húsáideoirí fíordheimhnithe a gcuid comhad féin a bhaint; má scipeáiltear UPDATE, teipfidh ar ath-scríbhinní comhaid go ciúin.
- Tástáil rochtain tras-úsáideora i dhá sheisiún brabhsálaí. Sínigh isteach mar Úsáideoir A, uaslódáil comhad, cóipeáil an cosán. Sínigh isteach mar Úsáideoir B i mbrabhsálaí eile, déan iarracht an comhad a fháil tríd an REST API. Caithfidh an freagra a bheith
403nó404, riamh200.
-- Confirm RLS on storage.objects
SELECT rowsecurity
FROM pg_tables
WHERE schemaname = 'storage' AND tablename = 'objects';
-- SELECT policy: scope reads to the owning user's folder.
CREATE POLICY "users_read_own_files"
ON storage.objects
FOR SELECT
USING (auth.uid()::text = (storage.foldername(name))[1]);
-- INSERT policy: enforce the [user-id]/[filename] path convention.
CREATE POLICY "users_upload_own"
ON storage.objects
FOR INSERT
WITH CHECK (auth.uid()::text = (storage.foldername(name))[1]);Bailíochtú uaslódála
Bailíochtaigh gach uaslódáil ar thaobh an fhreastalaí, fiú nuair atá srianta MIME agus méide ag an mbuicéad. Gineann uirlisí códaithe AI bailíochtú cliant-amháin de réir réamhshocraithe; cosnaíonn sé sin tada.
- Athsheiceáil cineál MIME ar thaobh an fhreastalaí ó na fíor-bhearta de chuid an chomhaid, ní ón gceanntásc
Content-Type. Úsáid leabharlann ar nósfile-type(Node) nó snámhán ardbharra. Is féidir le hionsaitheoirContent-Type: image/jpega éileamh ar chomhad atá ina ualach polyglot HTML / JavaScript i ndáiríre. - Bain meiteashonraí EXIF ó íomhánna uaslódáilte. Is féidir le EXIF comhordanáidí GPS, sraithuimhreacha gléis, agus stampaí ama a bheith aige. Úsáid
sharple.withMetadata(false)nóexif-parserchun é a bhaint roimh stóráil. - Diúltaigh SVGanna ina bhfuil clibeanna
scriptnó láimhseálaitheonload. Is XML é SVG — agus ceadaíonn go leor aipeanna a ghintear le AI uaslódáil SVG mar "níl ann ach íomhá." ÚsáidDOMPurifyar thaobh an fhreastalaí nó diúltaigh d'uaslódálacha SVG go hiomlán. - Úsáid ainmneacha comhad cinntitheacha do-thomhaiste. Ná coinnigh an t-ainm comhaid bunaidh. Úsáid UUID nó hais d'inneachar an chomhaid. Sceitheann ainmneacha comhad bunaidh ("
passport_scan_2024_01_15.jpg") agus cumasaíonn ainmneacha intuartha áireamh.
URLanna sínithe
Is iad URLanna sínithe an chaoi a fhaigheann cliaint rochtain ar bhuicéid phríobháideacha. Tá tábhacht leis an éag, scóp an bhuicéid, agus an méid a logáiltear.
- Réamhshocraigh éag URL sínithe go 1 uair an chloig nó níos lú. Tógann
createSignedUrl(path, expiresIn)sa Supabase JS SDK soicindí. Ná húsáid luachanna ar nós31536000(bliain amháin) riamh — éiríonn an URL ina nasc leath-phoiblí buan. - Ná stóráil URLanna sínithe i do bhunachar sonraí riamh. Gin cinn úra ar thaobh an fhreastalaí ar gach iarratas. Tugann URL sínithe stóráilte le héag 1-bhliana a sceitheann trí dhumpáil bhunachar sonraí rochtain fhadtéarmach.
- Logáil giniúint URL sínithe, ní díreach uaslódálacha comhaid. Má cheapann tú gur bhain comhréiteach níos déanaí, teastaíonn uait fios a bheith agat cé a ghin cén URL agus cén uair. Logáil
auth.uid()+ buicéad + cosán an oibiachta + stampa ama. - Úsáid an rogha
downloadAsnuair a fhreastalaíonn tú ar chomhaid uaslódáilte ag úsáideoirí. CuireanncreateSignedUrl(path, expiresIn, { download: '.jpg' })iallach ar cheanntáscContent-Disposition: attachmentsa chaoi go n-íoslódáiltear an comhad in ionad é a rindreáil — sáraíonn sé an aicme feidhmithe HTML / SVG / HTML-i-PDF.
Sláinteachas oibríochta
Athraíonn cumraíocht stórais le himeacht ama. Coinníonn na ceithre mhír oibríochta seo an dromchla teann.
- Iniúchadh buicéid go ráithiúil. Painéal → Storage → Buckets. Deimhnigh staid phoiblí/phríobháideach agus liostaí cineáil MIME a mheaitseálann le hionchas na haipe. Éiríonn buicéid a cruthaíodh "go sealadach" buan mura mbaineann aon duine iad.
- Déan monatóireacht ar oibríochtaí liosta gan ainm. Taifeadann logaí stórais (Painéal → Logs → Storage) iarratais
LIST. Ciallaíonn spící d'iarratais liosta gan ainm in aghaidh buicéid phríobháideacha go bhfuil duine éigin á phromhadh ón taobh amuigh. - Socraigh polasaí coinneála d'uaslódálacha gearrshaolacha. Ba chóir do bhuicéid sealadacha (réamhamharc íomhá, uaslódálacha dréachta) féin-scriosadh tar éis 24-72 uair trí fheidhm sceidealaithe. Is dliteanas é coinneáil éiginnte faoi oibleagáidí íosmhéadaithe sonraí GDPR / CCPA.
- Rith scanadh FixVibe go míosúil. Déanann an seic
baas.supabase-storage-publicpromhadh do bhuicéid a fhreagraíonn doGET+LISTgan ainm. Cuirtear buicéid nua leis; athraíonn buicéid sheana infheictheacht — ní bheireann ach scanadh leanúnach ar an athrú.
Na chéad chéimeanna eile
Rith scanadh FixVibe in aghaidh do URL táirgthe — taispeántar liostáil stórais gan ainm faoi baas.supabase-storage-public. Cuir an seicliosta seo le Scanóir RLS Supabase don chiseal tábla agus Eochair an ról seirbhíse Supabase nochta in JavaScript don aice nochta eochrach. Le haghaidh míchumraíochtaí stórais thar sholáthraithe BaaS eile, féach Scanóir míchumraíochta BaaS.
