Simpan data konfigurasi sensitif di AWS Secrets Manager - Amazon EMR

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

Simpan data konfigurasi sensitif di AWS Secrets Manager

Amazon EMR menjelaskan dan mencantumkan API operasi yang memancarkan data konfigurasi kustom (seperti DescribeCluster danListInstanceGroups) melakukannya dalam teks biasa. Amazon EMR terintegrasi dengan AWS Secrets Manager sehingga Anda dapat menyimpan data Anda di Secrets Manager dan menggunakan rahasia ARN dalam konfigurasi Anda. Dengan cara ini, Anda tidak meneruskan data konfigurasi sensitif ke Amazon EMR dalam teks biasa dan memaparkannya ke eksternal. APIs Jika Anda menunjukkan bahwa pasangan kunci-nilai berisi ARN untuk rahasia yang disimpan di Secrets Manager, Amazon akan EMR mengambil rahasia ini saat mengirimkan data konfigurasi ke cluster. Amazon EMR tidak mengirim anotasi saat menggunakan eksternal APIs untuk menampilkan konfigurasi.

Buat rahasia

Untuk membuat rahasia, ikuti langkah-langkah di Buat AWS Secrets Manager rahasia di Panduan AWS Secrets Manager Pengguna. Pada Langkah 3, Anda harus memilih bidang Plaintext untuk memasukkan nilai sensitif Anda.

Perhatikan bahwa meskipun Secrets Manager mengizinkan rahasia berisi hingga 65536 byte, Amazon EMR membatasi panjang gabungan kunci properti (tidak termasuk anotasi) dan nilai rahasia yang diambil menjadi 1024 karakter.

Berikan EMR akses Amazon untuk mengambil rahasianya

Amazon EMR menggunakan peran IAM layanan untuk menyediakan dan mengelola cluster untuk Anda. Peran layanan untuk Amazon EMR mendefinisikan tindakan yang diizinkan untuk Amazon EMR saat menyediakan sumber daya dan melakukan tugas tingkat layanan yang tidak dilakukan dalam konteks EC2 instance Amazon yang berjalan dalam klaster. Untuk informasi selengkapnya tentang peran layanan, lihat Peran layanan untuk Amazon EMR (EMRperan) dan Menyesuaikan IAM peran.

Untuk mengizinkan Amazon EMR mengambil nilai rahasia dari Secrets Manager, tambahkan pernyataan kebijakan berikut ke EMR peran Amazon saat meluncurkan klaster.

{ "Sid":"AllowSecretsRetrieval", "Effect":"Allow", "Action":"secretsmanager:GetSecretValue", "Resource":[ "arn:aws:secretsmanager:<region>:<aws-account-id>:secret:<secret-name>" ] }

Jika Anda membuat rahasia dengan pengelola pelanggan AWS KMS key, Anda juga harus menambahkan kms:Decrypt izin ke EMR peran Amazon untuk kunci yang Anda gunakan. Untuk informasi lebiih lanjut, lihat Autentikasi dan pengendalian akses untuk AWS Secrets Manager di Panduan Pengguna AWS Secrets Manager .

Gunakan rahasia dalam klasifikasi konfigurasi

Anda dapat menambahkan EMR.secret@ anotasi ke properti konfigurasi apa pun untuk menunjukkan bahwa pasangan nilai kunci-nya berisi ARN untuk rahasia yang disimpan di Secrets Manager.

Contoh berikut menunjukkan bagaimana memberikan rahasia ARN dalam klasifikasi konfigurasi:

{ "Classification":"core-site", "Properties":{ "presto.s3.access-key":"<sensitive-access-key>", "EMR.secret@presto.s3.secret-key":"arn:aws:secretsmanager:<region>:<aws-account-id>:secret:<secret-name>" } }

Saat Anda membuat klaster dan mengirimkan konfigurasi beranotasi, Amazon EMR memvalidasi properti konfigurasi. Jika konfigurasi Anda valid, Amazon EMR menghapus anotasi dari konfigurasi dan mengambil rahasia dari Secrets Manager untuk membuat konfigurasi yang sebenarnya sebelum menerapkannya ke cluster:

{ "Classification":"core-site", "Properties":{ "presto.s3.access-key":"<sensitive-access-key>", "presto.s3.secret-key":"<my-secret-key-retrieved-from-Secrets-Manager>" } }

Saat Anda memanggil tindakan sepertiDescribeCluster, Amazon EMR mengembalikan konfigurasi aplikasi saat ini di cluster. Jika properti konfigurasi aplikasi ditandai sebagai berisi rahasiaARN, maka konfigurasi aplikasi yang dikembalikan oleh DescribeCluster panggilan berisi ARN dan bukan nilai rahasia. Ini memastikan bahwa nilai rahasia hanya terlihat di cluster:

{ "Classification":"core-site", "Properties":{ "presto.s3.access-key":"<sensitive-access-key>", "presto.s3.secret-key":"arn:aws:secretsmanager:<region>:<aws-account-id>:secret:<secret-name>" } }

Perbarui nilai rahasia

Amazon EMR mengambil nilai rahasia dari konfigurasi beranotasi setiap kali grup instance terlampir memulai, mengonfigurasi ulang, atau mengubah ukuran. Anda dapat menggunakan Secrets Manager untuk mengubah nilai rahasia yang digunakan dalam konfigurasi cluster yang sedang berjalan. Saat melakukannya, Anda dapat mengirimkan permintaan konfigurasi ulang ke setiap grup instans yang ingin Anda terima nilai yang diperbarui. Untuk informasi selengkapnya tentang cara mengkonfigurasi ulang grup instans, dan hal-hal yang perlu dipertimbangkan saat melakukannya, lihatLakukan konfigurasi ulang pada grup instans di klaster yang sedang berjalan.