A felhőalapú biztonság az AWS-nél a legmagasabb prioritás. Amazon SageMaker Studio ajánlatok különféle mechanizmusok hogy megvédje adatait és kódját az AWS biztonsági szolgáltatásokkal való integrációval, mint pl AWS Identity and Access Management (ÉN VAGYOK), AWS kulcskezelési szolgáltatás (AWS KMS), vagy hálózati leválasztás Amazon Virtual Private Cloud (Amazon VPC).
A szigorúan szabályozott iparágakban, például a pénzügyi szolgáltatásokban dolgozó ügyfelek ezt megtehetik csak VPC-ben állítsa be a Stúdiót módban engedélyezheti a hálózati leválasztást és letilthatja az internet-hozzáférést a Studio notebookokról. A Studio IAM-integrációjával szabályozhatja, hogy mely felhasználók férhetnek hozzá olyan erőforrásokhoz, mint a Studio notebookok, a Studio IDE vagy Amazon SageMaker képzési munkák.
Népszerű használati eset a korlátozza a Studio IDE-hez való hozzáférést csak egy meghatározott hálózati CIDR-tartományon belüli vagy egy kijelölt VPC-n belüli felhasználók számára. Ezt megvalósítással érheti el IAM identitás alapú SageMaker szabályzatok és csatolja ezeket a házirendeket azokhoz az IAM-felhasználókhoz vagy csoportokhoz, amelyek ezeket az engedélyeket igénylik. A SageMaker tartományt azonban a következővel kell konfigurálni IAM hitelesítési mód, mert az IAM identitásalapú házirendek nem támogatottak AWS egyszeri bejelentkezés (SSO) hitelesítési mód.
Sok ügyfél használja az AWS SSO-t, hogy lehetővé tegye a munkaerő-azonosság központosított felügyeletét és egységes felhasználói bejelentkezési élményt. Ez a bejegyzés bemutatja, hogyan lehet megvalósítani ezt a használati esetet, miközben megőrzi az AWS SSO-képességeket a Studio eléréséhez.
Megoldás áttekintése
Amikor csak VPC módban állít be egy SageMaker tartományt, és megadja az alhálózatokat és a biztonsági csoportokat, a SageMaker rugalmas hálózati interfészek (ENI), amelyek a megadott alhálózatokban a biztonsági csoportokhoz vannak társítva. Az ENI-k lehetővé teszik, hogy az edzéskonténerek csatlakozzanak a VPC erőforrásaihoz.
Ebben a módban a notebookok közvetlen internet-hozzáférése teljesen le van tiltva, és az összes forgalom egy ENI-n keresztül van irányítva a privát VPC-n. Ez magában foglalja a Studio UI modulokból és interfészekből – például a kísérletkezelésből, az autopilotból és a modellfigyelőből – a megfelelő SageMaker API-k felé irányuló forgalmat is. Az AWS a Csak VPC mód használatát javasolja a Studio hálózati hozzáférésének finom vezérléséhez.
Az első kihívás az, hogy bár a Studio internetkapcsolat nélkül kerül telepítésre, a Studio IDE továbbra is bárhonnan elérhető, feltéve, hogy a AWS felügyeleti konzol és a Stúdiót egy IAM-megbízó kapja. Ez a helyzet nem fogadható el, ha teljesen el kívánja szigetelni a Studio-t egy nyilvános hálózattól, és minden kommunikációt egy szigorúan ellenőrzött privát VPC-n belül kíván tartani.
Ennek a kihívásnak a megoldásához és a Studio IDE-hez való bármely hozzáférés letiltásához, kivéve a kijelölt VPC- vagy CIDR-tartományból, használja a CreatePresignedDomainUrl SageMaker API. Az API meghívásához használt IAM-szerepkör vagy felhasználó határozza meg a Studio eléréséhez szükséges engedélyeket. Most már használhatja az IAM identitás alapú házirendeket a kívánt hozzáférési konfiguráció megvalósításához. Például, ha csak egy kijelölt VPC-ről szeretné engedélyezni a hozzáférést, adja hozzá a következő feltételt az IAM-irányelvhez társított IAM-házirendhez, amely egy előre aláírt tartományi URL generálására szolgál:
Ha csak egy kijelölt VPC-végpontról vagy végpontokról szeretne hozzáférést engedélyezni, adja meg a következő feltételt:
A következő feltételekkel korlátozhatja a hozzáférést egy kijelölt CIDR-tartományból:
A második kihívás az, hogy az IAM-alapú hozzáférés-vezérlés csak akkor működik, ha a SageMaker tartomány IAM-hitelesítési módban van konfigurálva; nem használhatja, ha a SageMaker tartomány AWS SSO módban van telepítve. A következő szakasz bemutatja, hogyan kezelheti ezeket a kihívásokat, és hogyan valósíthat meg IAM-alapú hozzáférés-vezérlést AWS SSO-hozzáféréssel a Studio-hoz.
Építészeti áttekintés
A Studio SAML-alkalmazásként jelenik meg, amely egy adott SageMaker Studio felhasználói profilhoz van hozzárendelve. A felhasználók kényelmesen hozzáférhetnek a Studio-hoz közvetlenül az AWS SSO-portálról, amint az a következő képernyőképen látható.
A megoldás integrálódik a egyéni SAML 2.0 alkalmazás mint a Studio felhasználói hitelesítésének kiváltására szolgáló mechanizmus. Megköveteli, hogy az egyéni SAML-alkalmazás a következővel legyen konfigurálva Amazon API átjáró végpont URL-jét az Assertion Consumer Service (ACS) szolgáltatásaként, és az AWS SSO felhasználói azonosítót és a SageMaker tartományazonosítót tartalmazó leképezési attribútumokra van szüksége.
Az API-átjáró végpontja meghív egy AWS Lambda függvény, amely elemzi a SAML-választ a tartományazonosító és a felhasználói azonosító kinyeréséhez, és a Studio által előre aláírt URL létrehozásához használja őket. A Lambda funkció végül egy HTTP 302-es válaszon keresztül átirányítást hajt végre, hogy bejelentkezzen a felhasználóba a Studio alkalmazásban.
Az IAM-házirend szabályozza azt a hálózati környezetet, amelyből a Studio-felhasználók bejelentkezhetnek, beleértve az előző szakaszban leírt korlátozási feltételeket. Ez az IAM-szabályzat a Lambda függvényhez kapcsolódik. Az IAM házirend engedélyt tartalmaz a sagemaker:CreatePresignedDomainURL
API csak egy adott felhasználói profilhoz:
A következő ábra a megoldás architektúráját mutatja be.
A megoldás egy SageMaker tartományt telepít a privát VPC-be és VPC végpontok a Studio, a SageMaker futtatókörnyezet és a SageMaker API eléréséhez privát kapcsolaton keresztül, internetes átjáró nélkül. A VPC végpontok úgy vannak konfigurálva, hogy a privát DNS engedélyezett (PrivateDnsEnabled=True
) társítani a privát hosztolt zóna a VPC-vel. Ez lehetővé teszi a Studio számára, hogy az alapértelmezett nyilvános DNS-név használatával hozzáférjen a SageMaker API-hoz api.sagemaker.<Region>.amazonaws.com
a végpont privát IP-címére oldja fel a VPC végpont URL-címe helyett.
VPC-végpontokat kell hozzáadnia a VPC-hez, ha bármilyen más AWS-szolgáltatáshoz szeretne hozzáférni, például Amazon egyszerű tárolási szolgáltatás (Amazon S3), Amazon Elastic Container Registry (Amazon ECR), AWS biztonsági token szolgáltatás (AWS STS), AWS felhőképződésvagy AWS CodeCommit.
Teljes mértékben szabályozhatja az előre aláírt URL és bármely más API-hívás létrehozásához használt engedélyeket a Lambda-függvény-végrehajtási szerepkörhöz csatolt IAM-házirendekkel, vagy szabályozhatja a hozzáférést bármely használt AWS-szolgáltatáshoz a következőn keresztül. VPC végpont házirendek. A Studio és a SageMaker API-hoz való hozzáférés szabályozására szolgáló IAM-házirendek használatára vonatkozó példákat lásd: A SageMaker API-hoz való hozzáférés szabályozása identitásalapú házirendek használatával.
Bár a megoldás megköveteli, hogy a Studio tartományt IAM módban telepítsék, lehetővé teszi az AWS SSO használatát a végfelhasználók számára a Studio-ba való bejelentkezéshez.
A következő alfejezetek a megoldás fő összetevőinek részletes leírását tartalmazzák.
API-átjáró
Az API-átjáró-végpont az egyéni SAML 2.0 alkalmazásban konfigurált alkalmazás ACS URL-jének célpontjaként működik. A végpont privát, és van egy nevű erőforrása /saml
és egy POST metódus, amelynek integrációs kérése Lambda proxyként van konfigurálva. A megoldás egy konfigurált VPC-végpontot használ com.amazonaws.<region>.execute-api
DNS-név ennek az API-végpontnak a VPC-n belüli meghívásához.
AWS SSO
Egy egyéni SAML 2.0 alkalmazás az API-átjáró végpont URL-címével van konfigurálva https:/{ restapi-id}.execute-api.amazonaws.com/saml
alkalmazásának ACS URL-jeként, és attribútum-leképezéseket használ a következő követelményekkel:
- Felhasználó azonosító:
- Felhasználói attribútum az alkalmazásban - felhasználónév
- Felhasználói attribútum leképezése az AWS SSO-ban -
${user:AD_GUID}
- SageMaker domain azonosító azonosító:
- Felhasználói attribútum az alkalmazásban -
domain-id
- Felhasználói attribútum leképezése az AWS SSO-ban – A Studio-példány tartományazonosítója
- Felhasználói attribútum az alkalmazásban -
Az alkalmazás úgy valósítja meg az AWS SSO-felhasználók hozzáférés-vezérlését, hogy létrehoz egy Studio felhasználói profilt, amelynek neve megegyezik az AWS SSO felhasználói azonosítójával.
Lambda funkció
A megoldás egy Lambda függvényt konfigurál az API-átjáró meghívási pontjaként /saml
forrás. A függvény elemzi a SAMLResponse
AWS SSO által küldött, kivonatolja a domain-id
valamint a felhasználónevet, és meghívja a createPresignedDomainUrl
A SageMaker API lekéri a Studio URL-címét és a tokent, és átirányítja a felhasználót a bejelentkezésre HTTP 302-válasz használatával. A Lambda függvény végrehajtási szerepéhez specifikus IAM-házirend tartozik, amely lehetővé teszi a sagemaker:createPresignedDomainUrl
művelet csak akkor történik, ha egy adott hálózati CIDR-tartományból kérik a VpcSourceIp
feltételt.
A Lambda függvénynek nincs logikája a SAML-válasz érvényesítéséhez, például egy aláírás ellenőrzéséhez. Mivel azonban az ACS-ként szolgáló API-átjáró-végpont privát vagy csak belső, nem kötelező ebben a koncepció-bizonyítási környezetben.
Telepítse a megoldást
A GitHub tárház biztosítja a teljes forráskódot a végpontok közötti megoldáshoz.
A megoldás üzembe helyezéséhez rendszergazdai (vagy kiemelt felhasználói) jogosultságokkal kell rendelkeznie egy AWS-fiókhoz, és telepítenie kell a AWS parancssori interfész (AWS CLI) és AWS SAM CLI és minimum Python 3.8.
A megoldás három AWS-régióban támogatja a telepítést: eu-west-1
, eu-central-1
és us-east-1
. Győződjön meg arról, hogy ezek közül a régiók egyikét választotta ki a telepítéshez.
A megoldás tesztelésének megkezdéséhez végre kell hajtania a következő telepítési lépéseket a megoldásból GitHub README fájl:
- Állítsa be az AWS SSO-t, ha nincs konfigurálva.
- Telepítse a megoldást a SAM alkalmazás segítségével.
- Hozzon létre egy új egyéni SAML 2.0 alkalmazást.
A telepítési lépések végrehajtása után folytathatja a megoldástesztet.
Tesztelje az oldatot
A megoldás két használati esetet szimulál az AWS SSO és a SageMaker identitásalapú házirendek használatának bemutatására:
- Pozitív használati eset – A felhasználó egy kijelölt CIDR-tartományon belül egy VPC-végponton keresztül éri el a Studio-t
- Negatív használati eset – A felhasználó nyilvános IP-címről fér hozzá a Studio-hoz
Ezeknek a használati eseteknek a tesztelésére a megoldás hármat hozott létre Amazon rugalmas számítási felhő (Amazon EC2) példányok:
- Privát házigazda – EC2 Windows-példány egy privát alhálózatban, amely képes hozzáférni a Studio-hoz (az Ön helyszíni biztonságos környezetéhez)
- Bástya házigazda – Egy EC2 Linux-példány a nyilvános alhálózatban, amellyel SSH alagút létesíthető a magánhálózaton lévő privát gazdagépbe
- Nyilvános házigazda – EC2 Windows-példány nyilvános alhálózatban annak bizonyítására, hogy a felhasználó nem férhet hozzá a Studio-hoz jogosulatlan IP-címről
Tesztelje a Studio hozzáférést egy engedélyezett hálózatról
A teszt végrehajtásához kövesse az alábbi lépéseket:
- Az EC2 Windows-példány privát hálózaton való eléréséhez futtassa a SAM kimeneti kulcs értékeként megadott parancsot
TunnelCommand
. Győződjön meg arról, hogy a paraméterben megadott kulcspár privát kulcsa abban a könyvtárban van, ahonnan az SSH tunnel parancs fut. A parancs létrehoz egy SSH alagút a bekapcsolt helyi számítógéprőllocalhost:3389
az EC2 Windows-példányhoz a magánhálózaton. Lásd a következő példakódot: - A helyi asztalon vagy notebookon nyisson meg egy új RDP-kapcsolatot (például a Microsoft Remote Desktop segítségével) a
localhost
mint a cél távoli gazdagép. Ezt a kapcsolatot a bástya gazdagépen keresztül a privát EC2 Windows-példányhoz vezetik. Használja a felhasználónevetAdministrator
és jelszót a verem kimenetébőlSageMakerWindowsPassword
. - Nyissa meg a Firefox webböngészőjét a távoli asztalról.
- Navigáljon és jelentkezzen be az AWS SSO-portálra a felhasználónévként megadott hitelesítő adatok használatával.
ssoUserName
paraméter. - Válassza a SageMaker Secure Demo AWS SSO alkalmazás az AWS SSO portálról.
A rendszer átirányítja a Studio IDE-re egy új böngészőablakban.
Tesztelje a Studio hozzáférést jogosulatlan hálózatról
Most kövesse az alábbi lépéseket a jogosulatlan hálózatról való hozzáférés szimulálásához:
- Nyisson meg egy új RDP-kapcsolatot a megadott IP-címen
SageMakerWindowsPublicHost
SAML kimenet. - Nyissa meg a Firefox webböngészőjét a távoli asztalról.
- Navigáljon és jelentkezzen be az AWS SSO portálra a felhasználónévhez társított hitelesítési adatok használatával, amelyet
ssoUserName
paraméter. - Válassza a SageMaker Secure Demo AWS SSO alkalmazás az AWS SSO portálról.
Ezúttal jogosulatlan hozzáférésű üzenetet kap.
Tisztítsuk meg
A költségek elkerülése érdekében el kell távolítania az összes megoldás által biztosított és manuálisan létrehozott erőforrást AWS-fiókjából. Kövesse a megoldás utasításait README fájl.
Következtetés
Bemutattuk, hogy a végfelhasználó és a Studio közötti köztesszoftver-hitelesítési réteg bevezetésével szabályozhatjuk azt a környezetet, amelyből a felhasználó hozzáférhet a Studióhoz, és kifejezetten blokkolhatunk minden más jogosulatlan környezetet.
A biztonság további szigorítása érdekében hozzáadhat egy IAM-házirendet egy felhasználói szerepkörhöz, amely megakadályozza a Studio konzolról való elérését. Ha használ AWS szervezetek, a következőket hajthatja végre szolgáltatás-ellenőrzési szabályzat azokhoz a szervezeti egységekhez vagy fiókokhoz, amelyeknek hozzáférésre van szükségük a Stúdióhoz:
Bár az ebben a bejegyzésben leírt megoldás az API Gateway-t és a Lambdát használja, felfedezhet más módokat is, például egy EC2 példányt egy példaszerep ugyanazt az engedélyérvényesítési munkafolyamatot használja, mint a leírtak, vagy akár egy független rendszert használva a felhasználói hitelesítés és -engedélyezés kezelésére, valamint a Studio által előre aláírt URL-cím létrehozására.
További olvasnivaló
A Stúdióhoz való hozzáférés biztosítása aktív kutatási téma, és vannak más releváns bejegyzések is hasonló megközelítésekről. Tekintse meg az AWS Machine Learning Blog következő bejegyzéseit, ha többet szeretne megtudni a használható egyéb szolgáltatásokról és architektúrákról:
A szerzőkről
Jerome Bachelet az Amazon Web Services megoldástervezője. Arra törekszik, hogy segítse ügyfeleit abban, hogy a legtöbb értéket hozzák ki az AWS-ből üzleti céljaik elérése érdekében. Jerome több mint 10 éves tapasztalattal rendelkezik adatvédelmi és adatbiztonsági megoldások terén. A felhőben való tartózkodás mellett Jerome élvezi az utazásokat és a minőségi időt feleségével és 2 lányával a svájci Genfben.
Jevgenyij Iljin az AWS megoldási építésze. Több mint 20 éves tapasztalattal rendelkezik a szoftverfejlesztés és megoldásarchitektúra minden szintjén, és használt programozási nyelveket a COBOL-tól és az Assembler-től a .NET-ig, a Java-ig és a Python-ig. Felhőalapú natív megoldásokat fejleszt és kódol a big data, az analitika és az adatkezelésre összpontosítva.
- '
- "
- 100
- 7
- 9
- Rólunk
- hozzáférés
- Fiók
- Akció
- aktív
- cím
- Minden termék
- amazon
- Amazon EC2
- Amazon SageMaker
- Az Amazon Web Services
- analitika
- api
- API-k
- Alkalmazás
- építészet
- TERÜLET
- Hitelesítés
- meghatalmazás
- robotpilóta
- AWS
- hogy
- Big adatok
- Blog
- böngésző
- üzleti
- hívás
- esetek
- kihívás
- kihívások
- díjak
- felhő
- Felhő natív
- kód
- közlés
- Kiszámít
- Configuration
- kapcsolat
- Connectivity
- Konzol
- fogyasztó
- Konténer
- Konténerek
- Hitelesítő adatok
- Ügyfelek
- dátum
- adat védelem
- adatbiztonság
- Fejlesztés
- dns
- Nem
- hatás
- Endpoint
- Mérnöki
- Környezet
- példa
- végrehajtás
- Gyakorol
- tapasztalat
- kísérlet
- kivonatok
- Végül
- pénzügyi
- pénzügyi szolgáltatások
- Firefox
- vezetéknév
- Összpontosít
- következik
- Tele
- funkció
- generál
- gif
- Hogyan
- How To
- HTTPS
- IAM
- Identitás
- végre
- végrehajtási
- iparágak
- integráció
- Internet
- IP
- IP-cím
- szigetelés
- IT
- Jáva
- Állások
- tartás
- Kulcs
- Nyelvek
- TANUL
- tanulás
- vonal
- linux
- helyi
- gépi tanulás
- vezetés
- microsoft
- modell
- háló
- hálózat
- Hálózati hozzáférés
- laptopok
- Ajánlatok
- nyitva
- Más
- Jelszó
- Politikák
- politika
- Népszerű
- Portál
- Hozzászólások
- hatalom
- Fő
- magán
- magánkulcs
- profil
- Programozás
- programozási nyelvek
- bizonyíték
- bizonyíték a koncepcióra
- védelme
- védelem
- ad
- biztosít
- meghatalmazott
- nyilvános
- Piton
- világítás
- hatótávolság
- átirányítás
- követelmények
- kutatás
- forrás
- Tudástár
- válasz
- futás
- sagemaker
- biztonság
- Szolgáltatások
- szolgáló
- készlet
- hasonló
- Egyszerű
- szoftver
- szoftverfejlesztés
- Megoldások
- kezdet
- nyilatkozat
- tárolás
- Támogatott
- Támogatja
- svájc
- rendszer
- cél
- teszt
- Tesztelés
- Keresztül
- idő
- jelképes
- forgalom
- Képzések
- ui
- Felhasználók
- érték
- Tényleges
- háló
- webböngésző
- webes szolgáltatások
- ablakok
- belül
- nélkül
- munkafolyamat
- munkaerő
- művek
- év