View a markdown version of this page

Praktik terbaik keamanan untuk Operator HyperPod Ray Endpoint - Amazon SageMaker AI

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Praktik terbaik keamanan untuk Operator HyperPod Ray Endpoint

Praktik terbaik berikut membantu Anda mengamankan penerapan Operator HyperPod Ray Endpoint Anda. Untuk instruksi instalasi, lihat Menginstal Operator HyperPod Ray Endpoint.

Konfigurasikan penandatanganan KMS

Kami menyarankan Anda menginstal Operator HyperPod Ray Endpoint dengan AWS KMS kunci sehingga kunci penandatanganan JWT dihasilkan dari AWS KMS bukan secara lokal. Ini menyediakan mekanisme pencabutan out-of-band: Anda dapat menonaktifkan AWS KMS kunci untuk membatalkan semua sesi tanpa memerlukan akses cluster. CloudTrail juga mencatat setiap peristiwa pembuatan kunci, memberi Anda jejak audit untuk menandatangani rotasi kunci. Untuk petunjuk penyiapan, lihatSiapkan penandatanganan KMS (disarankan).

Jangan bagikan URL yang telah ditentukan sebelumnya

URL presigned memberikan akses terautentikasi ke dasbor satu cluster Ray, yang mencakup log pekerjaan, skrip, metrik, dan variabel lingkungan. Siapa pun yang memiliki URL dapat mengakses dasbor hingga token kedaluwarsa. Token yang disematkan di URL berlaku selama 15 menit. Jika URL diakses dalam jendela itu, sesi yang dihasilkan tetap berlaku hingga 6 jam kecuali Anda mencabut semua sesi.

Baik token dan cookie sesi dicakup ke titik akhir publik kluster tunggal dan tidak dapat digunakan untuk mengakses kluster lain melalui jalur otentikasi Operator HyperPod Ray Endpoint.

Jangan menyimpan rahasia dalam variabel lingkungan kerja Ray

Variabel lingkungan dan skrip entrypoint terlihat melalui dasbor Ray. Gunakan Kubernetes Secrets atau Secrets Manager sebagai gantinya. Untuk informasi lebih lanjut, lihat Apa itu AWS Secrets Manager? dalam AWS Secrets Manager User Guide.

Gunakan sagemaker_ray://untuk pengiriman pekerjaan terprogram

Skema sagemaker_ray:// alamat menangani otentikasi tanpa mengekspos URL dalam output terminal atau log. Pustaka Python toolkit-for-ray-on-sagemaker-ai di situs web PyPI mendaftarkan skema ini, jadi CLI Jobs standar Ray dan Python SDK mengautentikasi melalui titik akhir yang diamankan cluster. Pustaka sudah diinstal sebelumnya dalam gambar Distribusi SageMaker AI. Untuk informasi selengkapnya, lihat Mengirimkan pekerjaan dari jarak jauh dengan perpustakaan toolkit.

ray job submit --address "sagemaker_ray://cluster-name/namespace" -- python train.py

Batasi akses in-cluster ke dasbor Ray

Operator HyperPod Ray Endpoint mengotentikasi akses melalui titik akhir publik, tetapi port dasbor Ray (8265) pada layanan kepala dapat diakses dari dalam jaringan cluster tanpa otentikasi. Untuk membatasi akses dasbor dari beban kerja non-Ray, aktifkan mode otentikasi RBAC Kubernetes Ray's (dan pada head container). RAY_AUTH_MODE=token RAY_ENABLE_K8S_TOKEN_AUTH=true Ini membutuhkan Ray 2.55 atau lebih baru dan KubeRay 1.6 atau lebih baru. Saat diaktifkan, head Ray menolak permintaan yang tidak membawa token Kubernetes ServiceAccount yang valid dengan izin. ray:write Untuk informasi selengkapnya, lihat konfigurasi KubeRay RBAC dalam dokumentasi Ray.

Untuk isolasi yang lebih kuat antara pengguna yang berbagi klaster, terapkan RayClusters di namespace terpisah dan terapkan NetworkPolicies yang membatasi masuknya pada port 8265 hanya ke pod Traefik di namespace operator (). hyperpod-ray Ini membutuhkan plugin CNI yang memberlakukan NetworkPolicies, seperti Amazon VPC CNI dengan. ENABLE_NETWORK_POLICY=true Untuk informasi selengkapnya, lihat Kebijakan jaringan Kubernetes di Panduan Pengguna Amazon EKS.

Selain itu, cakupkan izin RBAC untuk pengguna akhir. Tolak yang berikut ini:

  • pods/portforwardpada pod kepala Ray

  • pods/execpada operator atau pod Traefik

  • createpada roles atau rolebindings

  • get pada secrets

  • impersonatepada akun layanan

Untuk informasi selengkapnya tentang Kubernetes RBAC, lihat Manajemen identitas dan akses di Panduan Pengguna Amazon EKS.

Gunakan nama sesi unik untuk peran eksekusi bersama

Operator HyperPod Ray Endpoint mengidentifikasi pengguna dengan ARN utama IAM lengkap mereka, yang mencakup nama sesi peran (misalnya,). arn:aws:sts::123456789012:assumed-role/DataScientist/alice Jika beberapa pengguna mengambil peran IAM yang sama dengan nama sesi yang sama, operator tidak dapat membedakan antara mereka dan memperlakukan mereka sebagai identitas yang sama.

Untuk mengaktifkan kontrol akses per pengguna saat pengguna berbagi peran eksekusi, konfigurasikan nama sesi unik untuk setiap pengguna. Untuk informasi selengkapnya, lihat sts: RoleSessionName di Panduan Pengguna IAM.

Mencabut sesi

Untuk mencabut semua sesi (memerlukan akses cluster), jalankan perintah berikut. Ini membatalkan sesi untuk semua pengguna di semua cluster Ray di cluster Amazon EKS.

kubectl patch secret hyperpod-ray-endpoint-operator-extensionapi-jwt-secret \ -n hyperpod-ray --type merge -p '{"data":null}' kubectl create job --from=cronjob/hyperpod-ray-endpoint-operator-jwt-rotator \ manual-rotate -n hyperpod-ray

Untuk mencabut semua sesi melalui AWS KMS (tidak diperlukan akses cluster), nonaktifkan AWS KMS kunci di Konsol Manajemen AWS atau dengan menggunakan. AWS CLI Untuk informasi selengkapnya, lihat Mengaktifkan dan menonaktifkan kunci di Panduan Developer AWS KMS .

aws kms disable-key --key-id key-id

Kunci penandatanganan yang ada kedaluwarsa dalam 30 menit. Sesi aktif yang dibuat dengan kunci penandatanganan sebelumnya tetap valid sampai kunci tersebut tidak valid oleh rotasi. Setelah rotator menghasilkan kunci baru, sesi yang ditandatangani oleh kunci lama tidak dapat lagi diverifikasi dan dicabut secara efektif.

Akses dasbor audit

Kami menyarankan Anda menginstal add-on Amazon CloudWatch Observability Amazon EKS untuk pengumpulan dan retensi log. Untuk informasi selengkapnya, lihat Menginstal add-on CloudWatch Observability EKS di CloudWatch Panduan Pengguna Amazon.

Operator HyperPod Ray Endpoint menulis log akses ke /aws/containerinsights/eks-cluster-name/application dari authmiddleware wadah. Cari:

  • "Session established"— dicatat ketika token JWT berhasil ditukar dengan cookie sesi.

  • "cluster accessed"— masuk pada setiap permintaan berikutnya yang menggunakan cookie sesi.

Perbarui bagan Helm

penting

Bagan yang di-deploy tidak menerima pembaruan keamanan secara otomatis. Anda harus meningkatkan secara manual ke bagan yang lebih baru saat tersedia.

Kami menyarankan Anda memperbarui secara rutin ke versi terbaru bagan Helm Operator HyperPod Ray Endpoint untuk memastikan bahwa Anda memiliki perbaikan dan peningkatan keamanan terbaru. Saat memutakhirkan, ubah install ke upgrade perintah Helm:

helm upgrade --install hyperpod-ray-endpoint-operator \ ./helm_chart/HyperPodHelmChart/charts/hyperpod-ray-endpoint-operator \ --namespace hyperpod-ray \ --set region=region \ --set domain=your-route53-domain \ --set manager.enableEndpointsByDefault=true|false \ --set kmsKeyArn="arn:aws:kms:region:account-id:key/key-id"