Přejít k navigační liště

Zdroják » Různé » Moje garáž, můj hrad – připojujeme Amazon

Moje garáž, můj hrad – připojujeme Amazon

Články Různé

V tomto díle se budeme věnovat službě AWS Identity and Access Management (IAM),která je určena pro nastavování práv pro přístup k ostatním službám AWS a službě Amazon Simple Queue Service (SQS).

Nálepky:

Amazon Web Services

Amazon Web Services (AWS) je jedna z mnoha cloud služeb. Pro vysvětlení, co jsou to cloud služby a k čemu jsou dobré, doporučuji svůj starší seriál PHP v cloudu. Asi nejznámější služby AWS jsou Amazon Simple Storage Service (S3) a Amazon Elastic Compute Cloud (EC2). O S3 ještě bude řeč a službu EC2 vynechám, protože ji nebudeme v projektu potřebovat. Dříve než začnete pokračovat, tak je třeba si vytvořit účet na AWS. Prvních 12 měsíců můžete některé služby v omezené míře používat zdarma.

Nejdůležitější je ovšem služba AWS Identity and Access Management (IAM), která má na starost přístupová práva k ostatním službám. Než začnete na AWS cokoliv dělat, tak se seznamte hlavně s IAM.

AWS Identity and Access Management (IAM)

Pomocí AWS vytváříte systém přístupových práv k jednotlivým službám. Tento systém je velmi propracovaný a pokud vím, tak nikde jinde něco podobného nenajdete. Můžete například vytvořit uživatele, který smí pouze restartovat virtuální servery, a to pouze, když je přihlášený dvoufaktorovou autorizací. Nebo uživatele, který smí pracovat se zprávami z jedné jediné fronty. IAM je globální služba pro všechna datová centra, většina služeb se nastavují pro různá datová centra zvlášť. První, co byste měli udělat, je nastavit dvoufaktorovou autorizaci (MFA) pro hlavního administrátora. To je účet, pod kterým jste se registrovali na AWS.

image1

Tento kořenový účet používejte jen pro správu AWS. Nikdy v aplikacích.

Než si vysvětlíme základy IAM, tak si nejdříve vytvoříme frontu zpráva SQS, abychom měli pro co nastavovat práva.

Dějová odbočka Amazon SQS

Amazon SQS je služba pro posílání zpráva. Je to jednoduchá fronta, která udržuje zprávy, dokud je někdo nezpracuje nebo se neodstraní na základě vypršení životnosti zprávy.

Po přihlášení do Management Console si v pravém horním rohu vyberte region, kde chcete služby provozovat. Pro Českou republiku je nejbližší region EU Central. Je to datové centrum ve Frankfurtu v Německu. Oproti EU West (Irsko), má výrazně nižší latenci, ale je o něco dražší. Poté, co si vyberete region, přejděte na službu SQS.

image2

Klikněte na Create New Queue a nastavte parametry fronty zpráv.

image3

Parametr Queue Name je asi vcelku jasný. Další parametr Default Visibility Timeout nastavují délku „zneviditelnění“ zprávy při jejím zpracování. Když aplikace zprávu přečte, tak je „zneviditelněna“, aby ji nezpracovávalo více aplikací zároveň. Parametr Message Retention Period nastavuje maximální životnost zprávy, pokud není z fronty odstraněna dříve aplikací.

image4

U nově vytvořené fronty nás zajímá zejména URL a ARN. Tyto dvě hodnoty budeme za chvilku potřebovat. URL je koncový bod fronty zpráva, ARN je jednoznačný identifikátor objektu v rámci AWS, který je potřeba pro nastavení práv v IAM.

Zpět do IAM

Doporučený postup je nejdříve vytvořit skupinu, i kdyby měla mít jednoho uživatele.

image5

Vytvořené skupině pak přiřadíme jen nezbytně nutná práva. V našem případě se bude jednat jen o zjištění URL, čtení, posílání a mazání zpráv v jedné frontě identifikované pomocí ARN. Pro nastavení práv využijeme Policy Generator.

image6

Pomocí Police Generator snadno nastavíte potřebná práva. Pokud si ze začátku nejste jisti, tak můžete použít předdefinované šablony (Select Policy Template).

image7

Výsledkem je šablona ve formátu JSON, která popisuje příslušná práva.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Stmt1416128326000",
      "Effect": "Allow",
      "Action": [
        "sqs:DeleteMessage",
        "sqs:ReceiveMessage",
        "sqs:SendMessage",
        "sqs:GetQueueUrl"
      ],
      "Resource": [
        "arn:aws:sqs:eu-central-1:350128058472:garage"
      ]
    }
  ]
}

V dalším kroku vytvoříme uživatele, kterého přidáme do příslušné skupiny. Uživateli nevytvoříme heslo, nebude se tak moci přihlásit do AWS Management Console. Při vytvoření uživatele si nezapomeňte stáhnout přihlašovací údaje. Je to naposled, kdy se k nim dostanete. Pokud o ně přijdete, tak je třeba vytvořit nový pár klíč – bezpečnostní kód.

image8

Nezapomeňte uživatele přidat do skupiny.

image9

Závěr

Než začnete s AWS, tak si nastudujte IAM. Je to naprostý základ bezpečnosti, bez kterého byste se neměli do ničeho pouštět. Jak správně manipulovat s klíči v aplikacích se dozvíte v dalším díle, kde se budeme věnovat knihovně boto pro Python.

Komentáře

Subscribe
Upozornit na
guest
0 Komentářů
Inline Feedbacks
View all comments

Enum a statická analýza kódu

Mám jednu univerzální radu pro začínající programátorty. V učení sice neexistují rychlé zkratky, ovšem tuhle radu můžete snadno začít používat a zrychlit tak tempo učení. Tou tajemnou ingrediencí je statická analýza kódu. Ukážeme si to na příkladu enum.