Tovább a tartalomhoz

Tárolás: Amazon S3

A digitális termékek fájljainak tárolása az Amazon S3-ban: AWS-kulcsok beszerzése, hitelesítés, tároló (bucket) kiválasztása, biztonsági beállítások és fájlkezelés.

Az Amazon S3 (Simple Storage Service) az AWS felhős objektumtároló szolgáltatása. Ha összekötöd a FluentCarttal, a digitális termékek fájljai lekerülnek a saját kiszolgálódról egy külön, nagyon tartós és globálisan elérhető tárolórétegbe. A webhelyed gyors marad, a letölthető fájlok biztonságban vannak, a tárhely pedig gyakorlatilag korlátlanul nő.

A fejezet a teljes beállítást leírja: az AWS-kulcsok beszerzésétől a tároló kiválasztásán vagy létrehozásán át a biztonsági beállításokig.

A FluentCart tárolóoldala előtt hozz létre egy S3-hozzáférésikulcs-párt az AWS-ben. Az alábbi menet egy külön, csak a FluentCarthoz tartozó IAM-felhasználót hoz létre, így a kulcsait bármikor cserélheted vagy visszavonhatod anélkül, hogy az AWS-fiók többi része érintett lenne.

Ha már van hozzáférési kulcsod, ugorj a Az S3 beállításainak megnyitása részre.

1. Az IAM megnyitása, új felhasználó indítása

Szekció neve “1. Az IAM megnyitása, új felhasználó indítása”
  1. Jelentkezz be az AWS Management Console-ba.
  2. A felső keresősávba írd be: IAM, és nyisd meg a szolgáltatást.
  3. Az IAM oldalsávjában nyisd ki az Access Management részt, és kattints a Users pontra.
  4. Kattints a jobb felső sarokban a Create user gombra.

Az IAM globális szolgáltatás, a felhasználó létrehozásához nem kell régiót választanod.

Adj a felhasználónak felismerhető nevet, például fluentcart-s3. A Provide user access to the AWS Management Console jelölőnégyzetet hagyd üresen: a FluentCartnak csak programozott (API-) hozzáférés kell, konzolbelépés nem. Kattints a Next gombra.

Egy csak API-hozzáférésű felhasználó csökkenti a támadási felületet: ha a kulcs kiszivárog, vele senki nem tud belépni az AWS-konzolra.

A Set permissions képernyőn:

  1. Válaszd az Attach policies directly lehetőséget.
  2. A Permissions policies keresőmezőjébe írd: s3full.
  3. Pipáld ki az AmazonS3FullAccess sort.
  4. Kattints a Next gombra.

Szigorúbb megoldásként az AmazonS3FullAccess helyett saját szabályzatot is készíthetsz, amely egyetlen tároló ARN-jére szűkít, és csak azokat a műveleteket engedi, amelyeket a FluentCart használ: s3:ListAllMyBuckets, s3:ListBucket, s3:CreateBucket, s3:PutObject, s3:GetObject, s3:DeleteObject, s3:PutBucketPublicAccessBlock, s3:PutBucketOwnershipControls. A kezelt szabályzat egyszerűbb, a leírás ezzel számol.

Ellenőrizd a felhasználó nevét és a csatolt szabályzatot. A címkék (Tags) nem kötelezők, kihagyhatod őket. Kattints a Create user gombra.

5. A felhasználó biztonsági hitelesítő adatai

Szekció neve “5. A felhasználó biztonsági hitelesítő adatai”

A Users listában kattints az imént létrehozott felhasználóra (fluentcart-s3). A részletek oldalon nyisd meg a Security credentials fület, görgess az Access keys részhez, és kattints a Create access key gombra.

6. A kulcs felhasználási esetének kiválasztása

Szekció neve “6. A kulcs felhasználási esetének kiválasztása”

Az AWS megkérdezi, mire használod a kulcsot. Válaszd a Third-party service lehetőséget (a FluentCart külső alkalmazás, amely a nevedben hívja az S3 API-t). Az AWS ajánlást jelenít meg: pipáld ki az I understand the above recommendation and want to proceed to create an access key négyzetet, majd kattints a Next gombra.

A leíráscímkét üresen hagyhatod, vagy írhatsz bele valamit, például fluentcart-production, ha több környezetben kezelsz kulcsokat. Kattints a Create access key gombra.

7. Az Access key és a Secret access key másolása

Szekció neve “7. Az Access key és a Secret access key másolása”

Az AWS mindkét értéket megmutatja:

  • Access key: a nyilvános azonosító.
  • Secret access key: a titkos fele. A Show gombbal jelenítheted meg.

A titkos kulcsot csak egyszer látod. Az AWS ezt az értéket csak most mutatja meg olvasható formában. Vagy másold ki azonnal mindkét értéket a FluentCartba, vagy mentsd el biztonságos helyre a Download .csv file gombbal. Ha elveszted a titkos kulcsot, nem állítható vissza: törölnöd kell a hozzáférési kulcsot, és újat kell létrehoznod.

Ha megvan mindkét érték, kattints a Done gombra.

FluentCart mező AWS érték Melyik lépésből
Access Key Access key 7. lépés
Secret Key Secret access key 7. lépés
IAM-felhasználó neve például fluentcart-s3 2. lépés
Csatolt szabályzat AmazonS3FullAccess 3. lépés
  1. Nyisd meg a FluentCart Pro → Beállítások → Tárolási beállítások oldalt.
  2. Az S3 sornál kattints a Kezelés gombra.

Megnyílik az Amazon S3 beállítóvarázslója, amely három lépésből áll:

  1. Credential: hogyan azonosítja magát a FluentCart az AWS-nél.
  2. Bucket: melyik S3-tároló tartalmazza a fájlokat.
  3. Security: a tároló szintjén beállítható védelem a véletlen nyilvános hozzáférés ellen.

A FluentCart kétféleképpen fogadja az AWS-hozzáférési kulcsokat. A lépés felirata Verify Access Keys, a képernyő sarkában pedig a haladás látszik (1/3 Befejezve).

A. mód: kulcsok a wp-config.php fájlban (ajánlott)

Szekció neve “A. mód: kulcsok a wp-config.php fájlban (ajánlott)”

Ez a legbiztonságosabb: a kulcsok a WordPress konfigurációs fájljában vannak, az adatbázisban soha, és az admin felületről nem olvashatók. Válaszd a Define access keys in wp-config.php (Recommended) opciót. A felület megmutatja a kódrészletet és a Copy Snippet gombot.

https://minta-bolt.hu/wp-admin/admin.php?page=fluent-cart
Az S3 hitelesítő lépése a wp-config.php opcióval: a két define sor és a Copy Snippet gomb

Másold a kódot a wp-config.php elejére, a „That’s all, stop editing!” sor elé, és írd át a helyőrzőket a saját AWS-kulcsaidra:

define( 'FCT_S3_ACCESS_KEY', 'az-access-key-id-d' );
define( 'FCT_S3_SECRET_KEY', 'a-secret-access-key-ed' );

Amint a FluentCart észleli ezeket az állandókat, a hitelesítő mezők automatikusan zárolódnak, és a Connection Method kártya jelzi, hogy a kulcsok a wp-config.php fájlból jöttek.

Ha később másik módra váltasz, töröld vagy kommentezd ki a FCT_S3_ACCESS_KEY és FCT_S3_SECRET_KEY sort a wp-config.php fájlból, és töltsd újra az oldalt.

Akkor jó, ha csak a felületen szeretnél beállítani. A kulcsok az adatbázisba kerülnek, ami eleve kevésbé biztonságos, mint egy fájlban lévő állandó, ezért a folytatás előtt a bővítmény elfogadást kér.

https://minta-bolt.hu/wp-admin/admin.php?page=fluent-cart
Az S3 hitelesítő lépése az adatbázisban tároló móddal: az Access Key és a Secret Key mező
  1. Válaszd a Store credentials in the database opciót, és fogadd el a kockázatot („I understand the risks but I’d like to store access keys in the database.”).
  2. Írd be az Access Key mezőbe az AWS Access Key ID értékét.
  3. Írd be a Secret Key mezőbe az AWS Secret Access Key értékét.
  4. Kattints a Save & Continue gombra, és folytasd a tároló lépéssel.

Ha még nincs hozzáférési kulcsod, térj vissza az AWS-hozzáférési kulcsok beszerzése részhez.

Az S3-tároló (bucket) egy elnevezett tárolóegység az AWS-fiókodban. Háromféleképpen választhatsz vagy hozhatsz létre egyet.

Meglévő tároló, név kézi megadásával:

  1. Válaszd a Use Existing Bucket opciót.
  2. Válaszd az Enter bucket name lehetőséget.
  3. Írd be a tároló pontos nevét, és kattints a Save Selected Bucket gombra.

Meglévő tároló, böngészés az AWS-ből: a FluentCart lekéri a csatlakoztatott AWS-fiók tárolóit, így legördülő listából választhatsz, másolgatás és elgépelés nélkül.

  1. Válaszd a Use Existing Bucket opciót.
  2. Válaszd a Browse existing buckets lehetőséget.
  3. Ha a frissen létrehozott tároló nem látszik, kattints a frissítés ikonra.
  4. Kattints a kívánt tárolóra, majd a Save Selected Bucket gombra.

Új tároló létrehozása a felületről: nem kell átlépned az AWS-konzolra, a FluentCart a kiválasztott régióban létrehoz egy új S3-tárolót.

  1. Válaszd a Create New Bucket opciót.
  2. Add meg a Bucket Name értékét. A tárolónevek az egész AWS-ben egyediek, DNS-stílusúak (kisbetű, szám, kötőjel), és törlés után egy ideig nem használhatók újra.
  3. Válassz Region értéket: azt, amelyik földrajzilag a vevőid többségéhez a legközelebb van (például US East (N. Virginia) az amerikai kontinensre, EU (Frankfurt) Európára).
  4. Kattints a Create New Bucket gombra. A FluentCart létrehozza a tárolót az AWS-ben, és automatikusan ki is választja.

A tároló régiója létrehozás után nem módosítható. Ha később mást szeretnél, hozz létre új tárolót az új régióban, és költöztesd át a fájlokat.

Ez a lépés két, a tároló szintjén érvényes védelmet állít be az AWS-nél.

Az AWS S3 Block Public Access beállítását vezérli az adott tárolóra. Bekapcsolva az AWS minden olyan tárolószabályzatot vagy ACL-t elutasít, amely nyilvánosan elérhetővé tenne objektumokat, akkor is, ha valami lejjebb rosszul van beállítva.

  • Bekapcsolva (ajánlott): a digitális termékek fájljai privátak maradnak, és csak a FluentCart aláírt hivatkozásain át szolgálódnak ki.
  • Kikapcsolva: csak akkor kell, ha kifejezetten nyilvánosan elérhető objektumokra van szükséged, ami fizetős digitális termékeknél szokatlan.

Azt szabályozza, ki a tulajdonosa a tárolóba feltöltött objektumoknak.

  • Enforced (ajánlott): a tároló tulajdonosa (a te AWS-fiókod) minden objektum felett teljes ellenőrzést megtart, akárki töltötte is fel. Az ACL-ek gyakorlatilag ki vannak kapcsolva.
  • Not enforced: a feltöltő ACL-ekkel megtarthatja a tulajdonjogot, ami bonyolítja a jogosultságkezelést.

Mindkettő kapcsolóként jelenik meg, az ajánlott állapotot felirat jelzi. A befejezéshez kattints a Save Settings gombra.

Ha mindhárom lépés kész, az Amazon S3 kártya Aktív állapotban mutatja a szolgáltatót, a tároló nevével, a régióval és a biztonsági összegzéssel. A kártya elemei:

  • Aktív kapcsoló: a szolgáltatót a beállítások elvesztése nélkül kapcsolhatod be és ki.
  • Edit: újra megnyitja a varázslót, ahol módosíthatod a hitelesítő adatokat, a tárolót vagy a biztonsági beállításokat.
  • A tároló nevére kattintva az AWS-konzolban nyílik meg a tároló.
  • A régió felirata: az AWS-régió, ahol a tárolód van.
  • Check again: igény szerint újra lefuttatja a FluentCart kapcsolatellenőrzését az S3 felé.
  • A Security Configuration kártyák: a Block All Public Access és az Object Ownership állapotát mutatják.

Csatlakozás után a digitális termékek feltöltései automatikusan az S3-tárolóba mennek. A FluentCart fájlböngészőjében:

  • új fájlokat tölthetsz fel közvetlenül az S3-ba,
  • böngészheted és listázhatod a tárolóban lévő fájlokat,
  • fájlnév alapján kereshetsz,
  • törölheted a már nem szükséges fájlokat,
  • minden fájl mellett jelvény mutatja, hogy az S3-on, az R2-n vagy a helyi tárhelyen van.

Ha kulcsot cserélnél, másik tárolóra mutatnál, vagy szigorítanál a biztonsági beállításokon:

  1. A FluentCart Pro → Beállítások → Tárolási beállítások oldalon, az S3 kártyán kattints az Edit gombra.
  2. Menj végig újra a Credential → Bucket → Security varázslón.
  3. Csak a módosuló mezőket kell frissítened.

Nem kell leválasztanod és újra csatlakoztatnod: a meglévő fájlok hivatkozása érvényes marad.

Az Amazon S3 kártya Aktív kapcsolójával kapcsolhatod a szolgáltatót be és ki. Az S3 kikapcsolása nem töröl semmit az AWS-ből, csak azt állítja le, hogy a FluentCart új feltöltéseket irányítson rajta át.

Ha az A. módot használod, itt egy beilleszthető minta:

// A wp-config.php elejére, a "That's all, stop editing!" sor fölé.
define( 'FCT_S3_ACCESS_KEY', 'AKIAEXAMPLEKEYID1234' );
define( 'FCT_S3_SECRET_KEY', 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY' );

Mentés után töltsd újra az Amazon S3 oldalt a FluentCartban: a hitelesítő mezők zároltak lesznek, és a konfigurációból töltődnek ki.

  • A kapcsolatellenőrzés mentés után hibával elbukik:
    • Ellenőrizd, hogy mindkét kulcs szóköz nélkül került be az elején és a végén.
    • Győződj meg róla, hogy az IAM-felhasználónak megvan az AmazonS3FullAccess szabályzata (vagy egy egyenértékű, amely engedi az s3:ListAllMyBuckets, s3:CreateBucket, s3:PutObject, s3:GetObject, s3:DeleteObject műveleteket).
    • Ha nemrég cseréltél kulcsot, a régit kapcsold ki, és a jelenlegit használd.
  • A „Browse existing buckets” üres: az IAM-felhasználónak nincs s3:ListAllMyBuckets joga, vagy a fiókban még tényleg nincs tároló (válaszd a Create New Bucket lehetőséget).
  • A tároló létrehozása névütközéssel elbukik: a tárolónevek az összes AWS-fiókban egyediek. Válassz specifikusabb nevet, például aruhazneve-fluentcart-fajlok.
  • A fájlok feltöltődnek, de a vevők nem tudják letölteni őket: valószínűleg be van kapcsolva a Block All Public Access (ez jó), és a FluentCart ilyenkor aláírt URL-eken szolgálja ki a fájlokat. Ellenőrizd, hogy a digitális termék tárolóillesztőként az S3-at használja.
  • Megadtam a FCT_S3_ACCESS_KEY és FCT_S3_SECRET_KEY állandót, de a mezők üresek: mindkét állandónak a wp-config.php fájlban kell lennie (nem bővítményfájlban), a FluentCart betöltése előtt, és a nevüknek pontosan egyeznie kell.

Futhat egyszerre az S3 és a Cloudflare R2? Igen, mindkettőt beállíthatod, és kapcsolhatod, melyik az aktív.

Látszik a titkos kulcs az admin felületen mentés után? Nem. Az A. módban a kulcsok csak a wp-config.php fájlban vannak, a B. módban mentés után a titkos kulcs maszkolva látszik.

Módosíthatom később a régiót? Nem, a tároló régiója a létrehozáskor rögzül. Másik régióhoz hozz létre új tárolót ott, és vagy töltsd fel újra a fájlokat, vagy használd az S3 régiók közötti replikációját az áttelepítéshez.

Támogatja a FluentCart a szerveroldali titkosítást? Az AWS S3 alapértelmezett titkosítása (SSE-S3) a tároló szintjén érvényes. Kapcsold be az AWS oldalán, és a FluentCart feltöltései automatikusan titkosítva kerülnek be.

Kötelező az AmazonS3FullAccess szabályzat? Nem, de ez a legegyszerűbb, és a leírás ezzel számol. Szigorúbb környezetben saját szabályzatot is írhatsz, amelyet a konkrét tároló ARN-jére és csak a FluentCart által használt műveletekre szűkítesz.

Készült:

Tiszteletben tartjuk a magánszférádat

Sütiket használunk a böngészési élmény javítására és a forgalom elemzésére. Az analitika csak akkor indul, ha engeded. Adatvédelmi irányelvek, Sütitájékoztató.

Sütibeállítások