Cloud opslag via Amazon AWS

Cloud opslag via Amazon AWS

1139 woorden

Bestanden veilig opslaan in de cloud. Hoe richt je een Amazon S3 account in voor je klanten?

← terug

De cloud, je hoort het overal en niemand lijkt precies te weten wat en waar het is.

Wat is de cloud?

Eigenlijk is de cloud niets meer dan wat we al lang kennen: websites en email. Om websites en email te laten werken zijn servers nodig. Deze servers zijn computers met hardeschijven, verbonden met het internet. De cloud kan je dus zien als een server met een grote hardeschijf waar alleen de mensen toegang tot hebben die jij wilt.

Er zijn verschillende soorten gebruiken van de cloud. Als je daar niet bekend mee bent raad ik je aan om de wikipedia pagina hier eens op na te slaan. In dit artikel focus ik me op cloud opslag.

Cloud opslag

Er zijn meerdere cloud opslag oplossingen. Een aantal bekende zijn:

Waar de opzet van Dropbox en Google Drive zich meer richten op consumenten, richten Rackspace en Amazon zich meer op de zakelijke markt.


In dit artikel wil ik een korte uitleg geven hoe je binnen je Amazon S3 account, een apart gedeelte kan inrichten voor je klant en hier de toegang voor kan afschermen.

Aan de slag

In dit artikel ga ik er van uit dat je:

  • een Amazon.com AWS account hebt;
  • je creditcard hebt gekoppeld aan je account;
  • affiniteit hebt met policies en DNS aanpassingen.

In de onderstaande stappen gaan we:

Stap 1: Aanmaken van gebruiker

1.1 Login op AWS management console

Login op AWS Management console

1.2 Ga naar AIM

AIM staat voor Amazon Identity and Access Manager. Met deze dienst kan de toegang worden geregeld voor de AWS diensten.

Ga naar AIM

1.3 Maak een nieuwe gebruiker

Maak een nieuwe gebruiker

Geef de gebruikersnaam

1.4 Gegevens van de gebruiker

Na het toevoegen worden de AWS key en Secret Key eenmalig uitgegeven. Het is dus van belang dat je deze goed opslaat.

Gelukkig biedt Amazon hier een .csv bestand voor aan.

Druk op Download Credentials

Gegevens van de gebruiker

1.5 Bewaar de User ARN

Voor elke gebruiker wordt een unieke identificatie code gegenereerd. Deze hebben we nodig voor het schrijven van het policy dus sla deze even op.

In dit voorbeeld: arn:aws:iam::684253031265:user/lekkerduidelijk2

Bewaar de User ARN

Stap 2: Maak een bucket aan

2.1 Ga naar S3

S3 staat voor Simple Storage Server. Met deze dienst kan cloudopslag worden beheert in aparte aparte gebieden: ‘buckets’.

Ga naar S3

2.2 Maak een nieuwe bucket aan

Klik op de knop 'Create Bucket'

2.3 Geef een naam en locatie

Bij het aanmaken van een nieuwe bucket is de naamgeving van belang. Als je een URL verwijzing wilt maken vanaf je eigen domeinnaam moet de bucket naam de volledige URL zijn. In dit voorbeeld kies ik voor: test.lekkerduidelijk.nl. Het adres dat Amazon hier aan koppelt is test.lekkerduidelijk.nl.s3.amazonaws.com. Met een CNAME verwijzing knopen we deze later in dit artikel weer aan elkaar.

Als locatie gebruik ik de enige locatie in Europa: Ierland.

Geef een naam en locatie

Druk op Create

Stap 3: Toevoegen van policy

Nu gaan we de gebruiker koppelen aan de bucket.

3.1 Selecteer de bucket en bewerk de policy

Selecteer de bucket en kies voor ‘Add bucket policy’.

Selecteer de bucket en bewerk de policy

3.3 De bucket policy editor

De policy editor wordt geopend met een leeg venster. Huidige policies worden weergegeven en zijn hier aan te passen.

In dit geval kiezen we voor de ‘AWS Policy Generator’ links onderin. De bucket policy editor

3.4 De AWS Policy Generator

Met de AWS Policy Generator kunnen policy JSON strings worden gegenereerd voor onder andere S3 buckets.

Een aantal belangrijke termen:

  • Principal: Voor welke gebruiker/groep geldt deze policy?
  • Actions: Welke rechten krijgt deze gebruiker?
  • ARN: Voor welke bucket geldt deze policy?

3.5 Alleen lezen toegang

Om te zorgen dat de bucket beschikbaar is voor de buitenwereld moeten we een lees-policy maken die geldt voor alle gebruikers.

Alleen lezen toegang

Gebruik de volgende gegevens:

  • Effect: Allow
  • Principal: *
  • AWS Service: Amazon S3
  • Actions: GetObject
  • ARN: arn:aws:s3:::test.lekkerduidelijk.nl/*

Druk op Add Statement

3.6 Gebruiker toegang

De aangemaakte gebruiker bij de ARN sleutel van 1.5 gebruiken we bij deze stap.

Gebruiker toegang

Gebruik de volgende gegevens:

  • Effect: Allow
  • Principal: arn:aws:iam::684253031265:user/lekkerduidelijk2
  • AWS Service: Amazon S3
  • Actions: AbortMultipartUpload, GetObject, DeleteObject, PutObject, ListBucket
  • ARN: arn:aws:s3:::test.lekkerduidelijk.nl/*

Druk op Add Statement

3.7 Genereer policy

De aangemaakte policy statements worden weergegeven.

Aangemaakte policy statements

Druk op Generate policy

De policy ziet er nu zo uit:

3.9 Kopieer policy in Bucket Policy Editor

Kopieer policy in Bucket Policy Editor

3.10 Voeg Authenticated Users toe

Om de bucket toegankelijk te maken voor de aangemaakte gebruiker voeg je deze toe onder de bestaande gebruiker.

Druk op add more permissions

Druk op Add more permissions

Voeg Authenticated Users toe

  • Grantee: Authenticated Users
  • Checkbox: List en Upload/Delete

Druk op Save

Tot zo ver de instellingen in de Management Console van Amazon.

Stap 4: Testen van toegang

De ingestelde toegang zou nu moeten werken. Dit gaan we testen.

4.1 Log in op de Amazon S3 account

In dit voorbeeld gebruik ik de applicatie Transmit.

Log in op de Amazon S3 account

Let op: Vul het initiele (remote) pad goed in. Als je deze leeg laat kan je niet verbinden met de server.

4.2 Upload een bestand

Upload een bestand

4.3 Open het bestand in de browser

Open het bestand in de browser

Stap 5: Koppelen van DNS (optioneel)

Bestanden kunnen worden gelinkt zonder de s3.amazonaws.com link. Hier voor moet een CNAME worden aangemaakt.

5.1 CNAME toevoegen

Maak de volgende CNAME verwijzing aan. Let op de punt achter amazonaws.com.

  • Type: CNAME
  • Key: test (.lekkerduidelijk.nl)
  • Value: test.lekkerduidelijk.nl.s3.amazonaws.com.

5.2 Test aangepaste locatie

Aangepaste locatie checken

Klaar!

Je hebt nu een Amazon S3 account geconfigureerd voor je klant, klaar voor gebruik! Let op: Met je eigen account heb je nog steeds toegang tot alle buckets.

Cloud upload

Vragen? Stel ze in de comments of bereik me via Twitter.

Rutger Laurman
~ webontwikkelaar en adviseur

Freelance front-end webontwikkelaar met voorliefde voor gebruiksvriendelijkheid en interfaceontwerp. Samen met freelancers en internet bureau's uit regio Utrecht maak ik al meer dan 15 jaar websites en webapplicaties.