Varnost v oblaku pri AWS je najvišja prioriteta. Amazon SageMaker Studio Ponuja različne mehanizme za zaščito vaših podatkov in kode z uporabo integracije z varnostnimi storitvami AWS, kot je AWS upravljanje identitete in dostopa (JAZ SEM), AWS Service Key Management (AWS KMS) ali izolacijo omrežja z Navidezni zasebni oblak Amazon (Amazon VPC).
Stranke v visoko reguliranih panogah, kot so finančne storitve, lahko nastavite Studio samo v VPC način, da omogočite izolacijo omrežja in onemogočite dostop do interneta iz prenosnikov Studio. Integracijo IAM s programom Studio lahko uporabite za nadzor, kateri uporabniki imajo dostop do virov, kot so prenosni računalniki Studio, Studio IDE ali Amazon SageMaker delovna mesta za usposabljanje.
Priljubljen primer uporabe je omejite dostop do Studio IDE le uporabnikom znotraj določenega omrežnega obsega CIDR ali določenega VPC. To lahko dosežete z izvajanjem Politike SageMaker, ki temeljijo na identiteti IAM in pripenjanje teh pravilnikov uporabnikom ali skupinam IAM, ki zahtevajo ta dovoljenja. Vendar mora biti domena SageMaker konfigurirana z Način preverjanja pristnosti IAM, ker pravilniki, ki temeljijo na identiteti IAM, niso podprti v AWS enotna prijava (SSO) način preverjanja pristnosti.
Številne stranke uporabljajo AWS SSO, da omogočijo centraliziran nadzor identitete delovne sile in zagotovijo dosledno uporabniško izkušnjo prijave. Ta objava prikazuje, kako implementirati ta primer uporabe, hkrati pa ohraniti zmožnosti AWS SSO za dostop do Studia.
Pregled rešitev
Ko nastavite domeno SageMaker v načinu samo VPC in določite podomrežja in varnostne skupine, SageMaker ustvari elastični omrežni vmesniki (ENI), ki so povezani z vašimi varnostnimi skupinami v navedenih podomrežjih. ENI omogočajo vašim vsebnikom za usposabljanje povezavo z viri v vašem VPC.
V tem načinu je neposreden dostop do interneta iz prenosnih računalnikov popolnoma onemogočen, ves promet pa poteka prek ENI v vašem zasebnem VPC. To vključuje tudi promet iz gradnikov in vmesnikov uporabniškega vmesnika Studio – kot so upravljanje eksperimentov, avtopilot in monitor modela – do njihovih ustreznih zalednih API-jev SageMaker. AWS priporoča uporabo samo načina VPC za izvajanje natančnega nadzora nad omrežnim dostopom Studia.
Prvi izziv je, da čeprav je Studio nameščen brez internetne povezave, je do Studio IDE še vedno mogoče dostopati od koder koli, ob predpostavki dostopa do Konzola za upravljanje AWS in Studio je dodeljen glavnemu IAM. Ta situacija ni sprejemljiva, če želite popolnoma izolirati Studio od javnega omrežja in zadržati vso komunikacijo v strogo nadzorovanem zasebnem VPC.
Če želite rešiti ta izziv in onemogočiti kakršen koli dostop do Studio IDE, razen iz določenega območja VPC ali CIDR, lahko uporabite API CreatePresignedDomainUrl SageMaker. Vloga IAM ali uporabnik, uporabljen za klic tega API-ja, določa dovoljenja za dostop do Studia. Zdaj lahko uporabite pravilnike, ki temeljijo na identiteti IAM, da implementirate želeno konfiguracijo dostopa. Na primer, če želite omogočiti dostop samo iz določenega VPC, dodajte naslednji pogoj v pravilnik IAM, povezan z glavnim IAM, ki se uporablja za ustvarjanje vnaprej podpisanega URL-ja domene:
Če želite omogočiti dostop samo z določene končne točke ali končnih točk VPC, podajte naslednji pogoj:
Za omejitev dostopa iz določenega obsega CIDR uporabite naslednji pogoj:
Drugi izziv je ta, da nadzor dostopa na osnovi IAM deluje le, ko je domena SageMaker konfigurirana v načinu preverjanja pristnosti IAM; ne morete ga uporabiti, ko je domena SageMaker nameščena v načinu AWS SSO. Naslednji razdelek prikazuje, kako obravnavati te izzive in implementirati nadzor dostopa na osnovi IAM z dostopom AWS SSO do Studia.
Pregled arhitekture
Studio je objavljen kot aplikacija SAML, ki je dodeljena določenemu uporabniškemu profilu SageMaker Studio. Uporabniki lahko priročno dostopajo do Studia neposredno s portala AWS SSO, kot je prikazano na naslednjem posnetku zaslona.
Rešitev se integrira z a prilagojeno aplikacijo SAML 2.0 kot mehanizem za sprožitev avtentikacije uporabnika za Studio. Zahteva, da je aplikacija SAML po meri konfigurirana z Amazon API Gateway URL končne točke kot storitev Assertion Consumer Service (ACS) in potrebuje atribute preslikave, ki vsebujejo ID uporabnika AWS SSO in ID domene SageMaker.
Končna točka API Gateway kliče an AWS Lambda funkcijo, ki razčleni odziv SAML, da izvleče ID domene in ID uporabnika ter ju uporabi za ustvarjanje vnaprej podpisanega URL-ja Studio. Funkcija Lambda končno izvede preusmeritev prek odziva HTTP 302 za prijavo uporabnika v Studio.
Politika IAM nadzira omrežno okolje, iz katerega se uporabniki Studia lahko prijavijo, kar vključuje omejevalne pogoje, kot je opisano v prejšnjem razdelku. Ta pravilnik IAM je povezan s funkcijo Lambda. Politika IAM vsebuje dovoljenje za klicanje sagemaker:CreatePresignedDomainURL
API samo za določen uporabniški profil:
Naslednji diagram prikazuje arhitekturo rešitve.
Rešitev uvede domeno SageMaker v vaš zasebni VPC in Končne točke VPC za dostop do programa Studio, izvajalnega okolja SageMaker in API-ja SageMaker prek zasebne povezave brez potrebe po internetnem prehodu. Končne točke VPC so konfigurirane z omogočenim zasebnim DNS (PrivateDnsEnabled=True
) povezati a zasebno gostiteljsko območje z vašim VPC. To omogoča Studiu dostop do API-ja SageMaker s privzetim javnim imenom DNS api.sagemaker.<Region>.amazonaws.com
razrešen na zasebni naslov IP končne točke namesto z uporabo URL-ja končne točke VPC.
VPC morate dodati končne točke VPC, če želite dostopati do drugih storitev AWS, kot je Preprosta storitev shranjevanja Amazon (Amazon S3), Registar elastičnih zabojnikov Amazon (Amazon ECR), Storitev AWS Security Token (AWS STS), Oblikovanje oblaka AWSali AWS CodeCommit.
Popolnoma lahko nadzorujete dovoljenja, ki se uporabljajo za ustvarjanje vnaprej podpisanega URL-ja in katere koli druge klice API-ja s pravilniki IAM, povezanimi z vlogo izvajanja funkcije Lambda, ali nadzorujete dostop do katere koli uporabljene storitve AWS prek Pravilniki o končnih točkah VPC. Za primere uporabe pravilnikov IAM za nadzor dostopa do API-ja Studio in SageMaker glejte Nadzor dostopa do API-ja SageMaker z uporabo pravilnikov, ki temeljijo na identiteti.
Čeprav rešitev zahteva, da je domena Studio uvedena v načinu IAM, omogoča uporabo AWS SSO kot mehanizma za prijavo končnih uporabnikov v Studio.
Naslednji pododdelki vsebujejo podrobne opise glavnih komponent rešitve.
Gateway API
Končna točka API Gateway deluje kot cilj za URL ACS aplikacije, konfiguriran v aplikaciji SAML 2.0 po meri. Končna točka je zasebna in ima klicani vir /saml
in metodo POST z zahtevo za integracijo, konfigurirano kot proxy Lambda. Rešitev uporablja končno točko VPC s konfiguriranim com.amazonaws.<region>.execute-api
Ime DNS za klic te končne točke API-ja znotraj VPC-ja.
AWS SSO
Aplikacija SAML 2.0 po meri je konfigurirana z URL-jem končne točke prehoda API https:/{ restapi-id}.execute-api.amazonaws.com/saml
kot URL svoje aplikacije ACS in uporablja preslikave atributov z naslednjimi zahtevami:
- Identifikator uporabnika:
- Uporabniški atribut v aplikaciji – uporabniško ime
- Preslika uporabniški atribut v AWS SSO -
${user:AD_GUID}
- Identifikator ID domene SageMaker:
- Uporabniški atribut v aplikaciji -
domain-id
- Preslika uporabniški atribut v AWS SSO – ID domene za instanco Studio
- Uporabniški atribut v aplikaciji -
Aplikacija implementira nadzor dostopa za uporabnika AWS SSO tako, da omogoči uporabniški profil Studio z imenom, ki je enak ID-ju uporabnika AWS SSO.
Lambda funkcija
Rešitev konfigurira funkcijo Lambda kot klicno točko za prehod API /saml
vir. Funkcija razčleni SAMLResponse
poslal AWS SSO, izvleče domain-id
kot tudi uporabniško ime in pokliče createPresignedDomainUrl
SageMaker API za pridobitev URL-ja Studio in žetona ter preusmeritev uporabnika, da se prijavi z uporabo odziva HTTP 302. Funkcija Lambda ima svoji izvajalski vlogi priložen poseben pravilnik IAM, ki omogoča sagemaker:createPresignedDomainUrl
dejanje samo, ko je zahtevano iz določenega omrežnega obsega CIDR z uporabo VpcSourceIp
stanje.
Funkcija Lambda nima nobene logike za preverjanje odgovora SAML, na primer za preverjanje podpisa. Ker pa je končna točka prehoda API, ki služi kot ACS, samo zasebna ali interna, ni obvezna za to okolje za dokazovanje koncepta.
Uvedite rešitev
O GitHub repozitorij zagotavlja celotno izvorno kodo za rešitev od konca do konca.
Če želite uvesti rešitev, morate imeti dovoljenja skrbnika (ali naprednega uporabnika) za račun AWS in namestiti Vmesnik ukazne vrstice AWS (AWS CLI) in AWS SAM CLI in minimalno Python 3.8.
Rešitev podpira uvedbo v treh regijah AWS: eu-west-1
, eu-central-1
in us-east-1
. Prepričajte se, da ste za uvedbo izbrali eno od teh regij.
Če želite začeti preizkušati rešitev, morate dokončati naslednje korake uvajanja iz rešitve GitHub datoteka README:
- Nastavite AWS SSO, če ga nimate konfiguriranega.
- Razmestite rešitev z uporabo aplikacije SAM.
- Ustvarite novo aplikacijo SAML 2.0 po meri.
Ko dokončate korake uvajanja, lahko nadaljujete s preizkusom rešitve.
Preizkusite raztopino
Rešitev simulira dva primera uporabe za prikaz uporabe AWS SSO in pravilnikov, ki temeljijo na identiteti SageMaker:
- Primer pozitivne uporabe – Uporabnik dostopa do Studia znotraj določenega območja CIDR prek končne točke VPC
- Primer negativne uporabe – Uporabnik dostopa do programa Studio z javnega naslova IP
Za testiranje teh primerov uporabe je rešitev ustvarila tri Amazonski elastični računalniški oblak (Amazon EC2) primerki:
- Zasebni gostitelj – Primerek EC2 Windows v zasebnem podomrežju, ki lahko dostopa do Studia (vaše varovano okolje na mestu uporabe)
- Bastion host – Primerek EC2 Linux v javnem podomrežju, ki se uporablja za vzpostavitev tunela SSH v zasebnega gostitelja v zasebnem omrežju
- Javni gostitelj – Primerek EC2 Windows v javnem podomrežju, ki dokazuje, da uporabnik ne more dostopati do Studia z nepooblaščenega naslova IP
Preizkusite dostop do studia iz pooblaščenega omrežja
Za izvedbo preizkusa sledite tem korakom:
- Za dostop do primerka EC2 Windows v zasebnem omrežju zaženite ukaz, ki je naveden kot vrednost izhodnega ključa SAM
TunnelCommand
. Prepričajte se, da je zasebni ključ para ključev, podanega v parametru, v imeniku, iz katerega se izvaja ukaz tunela SSH. Ukaz ustvari SSH tunel iz lokalnega računalnikalocalhost:3389
v primerek EC2 Windows v zasebnem omrežju. Oglejte si naslednji primer kode: - Na lokalnem namizju ali prenosnem računalniku odprite novo povezavo RDP (na primer z Microsoftovim oddaljenim namizjem) z
localhost
kot ciljni oddaljeni gostitelj. Ta povezava je tunelirana prek bastion gostitelja do zasebne instance EC2 Windows. Uporabite uporabniško imeAdministrator
in geslo iz izhoda skladaSageMakerWindowsPassword
. - Odprite spletni brskalnik Firefox z oddaljenega namizja.
- Pomaknite se in se prijavite na portal AWS SSO s poverilnicami, povezanimi z uporabniškim imenom, ki ste ga navedli kot
ssoUserName
parameter. - Izberite Varna predstavitev SageMaker Aplikacija AWS SSO s portala AWS SSO.
V novem oknu brskalnika ste preusmerjeni v Studio IDE.
Preizkusite dostop do Studia iz nepooblaščenega omrežja
Zdaj sledite tem korakom za simulacijo dostopa iz nepooblaščenega omrežja:
- Odprite novo povezavo RDP na IP-ju, navedenem v
SageMakerWindowsPublicHost
Izhod SAML. - Odprite spletni brskalnik Firefox z oddaljenega namizja.
- Pomaknite se in se prijavite na portal AWS SSO s poverilnicami, povezanimi z uporabniškim imenom, ki je bilo navedeno kot
ssoUserName
parameter. - Izberite Varna predstavitev SageMaker Aplikacija AWS SSO s portala AWS SSO.
Tokrat prejmete sporočilo o nepooblaščenem dostopu.
Čiščenje
Da bi se izognili stroškom, morate iz svojega računa AWS odstraniti vse vire, ki so na voljo z rešitvijo, in ročno ustvarjene vire. Sledite navodilom v rešitvi Datoteka README.
zaključek
Pokazali smo, da lahko z uvedbo vmesnega sloja za preverjanje pristnosti med končnim uporabnikom in Studiom nadzorujemo okolje, iz katerega lahko uporabnik dostopa do Studia, in izrecno blokiramo vsako drugo nepooblaščeno okolje.
Za dodatno poostritev varnosti lahko uporabniški vlogi dodate pravilnik IAM, da preprečite dostop do Studia s konzole. Če uporabljate AWS organizacije, lahko implementirate naslednje politiko nadzora storitev za organizacijske enote ali račune, ki potrebujejo dostop do Studia:
Čeprav rešitev, opisana v tej objavi, uporablja API Gateway in Lambda, lahko raziščete druge načine, kot je primerek EC2 z vloga primerka z uporabo enakega poteka dela za preverjanje dovoljenj, kot je opisano, ali celo neodvisnega sistema za obdelavo avtentikacije in avtorizacije uporabnikov ter ustvarjanje predhodno podpisanega URL-ja Studio.
Nadaljnje branje
Zaščita dostopa do Studia je aktivna raziskovalna tema in obstajajo tudi druge ustrezne objave o podobnih pristopih. Če želite izvedeti več o drugih storitvah in arhitekturah, ki jih lahko uporabljate, si oglejte naslednje objave na spletnem dnevniku strojnega učenja AWS:
O avtorjih
Jerome Bachelet je arhitekt rešitev pri Amazon Web Services. Uspešno mu pomaga pomagati strankam, da dobijo največjo vrednost od AWS za doseganje svojih poslovnih ciljev. Jerome ima več kot 10 let izkušenj pri delu z rešitvami za zaščito in varnost podatkov. Poleg tega, da je v oblaku, Jerome uživa v potovanjih in kvalitetnem preživljanju časa s svojo ženo in 2 hčerkama na območju Ženeve v Švici.
Jevgenij Iljin je arhitekt rešitev pri AWS. Ima več kot 20 let izkušenj na vseh ravneh razvoja programske opreme in arhitekture rešitev ter uporablja programske jezike od COBOL in Assembler do .NET, Java in Python. Razvija in kodira izvorne rešitve v oblaku s poudarkom na velikih podatkih, analitiki in podatkovnem inženiringu.
- '
- "
- 100
- 7
- 9
- O meni
- dostop
- Račun
- Ukrep
- aktivna
- Naslov
- vsi
- Amazon
- Amazon EC2
- Amazon SageMaker
- Amazon Web Services
- analitika
- API
- API-ji
- uporaba
- Arhitektura
- OBMOČJE
- Preverjanje pristnosti
- pooblastilo
- avtopilot
- AWS
- počutje
- Big Podatki
- Blog
- brskalnik
- poslovni
- klic
- primeri
- izziv
- izzivi
- Stroški
- Cloud
- oblak domač
- Koda
- Komunikacija
- Izračunajte
- konfiguracija
- povezava
- Povezovanje
- Konzole
- Potrošnik
- Posoda
- Zabojniki
- Mandatno
- Stranke, ki so
- datum
- Varstvo podatkov
- Varovanje podatkov
- Razvoj
- dns
- Ne
- učinek
- Končna točka
- Inženiring
- okolje
- Primer
- izvedba
- Vaja
- izkušnje
- poskus
- Izvlečki
- končno
- finančna
- finančne storitve
- Firefox
- prva
- Osredotočite
- sledi
- polno
- funkcija
- ustvarjajo
- gif
- Kako
- Kako
- HTTPS
- IAM
- identiteta
- izvajati
- izvajanja
- industrij
- integracija
- Internet
- IP
- IP naslov
- izolacija
- IT
- Java
- Delovna mesta
- vzdrževanje
- Ključne
- jeziki
- UČITE
- učenje
- vrstica
- linux
- lokalna
- strojno učenje
- upravljanje
- Microsoft
- Model
- net
- mreža
- Dostop do omrežja
- zvezki
- Ponudbe
- odprite
- Ostalo
- Geslo
- politike
- politika
- Popular
- Portal
- Prispevkov
- moč
- , ravnateljica
- zasebna
- zasebni ključ
- profil
- Programiranje
- programskih jezikov
- dokazilo
- dokaz koncepta
- zaščito
- zaščita
- zagotavljajo
- zagotavlja
- proxy
- javnega
- Python
- kakovost
- območje
- preusmeriti
- Zahteve
- Raziskave
- vir
- viri
- Odgovor
- Run
- sagemaker
- varnost
- Storitve
- služijo
- nastavite
- Podoben
- Enostavno
- Software
- Razvoj programske opreme
- rešitve
- Začetek
- Izjava
- shranjevanje
- Podprti
- Podpira
- švica
- sistem
- ciljna
- Test
- Testiranje
- skozi
- čas
- žeton
- Prometa
- usposabljanje
- ui
- Uporabniki
- vrednost
- Virtual
- web
- spletni brskalnik
- spletne storitve
- okna
- v
- brez
- potek dela
- Delovna sila
- deluje
- let