View a markdown version of this page

Gunakan AWS KMS izin untuk MLFlow Aplikasi - Amazon SageMaker AI

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

Gunakan AWS KMS izin untuk MLFlow Aplikasi

Anda dapat melindungi data Anda saat diam menggunakan enkripsi untuk MLflow Aplikasi. Secara default, MLflow Aplikasi menggunakan enkripsi sisi server dengan kunci yang AWS dimiliki. SageMaker juga mendukung opsi untuk enkripsi sisi server dengan kunci KMS yang dikelola pelanggan.

catatan

Kunci yang dikelola pelanggan mengenkripsi data yang dikel SageMaker ola untuk MLflow Aplikasi. Itu tidak mengenkripsi artefak yang Anda simpan di toko artefak Amazon S3 Anda sendiri. Bucket Amazon S3 itu dibuat dan dimiliki oleh Anda, tidak dikelola oleh AWS, jadi Anda bertanggung jawab untuk mengonfigurasi enkripsinya. Untuk mengenkripsi artefak Anda dengan kunci yang dikelola pelanggan, atur enkripsi default di bucket Amazon S3 Anda. Untuk informasi selengkapnya, lihat Menyetel perilaku enkripsi sisi server default untuk bucket Amazon S3 di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

Server-side enkripsi dengan AWS kunci yang dimiliki

Secara default, MLflow Aplikasi mengenkripsi data Anda saat diam menggunakan kunci yang AWS dimiliki.

Server-side enkripsi dengan kunci KMS yang dikelola pelanggan

Sebagai opsi, Anda dapat menggunakan kunci yang dikelola pelanggan simetris yang Anda buat, miliki, dan kelola untuk menggantikan enkripsi AWS milik yang ada. Karena Anda memiliki kontrol penuh atas lapisan enkripsi ini, Anda dapat melakukan tugas-tugas seperti:

  • Menetapkan dan memelihara kebijakan utama

  • Menetapkan dan memelihara kebijakan dan hibah IAM

  • Mengaktifkan dan menonaktifkan kebijakan utama

  • Memutar materi kriptografi kunci

  • Menambahkan tanda

  • Membuat alias kunci

  • Kunci penjadwalan untuk penghapusan

Untuk informasi selengkapnya, lihat Kunci yang dikelola pelanggan di Panduan AWS Key Management Service Pengembang.

Bagaimana MLFlow Aplikasi menggunakan hibah di AWS KMS

Untuk menggunakan kunci yang dikelola pelanggan, MLflow Aplikasi Anda memerlukan hibah. Saat Anda membuat MLflow Aplikasi yang dienkripsi dengan kunci yang dikelola SageMaker pelanggan, buat hibah atas nama Anda dengan mengirimkan CreateGrant permintaan ke AWS KMS. AWS KMS hibah memberi MLflow Aplikasi akses ke kunci yang dikelola pelanggan Anda. Saat Anda menghapus MLflow Aplikasi, SageMaker pensiun hibah tersebut.

Anda dapat mencabut hibah, atau menghapus akses layanan ke kunci yang dikelola pelanggan Anda, kapan saja. Pencabutan akses tidak segera mengganggu MLflow Aplikasi yang sedang berjalan. Lapisan penyimpanan yang mendasarinya terus menggunakan akses yang diberikan saat aplikasi dibuat. Setelah Anda mencabut akses, kunci tidak SageMaker dapat lagi digunakan untuk operasi berikutnya yang memerlukannya, seperti pemeliharaan terjadwal. Jika kunci Anda tidak tersedia secara permanen — misalnya, jika Anda menonaktifkannya atau menjadwalkannya untuk dihapus — data Anda saat istirahat tidak dapat lagi didekripsi, dan MLflow Aplikasi menjadi tidak dapat dipulihkan.

Mengkonfigurasi kunci KMS yang dikelola pelanggan untuk MLFlow Aplikasi

Anda dapat membuat kunci yang dikelola pelanggan simetris dengan menggunakan AWS KMS API Konsol Manajemen AWS atau.

Anda dapat menentukan kunci yang dikelola pelanggan untuk MLflow Aplikasi hanya pada saat pembuatan. Anda tidak dapat mengubahnya selama masa pakai aplikasi. MLflow Aplikasi tidak mendukung pengalihan aplikasi yang ada antara kunci yang AWS dimiliki dan kunci yang dikelola pelanggan, atau mengganti satu kunci yang dikelola pelanggan dengan yang lain. Jika Anda ingin menggunakan kunci yang berbeda, hapus MLflow Aplikasi dan buat yang baru dengan konfigurasi enkripsi yang diinginkan.

Membuat kunci yang dikelola pelanggan simetris

Ikuti langkah-langkah untuk Membuat kunci KMS enkripsi simetris di Panduan Peng AWS Key Management Service embang.

Kebijakan kunci

Kebijakan utama mengontrol akses ke kunci yang dikelola pelanggan Anda. Setiap kunci yang dikelola pelanggan harus memiliki tepat satu kebijakan kunci, yang berisi pernyataan yang menentukan siapa yang dapat menggunakan kunci dan bagaimana mereka dapat menggunakannya. Saat membuat kunci yang dikelola pelanggan, Anda dapat menentukan kebijakan kunci. Untuk informasi selengkapnya, lihat Men entukan akses ke AWS KMS kunci di Panduan AWS Key Management Service Pengembang.

Untuk menggunakan kunci yang dikelola pelanggan dengan MLflow Aplikasi Anda, kebijakan kunci Anda harus mengizinkan operasi API berikut. Prinsip untuk operasi ini tergantung pada apakah peran digunakan untuk membuat atau menggunakan aplikasi.

Berikut ini adalah contoh pernyataan kebijakan yang dapat Anda tambahkan untuk MLflow Aplikasi berdasarkan apakah persona tersebut adalah administrator atau pengguna. Untuk informasi selengkapnya tentang menentukan izin dalam kebijakan, lihat AWS KMS izin di Panduan Peng AWS Key Management Service embang. Untuk informasi selengkapnya tentang pemecahan masalah, lihat Memecahkan masalah akses kunci di Panduan AWS Key Management Service Pengembang.

Administrator

Kebijakan berikut dapat digunakan untuk administrator yang membuat MLflow Aplikasi.

{ "Sid": "AllowMLflowAppAdministratorAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/mlflow-app-admin-role" }, "Action": [ "kms:CreateGrant", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "sagemaker.region.amazonaws.com" }, "ForAllValues:StringEquals": { "kms:GrantOperations": [ "CreateGrant", "Decrypt", "DescribeKey", "Encrypt", "GenerateDataKey", "GenerateDataKeyWithoutPlaintext", "ReEncryptFrom", "ReEncryptTo", "RetireGrant" ] } } }
  • kms:ViaService— Membatasi penggunaan kunci untuk permintaan yang berasal dari SageMaker Wilayah tertentu. Dengan"kms:ViaService": "sagemaker.region.amazonaws.com", kms:DescribeKey izin kms:CreateGrant dan dapat dilaksanakan hanya ketika permintaan dibuat atas nama Anda - bukan secara langsung oleh prinsipal atau layanan lainnya. SageMaker Ini memastikan kunci Anda hanya digunakan untuk MLflow Aplikasi Anda.

  • kms:GrantOperations— Membatasi operasi yang dibuat hibah diizinkan SageMaker untuk ditampung. Saat Anda membuat MLflow Aplikasi, SageMaker panggilan CreateGrant untuk memungkinkan bidang datanya mengenkripsi dan mendekripsi data Anda saat diam. Menambahkan kms:GrantOperations ke kms:CreateGrant pernyataan memastikan hanya SageMaker dapat membuat hibah yang berisi persis operasi yang diperlukan untuk tujuan itu — CreateGrantDecrypt,DescribeKey,Encrypt,GenerateDataKey,GenerateDataKeyWithoutPlaintext,ReEncryptFrom,ReEncryptTo, danRetireGrant.

  • Konteks enkripsi - Tidak berlaku. MLflow Aplikasi tidak menetapkan konteks enkripsi khusus pada hibah, jadi Anda tidak dapat menggunakan kunci kms:EncryptionContext kondisi untuk memperluas akses ke bawah.

Pengguna

Mengakses MLflow Aplikasi — melalui MLflow API atau URL yang ditandatangani sebelumnya — tidak melibatkan AWS KMS. SageMaker mengenkripsi dan mendekripsi data Anda saat istirahat untuk Anda, dan tidak ada AWS KMS permintaan yang dibuat saat Anda mengakses aplikasi. Akibatnya, jika Anda mengakses MLflow Aplikasi, Anda tidak memerlukan AWS KMS izin apa pun. Anda tidak perlu memperhitungkan AWS KMS akses saat menentukan kebijakan keamanan untuk pengguna Anda.

Membuat yang baru MLFlow Aplikasi dengan kunci KMS yang dikelola pelanggan

Untuk mengenkripsi MLflow Aplikasi Anda dengan kunci yang dikelola pelanggan, tentukan kunci saat Anda membuat aplikasi dengan menggunakan --kms-key-id parameter create-mlflow-app AWS CLI perintah. Jika Anda menghilangkan parameter ini, SageMaker menggunakan kunci yang AWS dimiliki. Peran yang create-mlflow-app harus dimiliki panggilan kms:CreateGrant dan kms:DescribeKey izin pada kunci yang dikelola pelanggan.

aws sagemaker create-mlflow-app \ --name app-name \ --artifact-store-uri s3://bucket-name \ --role-arn role-arn \ --kms-key-id your-kms-key-id \ --region your-region

Untuk informasi selengkapnya tentang membuat MLflow Aplikasi, lihatBuat Aplikasi MLFlow.

Memantau MLFlow Interaksi aplikasi dengan AWS KMS

Anda dapat menggunakannya CloudTrail untuk melacak permintaan yang dibuat atas nama Anda saat MLflow Aplikasi Anda menggunakan kunci yang dikelola pelanggan. AWS KMS Untuk informasi selengkapnya tentang menemukan dan menafsirkan AWS KMS peristiwa di CloudTrail, lihat AWS KMS Pencatatan panggilan API dengan CloudTrail di Panduan AWS Key Management Service Pengembang.

Per AWS KMS CloudTrail istiwa berikut direkam untuk MLflow Aplikasi yang dienkripsi dengan kunci yang dikelola pelanggan:

  • DescribeKeydan CreateGrant — Direkam saat Anda membuat MLflow Aplikasi. SageMaker memvalidasi kunci Anda dan membuat hibah yang memungkinkan data Anda yang diam dienkripsi dan didekripsi atas nama Anda.

  • GenerateDataKeyWithoutPlaintext,Encrypt, dan Decrypt — Direkam saat MLflow Aplikasi sedang disediakan dan saat beroperasi. Lapisan penyimpanan SageMaker yang mendasarinya menggunakan kunci yang dikelola pelanggan Anda untuk mengenkripsi dan mendekripsi data Anda saat istirahat. Permintaan ini dibuat oleh AWS layanan yang bertindak atas nama Anda melalui hibah, sehingga CloudTrail userIdentity elemen tersebut menunjukkan AWS layanan sebagai penelepon daripada prinsipal IAM dari akun Anda.

  • RetireGrant— Direkam saat Anda menghapus MLflow Aplikasi. Hibah yang dibuat untuk aplikasi dihentikan sehingga kunci yang dikelola pelanggan Anda tidak dapat lagi digunakan untuk itu.