Cloud & IT Cert Prep · Oppitunti

Allekirjoitetut URL-osoitteet, allekirjoitetut evästeet ja maantieteelliset rajoitukset

Rajoitatte premium-sisällön käyttöä allekirjoitetuilla URL-osoitteilla ja evästeillä sekä estätte käyttäjät tietyistä maista maantieteellisillä rajoituksilla.

Oppitunti 3/413 vaihetta

Allekirjoitetut URL-osoitteet, allekirjoitetut evästeet ja maantieteelliset rajoitukset on ilmainen Cloud & IT Cert Prep-oppitunti CoddyKitissä. Tämä on oppitunti 3/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Cloud & IT Cert Prep-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Cloud & IT Cert Prep-kurssilla on yhteensä 4 oppituntia.

CloudFront-sisällön käytön rajoittaminen

Oletusarvoisesti CloudFront tarjoaa sisältöä kaikille katselijoille, jotka tietävät URL-osoitteen. Premium- tai yksityiselle sisällölle, kuten videokursseille, maksullisille ohjelmistolatauksille ja vain jäsenille tarkoitetuille resursseille, käyttö on rajoitettava niin, että vain valtuutetut käyttäjät voivat noutaa sisällön.

CloudFront tarjoaa valtuutettuun käyttöön kaksi mekanismia: Signed URLs (yksi URL-osoite myöntää käyttöoikeuden yhteen tiettyyn objektiin) ja Signed Cookies (evästejoukko myöntää käyttöoikeuden useisiin tietyn polkumallin mukaisiin objekteihin). Molemmissa käytetään RSA-avainparilla luotuja kryptografisia allekirjoituksia.

CloudFrontin allekirjoitetut URL-osoitteet

Allekirjoitettu URL-osoite on CloudFrontin URL-osoite, joka sisältää salausallekirjoituksen. Allekirjoitus koodaa vanhenemisajan ja mahdollisesti IP-osoiterajoituksen. URL-osoite on voimassa vain vanhenemisaikaan asti ja vain sallitusta IP-osoitteesta, jos sellainen on määritetty. Vanhenemisen jälkeen CloudFront palauttaa vastauksen 403 Forbidden.

Allekirjoitetut URL-osoitteet sopivat parhaiten seuraaviin tilanteisiin: yhdelle käyttäjälle myönnetään pääsy yhteen tiettyyn tiedostoon (esimerkiksi luotuun PDF-raporttiin), tarvitaan aikarajoitettuja latauslinkkejä tai asiakas ei voi asettaa evästeitä (esimerkiksi mobiilisovelluksissa tai RTMP-suoratoistossa).

# Generate a signed URL using AWS CLI (requires a CloudFront key pair)
aws cloudfront sign \
  --url https://d1234abcdef.cloudfront.net/premium/video.mp4 \
  --key-pair-id APKA1234567890 \
  --private-key file://private-key.pem \
  --date-less-than 2026-06-21T00:00:00Z

CloudFrontin allekirjoitetut evästeet

Allekirjoitetut evästeet toimivat samalla tavalla kuin allekirjoitetut URL-osoitteet, mutta ne myöntävät pääsyn useisiin tiedostoihin ilman, että jokaista URL-osoitetta tarvitsee muuttaa. Onnistuneen todennuksen jälkeen palvelimesi luo kolme evästettä (CloudFront-Policy, CloudFront-Signature, CloudFront-Key-Pair-Id) ja asettaa ne selaimen vastaukseen. Selaimen seuraavat CloudFront-pyynnöt sisältävät nämä evästeet, jolloin pääsy myönnetään kaikkeen sisältöön, joka vastaa määritettyjä ehtoja.

Allekirjoitetut evästeet sopivat parhaiten seuraaviin tilanteisiin: kirjautuneille käyttäjille myönnetään pääsy koko premium-osioon (esimerkiksi kaikkiin kohteen /members/* videoihin) tai yksittäisten resurssien URL-osoitteiden muotoa ei voi hallita.

Luotetut avainryhmät

CloudFront-allekirjoitusten luomiseen tarvitaan CloudFront-avainpari. Nykyaikainen lähestymistapa käyttää luotettuja avainryhmiä: luo RSA-avainpari, lataa julkinen avain CloudFrontiin, lisää se avainryhmään ja liitä avainryhmä välimuistikäyttäytymiseen, joka edellyttää allekirjoitettua käyttöoikeutta.

Yksityinen avain tallennetaan suojatusti (esimerkiksi Secrets Manageriin) allekirjoituksia luovalla palvelimella. Kun käyttäjä todennetaan, palvelin allekirjoittaa yksityisellä avaimella URL-osoitteen tai evästekäytännön. CloudFront vahvistaa allekirjoitukset käyttämällä vastaavaa julkista avainta luotetussa avainryhmässä.

# Upload a public key to CloudFront
aws cloudfront create-public-key \
  --public-key-config '{
    "Name": "MySigningKey",
    "EncodedKey": "-----BEGIN PUBLIC KEY-----\n...<key>...\n-----END PUBLIC KEY-----",
    "CallerReference": "2026-06-20-key"
  }'

Valmiit ja mukautetut allekirjoitettujen URL-osoitteiden käytännöt

Allekirjoitetuissa URL-osoitteissa voidaan käyttää jompaakumpaa kahdesta käytäntötyypistä:

  • Valmis käytäntö: yksinkertaisin muoto – määrittää vain resurssin URL-osoitteen ja vanhenemisajan. Allekirjoitus on kompakti ja helppo luoda.
  • Mukautettu käytäntö: joustavampi vaihtoehto – määrittää resurssin URL-osoitteen ja mahdolliset jokerimerkit (https://d123.cloudfront.net/videos/*), valinnaisen alkamisajan (not-before) sekä mahdollisen IP-osoiterajoituksen. Käytännön JSON koodataan Base64-muotoon URL-osoitteessa.

Käytä valmiita käytäntöjä yksinkertaisiin yksittäisten tiedostojen linkkeihin ja mukautettuja käytäntöjä, kun tarvitset jokerimerkkien mukaista resurssien täsmäytystä tai IP-osoitteisiin perustuvia rajoituksia.

CloudFrontin maantieteellinen rajoitus

Maantieteellinen rajoitus (englanniksi myös geographic restrictions) estää CloudFrontia tarjoamasta sisältöä tai sallii sen tarjoamisen katsojan maan perusteella. CloudFront määrittää katsojan maan IP-osoitteen perusteella käyttämällä kolmannen osapuolen geopaikannustietokantaa.

Maantieteellinen rajoitus määritetään jakelukohtaisesti joko sallittujen maiden luettelona (vain luettelossa olevat maat voivat käyttää sisältöä) tai estettyjen maiden luettelona (luettelossa olevien maiden pääsy estetään). Rajoitettujen maiden käyttäjät saavat HTTP 403 -vastauksen. Maantieteellinen rajoitus on karkea työkalu: se koskee koko jakelua, ei yksittäisiä polkuja.

# Enable geo-restriction: block two countries
aws cloudfront update-distribution \
  --id EDFDVBD6EXAMPLE \
  --distribution-config '{
    ...existing config...
    "Restrictions": {
      "GeoRestriction": {
        "RestrictionType": "blacklist",
        "Quantity": 2,
        "Items": ["CN", "RU"]
      }
    }
  }' \
  --if-match ETVPDKIKX0DER

Maantieteellinen rajoitus ja Route 53:n geopaikannus

CloudFrontin maantieteellinen rajoitus ja Route 53:n geopaikannukseen perustuva reititys käyttävät molemmat maantietoa, mutta niiden tarkoitukset ovat erilaiset:

  • CloudFrontin maantieteellinen rajoitus: estää sisällön tarjoamisen edge-sijainneista tai sallii sen CDN-tasolla – palauttaa estetystä maasta tuleville pyynnöille 403-vastauksen; koskee jakelua
  • Route 53:n geopaikannus: reitittää DNS-kyselyt eri päätepisteisiin (eri palvelimille tai sivuille) maantieteen perusteella – ei estä käyttöä, vaan ohjaa eri sisältöön tai infrastruktuuriin

Käytä CloudFrontin maantieteellistä rajoitusta käyttöoikeuksien hallintaan eli kokonaisten maiden estämiseen. Käytä Route 53:n geopaikannusta käyttäjien ohjaamiseen alueellisesti sopivaan sisältöön tai infrastruktuuriin.

Allekirjoitettujen URL-osoitteiden yhdistäminen S3:een ja OAC:hen

Täydellinen yksityisen sisällön jakeluarkkitehtuuri:

  1. S3-säilö on yksityinen (julkista käyttöä ei ole)
  2. CloudFront käyttää OAC:tä, joten vain jakelu voi lukea tietoja S3:sta
  3. Yksityisen sisällön välimuistikäyttäytyminen edellyttää allekirjoitettuja URL-osoitteita tai evästeitä (liitetty Trusted Key Group)
  4. Sovelluspalvelimesi todentaa käyttäjät ja myöntää allekirjoitettuja URL-osoitteita tai evästeitä
  5. Käyttäjät käyttävät sisältöä vain aikarajoitettujen allekirjoitettujen CloudFront-URL-osoitteiden kautta

Vaikka käyttäjä arvaisi S3-URL-osoitteen tai jakaisi sen, käyttö estetään. Vaikka käyttäjä jakaisi CloudFront-URL-osoitteen, se vanhenee määritetyn ajan kuluttua. Tämä kerroksellinen lähestymistapa tarjoaa digitaalisen sisällön syvyyssuuntaista suojausta.

Kenttätason salaus

Kenttätason salaus on CloudFrontin edistynyt ominaisuus, jonka avulla HTTP POST -pyyntöjen arkaluonteiset tietokentät voidaan salata edgessä ennen niiden välittämistä alkuperälle. Vaikka alkuperäpalvelin vaarantuisi, salatut kentät (esimerkiksi luottokorttinumerot ja henkilötunnukset) pysyvät lukukelvottomina ilman vastaavaa yksityistä avainta.

CloudFront salaa määritetyt kentät edgessä julkisen avaimen avulla. Vain vastaavan yksityisen avaimen sisältävä tarkoitettu taustapalvelu voi purkaa tietojen salauksen. Kenttätason salaus lisää suojauskerroksen jo TLS-suojattuun käsittelyketjuun.

Tunnistepohjainen käyttöoikeuksien hallintamalli

Dynaamisissa sovelluksissa, jotka tarvitsevat maakohtaista estoa tarkempaa käyttöoikeuksien hallintaa, yleinen malli on tunnistepohjainen käyttöoikeus Lambda@Edgen avulla:

  1. Käyttäjä todentaa itsensä Cognitossa tai todennuspalvelussa ja saa JWT:n
  2. Käyttäjä sisällyttää JWT:n kyselyparametrina tai evästeenä CloudFront-pyyntöihin
  3. Lambda@Edge Viewer-Request -funktio vahvistaa JWT:n allekirjoituksen ja väitteet
  4. Jos tunniste on kelvollinen, Lambda@Edge välittää pyynnön alkuperälle; jos se ei ole kelvollinen, funktio palauttaa vastauksen 401

Tämä tarjoaa käyttäjä- ja resurssikohtaisen tarkan käyttöoikeuksien hallinnan kokonaan CloudFrontin edgessä ilman, että luvattomat pyynnöt saavuttavat alkuperän.

Reaalimaailman käyttötapausten yhteenveto

Allekirjoitettujen URL-osoitteiden, evästeiden ja maantieteellisen rajoituksen koetilannemalleja:

  • 'Aikarajoitettu latauslinkki ostettuun tiedostoon' → vanhenemisajalla varustettu allekirjoitettu URL-osoite
  • 'Kirjautuneet premium-käyttäjät käyttävät kaikkia kohteen /premium/* videoita' → allekirjoitetut evästeet jokerimerkin sisältävällä käytännöllä
  • 'Estä tiettyjen maiden käyttäjien pääsy lisensointisyistä' → CloudFrontin maantieteellinen rajoitus estettyjen maiden luettelona
  • 'Tarjoa eri maille erilaista sisältöä' → Route 53:n geopaikannus + useita jakeluja tai alkuperiä
  • 'Suojaa luottokorttikentät myös alkuperän ylläpitäjiltä' → kenttätason salaus

Pikatarkistus

Testaa, miten hyvin hallitset tämän oppitunnin AWS Solutions Architect (SAA-C03) -käsitteet.

Oppitunnin kertaus

Tässä oppitunnissa opit, että allekirjoitetut URL-osoitteet rajoittavat yksittäisten tiedostojen käyttöä vanhenemisajan ja mahdollisen IP-osoiterajoituksen avulla, allekirjoitetut evästeet myöntävät pääsyn useisiin tiedostoihin, jotka vastaavat polkumallia yhden todennetun istunnon aikana, ja maantieteellinen rajoitus estää kokonaisten maiden pääsyn tai sallii sen CloudFront-jakelun tasolla. Seuraavaksi tutustumme CloudFrontin suojaamiseen WAF:n ja Lambda@Edgen avulla.

Aloita maksutta

Opi Cloud & IT Cert Prep tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
150
Oppitunnit
600

Usein kysytyt kysymykset

Onko oppitunti ”Allekirjoitetut URL-osoitteet, allekirjoitetut evästeet ja maantieteelliset rajoitukset” ilmainen?

Kyllä – oppitunnin ”Allekirjoitetut URL-osoitteet, allekirjoitetut evästeet ja maantieteelliset rajoitukset” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Cloud & IT Cert Prep-kurssin, päivitä CoddyKit PROhon. Cloud & IT Cert Prep-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Allekirjoitetut URL-osoitteet, allekirjoitetut evästeet ja maantieteelliset rajoitukset”?

Rajoitatte premium-sisällön käyttöä allekirjoitetuilla URL-osoitteilla ja evästeillä sekä estätte käyttäjät tietyistä maista maantieteellisillä rajoituksilla. Harjoittelet Cloud & IT Cert Prep-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Cloud & IT Cert Prep-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Cloud & IT Cert Prep-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.

Kuinka kauan ”Allekirjoitetut URL-osoitteet, allekirjoitetut evästeet ja maantieteelliset rajoitukset”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Cloud & IT Cert Prep-oppitunnilla?

Kyllä. Jokainen Cloud & IT Cert Prep-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. CloudFront-jakelut ja origin-palvelimet
  2. Välimuistikäyttäytyminen ja TTL-asetukset
  3. Allekirjoitetut URL-osoitteet, allekirjoitetut evästeet ja maantieteelliset rajoitukset
  4. CloudFront, WAF ja Lambda@Edge
← Takaisin: Cloud & IT Cert Prep