Keamanan cloud di AWS adalah prioritas tertinggi. Studio Amazon SageMaker penawaran berbagai mekanisme untuk melindungi data dan kode Anda menggunakan integrasi dengan layanan keamanan AWS seperti Identitas AWS dan Manajemen Akses (SAYA), Layanan Manajemen Kunci AWS (AWS KMS), atau isolasi jaringan dengan Cloud Pribadi Virtual Amazon (VPC Amazon).
Pelanggan di industri yang sangat diatur, seperti layanan keuangan, bisa menyiapkan Studio di VPC saja mode untuk mengaktifkan isolasi jaringan dan menonaktifkan akses internet dari notebook Studio. Anda dapat menggunakan integrasi IAM dengan Studio untuk mengontrol pengguna mana yang memiliki akses ke sumber daya seperti notebook Studio, Studio IDE, atau Amazon SageMaker pekerjaan pelatihan.
Kasus penggunaan yang populer adalah untuk membatasi akses ke Studio IDE hanya untuk pengguna dari dalam rentang CIDR jaringan tertentu atau VPC yang ditunjuk. Anda dapat mencapai ini dengan menerapkan Kebijakan SageMaker berbasis identitas IAM dan melampirkan kebijakan tersebut ke pengguna atau grup IAM yang memerlukan izin tersebut. Namun, domain SageMaker harus dikonfigurasi dengan Mode otentikasi IAM, karena kebijakan berbasis identitas IAM tidak didukung di Sistem Masuk Tunggal AWS (SSO) Mode Autentikasi.
Banyak pelanggan menggunakan AWS SSO untuk mengaktifkan kontrol identitas tenaga kerja terpusat dan memberikan pengalaman masuk pengguna yang konsisten. Posting ini menunjukkan cara mengimplementasikan kasus penggunaan ini sambil mempertahankan kemampuan AWS SSO untuk mengakses Studio.
Ikhtisar solusi
Saat Anda menyiapkan domain SageMaker dalam mode khusus VPC dan menentukan subnet dan grup keamanan, SageMaker membuat antarmuka jaringan elastis (ENI) yang terkait dengan grup keamanan Anda di subnet yang ditentukan. ENI memungkinkan wadah pelatihan Anda terhubung ke sumber daya di VPC Anda.
Dalam mode ini, akses internet langsung dari notebook dinonaktifkan sepenuhnya, dan semua lalu lintas dialihkan melalui ENI di VPC pribadi Anda. Ini juga mencakup lalu lintas dari widget dan antarmuka UI Studio—seperti manajemen eksperimen, autopilot, dan monitor model—ke API SageMaker backend masing-masing. AWS merekomendasikan penggunaan mode VPC saja untuk menjalankan kontrol yang sangat halus pada akses jaringan Studio.
Tantangan pertama adalah meskipun Studio digunakan tanpa konektivitas internet, Studio IDE masih dapat diakses dari mana saja, dengan asumsi akses ke Konsol Manajemen AWS dan Studio diberikan kepada prinsipal IAM. Situasi ini tidak dapat diterima jika Anda ingin sepenuhnya mengisolasi Studio dari jaringan publik dan memuat semua komunikasi dalam VPC pribadi yang dikontrol dengan ketat.
Untuk mengatasi tantangan ini dan menonaktifkan akses apa pun ke Studio IDE kecuali dari VPC yang ditentukan atau rentang CIDR, Anda dapat menggunakan API SageMaker CreatePresignedDomainUrl. Peran atau pengguna IAM yang digunakan untuk memanggil API ini menentukan izin untuk mengakses Studio. Sekarang Anda dapat menggunakan kebijakan berbasis identitas IAM untuk mengimplementasikan konfigurasi akses yang diinginkan. Misalnya, untuk mengaktifkan akses hanya dari VPC yang ditunjuk, tambahkan ketentuan berikut ke kebijakan IAM, terkait dengan prinsipal IAM, yang digunakan untuk menghasilkan URL domain yang telah ditetapkan sebelumnya:
Untuk mengaktifkan akses hanya dari titik akhir atau titik akhir VPC yang ditentukan, tentukan ketentuan berikut:
Gunakan ketentuan berikut untuk membatasi akses dari rentang CIDR yang ditentukan:
Tantangan kedua adalah bahwa kontrol akses berbasis IAM hanya berfungsi ketika domain SageMaker dikonfigurasi dalam mode autentikasi IAM; Anda tidak dapat menggunakannya saat domain SageMaker diterapkan dalam mode AWS SSO. Bagian selanjutnya menunjukkan cara mengatasi tantangan ini dan mengimplementasikan kontrol akses berbasis IAM dengan akses SSO AWS ke Studio.
Tinjauan arsitektur
Studio diterbitkan sebagai aplikasi SAML, yang ditetapkan ke profil pengguna SageMaker Studio tertentu. Pengguna dapat dengan mudah mengakses Studio langsung dari portal AWS SSO, seperti yang ditunjukkan pada tangkapan layar berikut.
Solusinya terintegrasi dengan a aplikasi SAML 2.0 khusus sebagai mekanisme untuk memicu otentikasi pengguna untuk Studio. Aplikasi SAML khusus harus dikonfigurasi dengan Gerbang API Amazon URL titik akhir sebagai Assertion Consumer Service (ACS), dan memerlukan atribut pemetaan yang berisi ID pengguna AWS SSO serta ID domain SageMaker.
Endpoint API Gateway memanggil an AWS Lambda fungsi yang mem-parsing respons SAML untuk mengekstrak ID domain dan ID pengguna dan menggunakannya untuk menghasilkan URL yang ditetapkan oleh Studio. Fungsi Lambda akhirnya melakukan pengalihan melalui respons HTTP 302 untuk memasukkan pengguna di Studio.
Kebijakan IAM mengontrol lingkungan jaringan tempat pengguna Studio diizinkan untuk masuk, yang mencakup ketentuan pembatasan seperti yang dijelaskan di bagian sebelumnya. Kebijakan IAM ini dilampirkan ke fungsi Lambda. Kebijakan IAM berisi izin untuk memanggil sagemaker:CreatePresignedDomainURL
API untuk profil pengguna tertentu saja:
Diagram berikut menunjukkan arsitektur solusi.
Solusinya menerapkan domain SageMaker ke VPC pribadi Anda dan Titik akhir VPC untuk mengakses Studio, runtime SageMaker, dan API SageMaker melalui koneksi pribadi tanpa memerlukan gateway internet. Titik akhir VPC dikonfigurasi dengan mengaktifkan DNS pribadi (PrivateDnsEnabled=True
) untuk mengasosiasikan a zona yang dihosting pribadi dengan VPC Anda. Ini memungkinkan Studio mengakses SageMaker API menggunakan nama DNS publik default api.sagemaker.<Region>.amazonaws.com
diselesaikan ke alamat IP pribadi titik akhir daripada menggunakan URL titik akhir VPC.
Anda perlu menambahkan titik akhir VPC ke VPC Anda jika ingin mengakses layanan AWS lainnya seperti Layanan Penyimpanan Sederhana Amazon (Amazon S3), Registry Kontainer Elastis Amazon (ECR Amazon), Layanan Token Keamanan AWS (AWS STS), Formasi AWS Cloud, atau Komitmen Kode AWS.
Anda dapat sepenuhnya mengontrol izin yang digunakan untuk membuat URL yang ditentukan sebelumnya dan panggilan API lainnya dengan kebijakan IAM yang dilampirkan ke peran eksekusi fungsi Lambda atau mengontrol akses ke layanan AWS yang digunakan melalui Kebijakan titik akhir VPC. Untuk contoh penggunaan kebijakan IAM untuk mengontrol akses ke Studio dan SageMaker API, lihat Kontrol Akses ke SageMaker API dengan Menggunakan Kebijakan Berbasis Identitas.
Meskipun solusi tersebut memerlukan domain Studio untuk diterapkan dalam mode IAM, solusi ini memungkinkan AWS SSO untuk digunakan sebagai mekanisme bagi pengguna akhir untuk masuk ke Studio.
Subbagian berikut berisi penjelasan rinci tentang komponen solusi utama.
Gerbang API
Titik akhir API Gateway bertindak sebagai target untuk URL ACS aplikasi yang dikonfigurasi dalam aplikasi SAML 2.0 khusus. Titik akhir bersifat pribadi, dan memiliki sumber daya yang disebut /saml
dan metode POST dengan permintaan integrasi yang dikonfigurasi sebagai proxy Lambda. Solusinya menggunakan titik akhir VPC dengan konfigurasi com.amazonaws.<region>.execute-api
Nama DNS untuk memanggil titik akhir API ini dari dalam VPC.
SSO AWS
Aplikasi SAML 2.0 kustom dikonfigurasi dengan URL titik akhir API Gateway https:/{ restapi-id}.execute-api.amazonaws.com/saml
sebagai URL ACS aplikasinya, dan menggunakan pemetaan atribut dengan persyaratan berikut:
- ID pengguna:
- Atribut pengguna dalam aplikasi - nama belakang
- Memetakan atribut pengguna di AWS SSO -
${user:AD_GUID}
- Pengidentifikasi ID domain SageMaker:
- Atribut pengguna dalam aplikasi -
domain-id
- Memetakan atribut pengguna di AWS SSO – ID Domain untuk instance Studio
- Atribut pengguna dalam aplikasi -
Aplikasi mengimplementasikan kontrol akses untuk pengguna AWS SSO dengan menyediakan profil pengguna Studio dengan nama yang sama dengan ID pengguna AWS SSO.
Fungsi Lambda
Solusinya mengonfigurasi fungsi Lambda sebagai titik pemanggilan untuk API Gateway /saml
sumber. Fungsi mem-parsing file SAMLResponse
dikirim oleh AWS SSO, ekstrak domain-id
serta nama pengguna, dan memanggil createPresignedDomainUrl
SageMaker API untuk mengambil URL dan token Studio dan mengarahkan ulang pengguna untuk masuk menggunakan respons HTTP 302. Fungsi Lambda memiliki kebijakan IAM khusus yang melekat pada peran eksekusinya yang memungkinkan sagemaker:createPresignedDomainUrl
tindakan hanya jika diminta dari rentang CIDR jaringan tertentu menggunakan VpcSourceIp
kondisi.
Fungsi Lambda tidak memiliki logika apa pun untuk memvalidasi respons SAML, misalnya untuk memeriksa tanda tangan. Namun, karena titik akhir API Gateway yang berfungsi sebagai ACS bersifat pribadi atau internal saja, lingkungan pembuktian konsep ini tidak wajib.
Terapkan solusinya
Grafik Repositori GitHub menyediakan kode sumber lengkap untuk solusi end-to-end.
Untuk menerapkan solusi, Anda harus memiliki izin administrator (atau pengguna yang kuat) untuk akun AWS, dan menginstal Antarmuka Baris Perintah AWS (AWS CLI) dan CLI AWS SAM dan minimal Python 3.8.
Solusi ini mendukung penerapan ke tiga Wilayah AWS: eu-west-1
, eu-central-1
, dan us-east-1
. Pastikan Anda memilih salah satu Wilayah ini untuk diterapkan.
Untuk mulai menguji solusi, Anda harus menyelesaikan langkah penerapan berikut dari solusi File README GitHub:
- Siapkan SSO AWS jika Anda belum mengonfigurasinya.
- Menyebarkan solusi menggunakan aplikasi SAM.
- Buat aplikasi SAML 2.0 kustom baru.
Setelah Anda menyelesaikan langkah penerapan, Anda dapat melanjutkan dengan pengujian solusi.
Uji solusinya
Solusinya mensimulasikan dua kasus penggunaan untuk mendemonstrasikan penggunaan kebijakan berbasis identitas SSO dan SageMaker AWS:
- Kasus penggunaan positif – Pengguna mengakses Studio dari dalam rentang CIDR yang ditentukan melalui titik akhir VPC
- Kasus penggunaan negatif – Pengguna mengakses Studio dari alamat IP publik
Untuk menguji kasus penggunaan ini, solusi dibuat tiga Cloud komputasi elastis Amazon Contoh (Amazon EC2):
- Tuan rumah pribadi – Mesin virtual EC2 Windows dalam subnet pribadi yang dapat mengakses Studio (lingkungan aman lokal Anda)
- Tuan rumah benteng – Mesin virtual EC2 Linux di subnet publik yang digunakan untuk membangun terowongan SSH ke host pribadi di jaringan pribadi
- Tuan rumah publik – Mesin virtual EC2 Windows di subnet publik untuk menunjukkan bahwa pengguna tidak dapat mengakses Studio dari alamat IP yang tidak sah
Akses Test Studio dari jaringan resmi
Ikuti langkah-langkah ini untuk melakukan tes:
- Untuk mengakses instans Windows EC2 di jaringan pribadi, jalankan perintah yang diberikan sebagai nilai kunci keluaran SAM
TunnelCommand
. Pastikan bahwa kunci privat dari pasangan kunci yang ditentukan dalam parameter berada di direktori tempat perintah terowongan SSH dijalankan. Perintah membuat sebuah Terowongan SSH dari komputer lokal dilocalhost:3389
ke instans Windows EC2 di jaringan pribadi. Lihat kode contoh berikut: - Di desktop atau notebook lokal Anda, buka koneksi RDP baru (misalnya menggunakan Microsoft Remote Desktop) menggunakan
localhost
sebagai host jarak jauh target. Koneksi ini disalurkan melalui bastion host ke instans Windows EC2 pribadi. Gunakan nama penggunaAdministrator
dan kata sandi dari keluaran tumpukanSageMakerWindowsPassword
. - Buka browser web Firefox dari desktop jarak jauh.
- Navigasikan dan masuk ke portal AWS SSO menggunakan kredensial yang terkait dengan nama pengguna yang Anda tentukan sebagai
ssoUserName
parameter. - Pilih Demo Aman SageMaker Aplikasi AWS SSO dari portal AWS SSO.
Anda dialihkan ke Studio IDE di jendela browser baru.
Akses Test Studio dari jaringan yang tidak sah
Sekarang ikuti langkah-langkah ini untuk mensimulasikan akses dari jaringan yang tidak sah:
- Buka koneksi RDP baru pada IP yang disediakan di
SageMakerWindowsPublicHost
keluaran SAML. - Buka browser web Firefox dari desktop jarak jauh.
- Arahkan dan masuk ke portal AWS SSO menggunakan kredensial yang terkait dengan nama pengguna yang ditentukan sebagai
ssoUserName
parameter. - Pilih Demo Aman SageMaker Aplikasi AWS SSO dari portal AWS SSO.
Kali ini Anda menerima pesan akses tidak sah.
Membersihkan
Untuk menghindari biaya, Anda harus menghapus semua sumber daya yang disediakan solusi dan dibuat secara manual dari akun AWS Anda. Ikuti petunjuk dalam solusinya File README.
Kesimpulan
Kami mendemonstrasikan bahwa dengan memperkenalkan lapisan autentikasi middleware antara pengguna akhir dan Studio, kami dapat mengontrol lingkungan tempat pengguna diizinkan untuk mengakses Studio dan secara eksplisit memblokir setiap lingkungan tidak sah lainnya.
Untuk lebih memperketat keamanan, Anda dapat menambahkan kebijakan IAM ke peran pengguna untuk mencegah akses ke Studio dari konsol. Jika Anda menggunakan Organisasi AWS, Anda dapat menerapkan yang berikut ini kebijakan kontrol layanan untuk unit organisasi atau akun yang memerlukan akses ke Studio:
Meskipun solusi yang dijelaskan dalam postingan ini menggunakan API Gateway dan Lambda, Anda dapat menjelajahi cara lain seperti instans EC2 dengan an peran contoh menggunakan alur kerja validasi izin yang sama seperti yang dijelaskan atau bahkan sistem independen untuk menangani autentikasi dan otorisasi pengguna dan menghasilkan URL yang ditentukan oleh Studio.
Bacaan lebih lanjut
Mengamankan akses ke Studio adalah topik penelitian aktif, dan ada postingan relevan lainnya tentang pendekatan serupa. Lihat postingan berikut di Blog AWS Machine Learning untuk mempelajari lebih lanjut tentang layanan dan arsitektur lain yang dapat Anda gunakan:
Tentang Penulis
Jerome Bachelet adalah Arsitek Solusi di Amazon Web Services. Dia berkembang dalam membantu pelanggan mendapatkan nilai maksimal dari AWS untuk mencapai tujuan bisnis mereka. Jerome memiliki lebih dari 10 tahun pengalaman bekerja dengan perlindungan data dan solusi keamanan data. Selain berada di awan, Jerome menikmati perjalanan dan waktu berkualitas bersama istri dan 2 putrinya di kawasan Jenewa, Swiss.
Evgeniy Ilyin adalah Arsitek Solusi di AWS. Dia memiliki lebih dari 20 tahun pengalaman bekerja di semua tingkat pengembangan perangkat lunak dan arsitektur solusi dan telah menggunakan bahasa pemrograman dari COBOL dan Assembler hingga .NET, Java, dan Python. Dia mengembangkan dan mengkodekan solusi cloud native dengan fokus pada big data, analytics, dan data engineering.
- '
- "
- 100
- 7
- 9
- Tentang Kami
- mengakses
- Akun
- Tindakan
- aktif
- alamat
- Semua
- Amazon
- Amazon EC2
- Amazon SageMaker
- Amazon Web Services
- analisis
- api
- Lebah
- Aplikasi
- arsitektur
- DAERAH
- Otentikasi
- otorisasi
- autopilot
- AWS
- makhluk
- Big data
- Blog
- Browser
- bisnis
- panggilan
- kasus
- menantang
- tantangan
- beban
- awan
- Awan asli
- kode
- Komunikasi
- menghitung
- konfigurasi
- koneksi
- Konektivitas
- konsul
- konsumen
- Wadah
- Wadah
- Surat kepercayaan
- pelanggan
- data
- perlindungan data
- keamanan data
- Pengembangan
- dns
- Tidak
- efek
- Titik akhir
- Teknik
- Lingkungan Hidup
- contoh
- eksekusi
- Latihan
- pengalaman
- eksperimen
- Ekstrak
- Akhirnya
- keuangan
- jasa keuangan
- Firefox
- Pertama
- Fokus
- mengikuti
- penuh
- fungsi
- menghasilkan
- gif
- Seterpercayaapakah Olymp Trade? Kesimpulan
- How To
- HTTPS
- IAM
- identitas
- melaksanakan
- mengimplementasikan
- industri
- integrasi
- Internet
- IP
- Alamat IP
- isolasi
- IT
- Jawa
- Jobs
- pemeliharaan
- kunci
- Bahasa
- BELAJAR
- pengetahuan
- baris
- linux
- lokal
- Mesin belajar
- pengelolaan
- Microsoft
- model
- bersih
- jaringan
- Akses jaringan
- laptop
- Penawaran
- Buka
- Lainnya
- Kata Sandi
- Kebijakan
- kebijaksanaan
- Populer
- Portal
- Posts
- kekuasaan
- Utama
- swasta
- Key pribadi
- Profil
- Pemrograman
- bahasa pemrograman
- bukti
- bukti konsep
- melindungi
- perlindungan
- memberikan
- menyediakan
- wakil
- publik
- Ular sanca
- kualitas
- jarak
- redirect
- Persyaratan
- penelitian
- sumber
- Sumber
- tanggapan
- Run
- pembuat bijak
- keamanan
- Layanan
- porsi
- set
- mirip
- Sederhana
- Perangkat lunak
- pengembangan perangkat lunak
- Solusi
- awal
- Pernyataan
- penyimpanan
- Didukung
- Mendukung
- Swiss
- sistem
- target
- uji
- pengujian
- Melalui
- waktu
- token
- lalu lintas
- Pelatihan
- ui
- Pengguna
- nilai
- maya
- jaringan
- web browser
- layanan web
- Windows
- dalam
- tanpa
- alur kerja
- Tenaga kerja
- bekerja
- tahun