AWS'de bulut güvenliği en yüksek önceliktir. Amazon SageMaker Stüdyosu babalar gününe özelleştirilmiş ve kişilleştirilmiş çeşitli mekanizmalar AWS güvenlik hizmetleriyle entegrasyonu kullanarak verilerinizi ve kodunuzu korumak için AWS Kimlik ve Erişim Yönetimi (BEN), AWS Anahtar Yönetim Hizmeti (AWS KMS) veya ağ izolasyonu ile Amazon Sanal Özel Bulut (Amazon VPC'si).
Finansal hizmetler gibi yüksek düzeyde düzenlemeye tabi sektörlerdeki müşteriler, Studio'yu yalnızca VPC'de kurun ağ izolasyonunu etkinleştirmek ve Studio dizüstü bilgisayarlardan internet erişimini devre dışı bırakmak için mod. Hangi kullanıcıların Studio not defterleri, Studio IDE veya Amazon Adaçayı Yapıcı eğitim işleri.
Popüler bir kullanım durumu, Studio IDE'ye erişimi kısıtla yalnızca belirli bir ağ CIDR aralığından veya belirlenmiş bir VPC'den gelen kullanıcılara. Bunu uygulayarak başarabilirsiniz IAM kimliğine dayalı SageMaker politikaları ve bu politikaları bu izinleri gerektiren IAM kullanıcılarına veya gruplarına eklemek. Ancak, SageMaker etki alanı şu şekilde yapılandırılmalıdır: IAM kimlik doğrulama modu, çünkü IAM kimliğine dayalı politikalar şurada desteklenmez: AWS Tek Oturum Açma (TOA) Kimlik Doğrulama Modu.
Birçok müşteri, merkezileştirilmiş iş gücü kimlik denetimini etkinleştirmek ve tutarlı bir kullanıcı oturum açma deneyimi sağlamak için AWS SSO'yu kullanır. Bu gönderi, Studio'ya erişmek için AWS SSO özelliklerini korurken bu kullanım durumunun nasıl uygulanacağını gösterir.
Çözüme genel bakış
Yalnızca VPC modunda bir SageMaker etki alanı kurduğunuzda ve alt ağları ve güvenlik gruplarını belirlediğinizde, SageMaker elastik ağ arayüzleri Belirtilen alt ağlardaki güvenlik gruplarınızla ilişkili (ENI'ler). ENI'ler, eğitim kapsayıcılarınızın VPC'nizdeki kaynaklara bağlanmasına olanak tanır.
Bu modda, dizüstü bilgisayarlardan doğrudan internet erişimi tamamen devre dışı bırakılır ve tüm trafik, özel VPC'nizdeki bir ENI üzerinden yönlendirilir. Bu aynı zamanda Studio UI widget'larından ve deney yönetimi, otomatik pilot ve model izleme gibi arayüzlerden ilgili arka uç SageMaker API'lerine giden trafiği de içerir. AWS, Studio'nun ağ erişimi üzerinde ayrıntılı denetim uygulamak için yalnızca VPC modunun kullanılmasını önerir.
İlk zorluk, Studio internet bağlantısı olmadan konuşlandırılsa bile, Studio IDE'ye erişim varsayarak her yerden erişilebilir olmasıdır. AWS Yönetim Konsolu ve Studio, bir IAM sorumlusuna verilir. Studio'yu bir genel ağdan tamamen izole etmek ve tüm iletişimi sıkı bir şekilde kontrol edilen özel bir VPC içinde tutmak istiyorsanız bu durum kabul edilemez.
Bu zorluğu gidermek ve belirlenmiş bir VPC veya CIDR aralığı dışında Studio IDE'ye herhangi bir erişimi devre dışı bırakmak için, CreatePresignedDomainUrl SageMaker API'sı. Bu API'yi çağırmak için kullanılan IAM rolü veya kullanıcısı, Studio'ya erişim izinlerini tanımlar. Artık, istenen erişim yapılandırmasını uygulamak için IAM kimliğine dayalı ilkeleri kullanabilirsiniz. Örneğin, yalnızca belirlenmiş bir VPC'den erişimi etkinleştirmek için, önceden belirlenmiş bir etki alanı URL'si oluşturmak için kullanılan bir IAM sorumlusuyla ilişkili IAM ilkesine aşağıdaki koşulu ekleyin:
Yalnızca belirlenmiş bir VPC uç noktasından veya uç noktalarından erişimi etkinleştirmek için aşağıdaki koşulu belirtin:
Belirlenmiş bir CIDR aralığından erişimi kısıtlamak için aşağıdaki koşulu kullanın:
İkinci zorluk, IAM tabanlı erişim denetiminin yalnızca SageMaker etki alanı IAM kimlik doğrulama modunda yapılandırıldığında çalışmasıdır; SageMaker etki alanı AWS SSO modunda dağıtıldığında bunu kullanamazsınız. Sonraki bölüm, bu zorlukların nasıl ele alınacağını ve Studio'ya AWS SSO erişimiyle IAM tabanlı erişim denetiminin nasıl uygulanacağını gösterir.
Mimariye genel bakış
Studio, belirli bir SageMaker Studio kullanıcı profiline atanan bir SAML uygulaması olarak yayınlanır. Kullanıcılar, aşağıdaki ekran görüntüsünde gösterildiği gibi, Studio'ya doğrudan AWS SSO portalından kolayca erişebilir.
Çözüm, bir özel SAML 2.0 uygulaması Studio için kullanıcı kimlik doğrulamasını tetikleyen mekanizma olarak. Özel SAML uygulamasının aşağıdakilerle yapılandırılmasını gerektirir: Amazon API Ağ Geçidi uç nokta URL'si, Onaylama Tüketici Hizmeti (ACS) olarak bulunur ve AWS SSO kullanıcı kimliğinin yanı sıra SageMaker etki alanı kimliğini içeren eşleme özniteliklerine ihtiyaç duyar.
API Ağ Geçidi uç noktası, bir AWS Lambda Alan kimliğini ve kullanıcı kimliğini çıkarmak için SAML yanıtını ayrıştıran ve bunları bir Studio önceden tasarlanmış URL'si oluşturmak için kullanan işlev. Lambda işlevi, son olarak, kullanıcının Studio'da oturum açması için bir HTTP 302 yanıtı aracılığıyla bir yeniden yönlendirme gerçekleştirir.
Bir IAM politikası, Studio kullanıcılarının oturum açmasına izin verilen ağ ortamını kontrol eder ve önceki bölümde açıklanan kısıtlama koşulları da buna dahildir. Bu IAM politikası Lambda işlevine eklenmiştir. IAM politikası, aşağıdakileri aramak için bir izin içerir: sagemaker:CreatePresignedDomainURL
Yalnızca belirli bir kullanıcı profili için API:
Aşağıdaki diyagram çözüm mimarisini göstermektedir.
Çözüm, özel VPC'nize bir SageMaker etki alanı dağıtır ve VPC uç noktaları bir internet ağ geçidine ihtiyaç duymadan özel bir bağlantı aracılığıyla Studio, SageMaker çalışma zamanı ve SageMaker API'sine erişmek için. VPC uç noktaları, özel DNS etkinleştirilmiş olarak yapılandırılır (PrivateDnsEnabled=True
) ilişkilendirmek özel barındırılan bölge VPC'niz ile. Bu, Studio'nun varsayılan genel DNS adını kullanarak SageMaker API'sine erişmesini sağlar api.sagemaker.<Region>.amazonaws.com
VPC uç nokta URL'sini kullanmak yerine uç noktanın özel IP adresine çözümlenir.
Aşağıdakiler gibi diğer AWS hizmetlerine erişmek istiyorsanız VPC'nize VPC uç noktaları eklemeniz gerekir. Amazon Basit Depolama Hizmeti (Amazon S3), Amazon Elastik Konteyner Kayıt Defteri (Amazon ECR), AWS Security Token Hizmeti (AWS STS), AWS CloudFormationya da AWS CodeCommit.
Lambda işlevi yürütme rolüne eklenmiş IAM ilkeleriyle önceden belirlenmiş URL'yi ve diğer API çağrılarını oluşturmak için kullanılan izinleri tam olarak kontrol edebilir veya aracılığıyla kullanılan herhangi bir AWS hizmetine erişimi kontrol edebilirsiniz. VPC uç nokta politikaları. Studio ve SageMaker API'ye erişimi kontrol etmek için IAM politikaları kullanma örnekleri için bkz. Kimlik Tabanlı İlkeleri Kullanarak SageMaker API'sine Erişimi Kontrol Edin.
Çözüm, Studio etki alanının IAM modunda dağıtılmasını gerektirse de, son kullanıcıların Studio'da oturum açması için mekanizma olarak AWS SSO'nun kullanılmasına izin verir.
Aşağıdaki alt bölümler, ana çözüm bileşenlerinin ayrıntılı açıklamalarını içerir.
API ağ geçidi
API Ağ Geçidi uç noktası, özel SAML 2.0 uygulamasında yapılandırılan uygulama ACS URL'si için hedef görevi görür. Uç nokta özeldir ve adı verilen bir kaynağa sahiptir. /saml
ve Lambda proxy'si olarak yapılandırılmış entegrasyon isteğine sahip bir POST yöntemi. Çözüm, yapılandırılmış bir VPC uç noktası kullanır. com.amazonaws.<region>.execute-api
Bu API uç noktasını VPC içinden çağırmak için DNS adı.
AWS TOA
API Ağ Geçidi uç noktası URL'si ile özel bir SAML 2.0 uygulaması yapılandırıldı https:/{ restapi-id}.execute-api.amazonaws.com/saml
uygulama ACS URL'si olarak ve aşağıdaki gereksinimlerle öznitelik eşlemelerini kullanır:
- Kullanıcı tanımlayıcısı:
- Uygulamadaki kullanıcı özelliği - Kullanıcı adı
- AWS SSO'da kullanıcı özniteliğini eşler -
${user:AD_GUID}
- SageMaker alan kimliği tanımlayıcısı:
- Uygulamadaki kullanıcı özelliği -
domain-id
- AWS SSO'da kullanıcı özniteliğini eşler – Studio örneği için alan kimliği
- Uygulamadaki kullanıcı özelliği -
Uygulama, AWS SSO kullanıcı kimliğine eşit ada sahip bir Studio kullanıcı profili sağlayarak bir AWS SSO kullanıcısı için erişim kontrolünü uygular.
Lambda işlevi
Çözüm, API Ağ Geçidi için bir çağırma noktası olarak bir Lambda işlevi yapılandırır /saml
kaynak. işlev ayrıştırır SAMLResponse
AWS SSO tarafından gönderilen, domain-id
kullanıcı adının yanı sıra createPresignedDomainUrl
Studio URL'sini ve belirtecini almak ve kullanıcıyı bir HTTP 302 yanıtı kullanarak oturum açmaya yönlendirmek için SageMaker API. Lambda işlevi, yürütme rolüne eklenmiş belirli bir IAM ilkesine sahiptir. sagemaker:createPresignedDomainUrl
yalnızca belirli bir ağ CIDR aralığından istendiğinde eylem VpcSourceIp
koşul.
Lambda işlevi, örneğin bir imzayı kontrol etmek için SAML yanıtını doğrulamak için herhangi bir mantığa sahip değildir. Ancak, ACS olarak hizmet veren API Ağ Geçidi uç noktası özel veya yalnızca dahili olduğundan, bu kavram kanıtı ortamı için zorunlu değildir.
Çözümü dağıtın
The GitHub deposu uçtan uca çözüm için tam kaynak kodunu sağlar.
Çözümü dağıtmak için bir AWS hesabı için yönetici (veya yetkili kullanıcı) izinlerine sahip olmanız ve AWS Komut Satırı Arayüzü (AWS CLI) ve AWS SAM CLI'si ve minimum Python 3.8.
Çözüm, üç AWS Bölgesine dağıtımı destekler: eu-west-1
, eu-central-1
, ve us-east-1
. Dağıtım için bu Bölgelerden birini seçtiğinizden emin olun.
Çözümü test etmeye başlamak için çözümün aşağıdaki dağıtım adımlarını tamamlamanız gerekir. GitHub BENİOKU dosyası:
- AWS SSO'yu yapılandırmadıysanız ayarlayın.
- SAM uygulamasını kullanarak çözümü dağıtın.
- Yeni bir özel SAML 2.0 uygulaması oluşturun.
Dağıtım adımlarını tamamladıktan sonra çözüm testine geçebilirsiniz.
Çözümü test edin
Çözüm, AWS SSO ve SageMaker kimlik tabanlı ilkelerin kullanımını göstermek için iki kullanım örneğini simüle eder:
- Olumlu kullanım durumu – Bir kullanıcı, bir VPC uç noktası aracılığıyla belirlenmiş bir CIDR aralığından Studio'ya erişir
- Negatif kullanım durumu – Bir kullanıcı Studio'ya genel bir IP adresinden erişir
Bu kullanım örneklerini test etmek için çözüm üç Amazon Elastik Bilgi İşlem Bulutu (Amazon EC2) örnekleri:
- özel ev sahibi – Studio'ya (şirket içi güvenli ortamınız) erişebilen özel bir alt ağdaki bir EC2 Windows örneği
- kale ev sahibi – Özel ağdaki özel ana bilgisayara bir SSH tüneli oluşturmak için kullanılan genel alt ağdaki bir EC2 Linux örneği
- Herkese açık ev sahibi – Kullanıcının yetkisiz bir IP adresinden Studio'ya erişemeyeceğini göstermek için genel bir alt ağdaki bir EC2 Windows örneği
Yetkili bir ağdan Test Studio erişimi
Testi gerçekleştirmek için şu adımları izleyin:
- Özel ağdaki EC2 Windows örneğine erişmek için, SAM çıkış anahtarının değeri olarak sağlanan komutu çalıştırın.
TunnelCommand
. Parametrede belirtilen anahtar çiftinin özel anahtarının, SSH tünel komutunun çalıştırıldığı dizinde olduğundan emin olun. komut oluşturur SSH tüneli yerel bilgisayardanlocalhost:3389
özel ağdaki EC2 Windows örneğine. Aşağıdaki örnek koda bakın: - Yerel masaüstünüzde veya dizüstü bilgisayarınızda, kullanarak yeni bir RDP bağlantısı açın (örneğin, Microsoft Uzak Masaüstü'nü kullanarak).
localhost
hedef uzak ana bilgisayar olarak. Bu bağlantı, kale ana bilgisayarı aracılığıyla özel EC2 Windows bulut sunucusuna tünellenir. kullanıcı adını kullanAdministrator
ve yığın çıktısından şifreSageMakerWindowsPassword
. - Uzak masaüstünden Firefox web tarayıcısını açın.
- olarak belirttiğiniz kullanıcı adıyla ilişkili kimlik bilgilerini kullanarak AWS SSO portalına gidin ve oturum açın.
ssoUserName
parametre. - Seçin SageMaker Güvenli Demo AWS SSO portalından AWS SSO uygulaması.
Yeni bir tarayıcı penceresinde Studio IDE'ye yönlendirilirsiniz.
Yetkisiz bir ağdan Test Studio erişimi
Şimdi yetkisiz bir ağdan erişimi simüle etmek için şu adımları izleyin:
- Sağlanan IP'de yeni bir RDP bağlantısı açın.
SageMakerWindowsPublicHost
SAML çıktısı. - Uzak masaüstünden Firefox web tarayıcısını açın.
- olarak belirtilen kullanıcı adıyla ilişkili kimlik bilgilerini kullanarak AWS SSO portalına gidin ve oturum açın.
ssoUserName
parametre. - Seçin SageMaker Güvenli Demo AWS SSO portalından AWS SSO uygulaması.
Bu sefer yetkisiz erişim mesajı alıyorsunuz.
Temizlemek
Ücretlerden kaçınmak için çözüm tarafından sağlanan ve manuel olarak oluşturulan tüm kaynakları AWS hesabınızdan kaldırmanız gerekir. Çözümün içindeki talimatları izleyin. README dosyası.
Sonuç
Son kullanıcı ile Studio arasına bir ara katman kimlik doğrulama katmanı ekleyerek, kullanıcının Studio'ya erişmesine izin verilen ortamı kontrol edebileceğimizi ve diğer tüm yetkisiz ortamları açıkça engelleyebileceğimizi gösterdik.
Güvenliği daha da sıkılaştırmak için, konsoldan Studio'ya erişimi engellemek için bir kullanıcı rolüne bir IAM politikası ekleyebilirsiniz. Eğer kullanırsan AWS Kuruluşları, aşağıdakileri uygulayabilirsiniz hizmet kontrol politikası Studio'ya erişmesi gereken kuruluş birimleri veya hesaplar için:
Bu gönderide açıklanan çözüm API Gateway ve Lambda kullanıyor olsa da, bir EC2 bulut sunucusu gibi diğer yolları keşfedebilirsiniz. örnek rolü açıklandığı gibi aynı izin doğrulama iş akışını veya hatta kullanıcı kimlik doğrulamasını ve yetkilendirmeyi işlemek ve Studio önceden tasarlanmış bir URL oluşturmak için bağımsız bir sistemi kullanmak.
Ek okuma
Studio'ya erişimin güvence altına alınması aktif bir araştırma konusudur ve benzer yaklaşımlarla ilgili başka gönderiler de vardır. Kullanabileceğiniz diğer hizmetler ve mimariler hakkında daha fazla bilgi edinmek için AWS Machine Learning Blog'daki aşağıdaki gönderilere bakın:
Yazarlar Hakkında
Jerome Bachelet Amazon Web Services'te Çözüm Mimarıdır. Müşterilerin iş hedeflerine ulaşmaları için AWS'den en fazla değeri elde etmelerine yardımcı olma konusunda başarılıdır. Jerome, veri koruma ve veri güvenliği çözümleriyle çalışma konusunda 10 yılı aşkın deneyime sahiptir. Bulutta olmanın yanı sıra Jerome, İsviçre'nin Cenevre bölgesinde eşi ve 2 kızıyla seyahat etmekten ve kaliteli zaman geçirmekten hoşlanır.
Yevgeniy İlyin AWS'de Çözüm Mimarıdır. Yazılım geliştirme ve çözüm mimarisinin tüm seviyelerinde 20 yılı aşkın deneyime sahiptir ve COBOL ve Assembler'dan .NET, Java ve Python'a kadar programlama dillerini kullanmıştır. Büyük veri, analitik ve veri mühendisliğine odaklanarak bulut tabanlı çözümler geliştirir ve kodlar.
- '
- "
- 100
- 7
- 9
- Hakkımızda
- erişim
- Hesap
- Action
- aktif
- adres
- Türkiye
- Amazon
- Amazon EC2
- Amazon Adaçayı Yapıcı
- Amazon Web Servisleri
- analytics
- api
- API'ler
- Uygulama
- mimari
- ALAN
- Doğrulama
- yetki
- otomatik pilot
- AWS
- olmak
- büyük Veri
- Blog
- tarayıcı
- iş
- çağrı
- durumlarda
- meydan okuma
- zorluklar
- yükler
- bulut
- Bulut yerel
- kod
- Yakın İletişim
- hesaplamak
- yapılandırma
- bağ
- Bağlantı
- konsolos
- tüketici
- Konteyner
- Konteynerler
- Tanıtım
- Müşteriler
- veri
- veri koruma
- veri güvenliği
- gelişme
- dns
- Değil
- Efekt
- Son nokta
- Mühendislik
- çevre
- örnek
- infaz
- Egzersiz
- deneyim
- deneme
- Hulasa
- Nihayet
- mali
- finansal hizmetler
- Firefox
- Ad
- odak
- takip et
- tam
- işlev
- oluşturmak
- gif
- Ne kadar
- Nasıl Yapılır
- HTTPS
- IAM
- Kimlik
- uygulamak
- uygulanması
- Endüstri
- bütünleşme
- Internet
- IP
- IP Adresi
- izolasyon
- IT
- Java
- Mesleki Öğretiler
- koruma
- anahtar
- Diller
- ÖĞRENİN
- öğrenme
- çizgi
- linux
- yerel
- makine öğrenme
- yönetim
- Microsoft
- model
- net
- ağ
- Ağ Girişi
- dizüstü bilgisayarlar
- Teklifler
- açık
- Diğer
- Şifre
- politikaları
- politika
- Popüler
- Portal
- Mesajlar
- güç kelimesini seçerim
- Anapara
- özel
- özel Anahtar
- Profil
- Programlama
- Programlama dilleri
- kanıt
- kavramın ispatı
- korumak
- koruma
- sağlamak
- sağlar
- vekil
- halka açık
- Python
- kalite
- menzil
- yönlendirme
- Yer Alan Kurallar
- araştırma
- kaynak
- Kaynaklar
- yanıt
- koşmak
- sagemaker
- güvenlik
- Hizmetler
- servis
- set
- benzer
- Basit
- Yazılım
- yazılım geliştirme
- Çözümler
- başlama
- Açıklama
- hafızası
- destekli
- Destekler
- isviçre
- sistem
- Hedef
- test
- Test yapmak
- İçinden
- zaman
- simge
- trafik
- Eğitim
- ui
- kullanıcılar
- değer
- Sanal
- ağ
- web tarayıcı
- web hizmetleri
- pencereler
- içinde
- olmadan
- iş akışı
- işgücü
- çalışır
- yıl