Menyimpan 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.

Menyimpan data konfigurasi sensitif di AWS Secrets Manager

EMR Amazon menjelaskan dan mencantumkan operasi API 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 ARN rahasia dalam konfigurasi Anda. Dengan cara ini, Anda tidak meneruskan data konfigurasi sensitif ke Amazon EMR dalam teks biasa dan memaparkannya ke API eksternal. Jika Anda menunjukkan bahwa pasangan kunci-nilai berisi ARN untuk rahasia yang disimpan di Secrets Manager, Amazon EMR mengambil rahasia ini saat mengirimkan data konfigurasi ke cluster. Amazon EMR tidak mengirimkan anotasi saat menggunakan API eksternal 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 akses EMR Amazon untuk mengambil rahasianya

Amazon EMR menggunakan peran layanan IAM 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 instans Amazon EC2 yang berjalan dalam klaster. Untuk informasi selengkapnya tentang peran layanan, lihat Peran layanan untuk Amazon EMR (peran EMR) dan Menyesuaikan peran IAM.

Untuk mengizinkan Amazon EMR mengambil nilai rahasia dari Secrets Manager, tambahkan pernyataan kebijakan berikut ke peran EMR 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 peran EMR 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 ARN rahasia 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 ARN rahasia, 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 instans terlampir memulai, mengonfigurasi ulang, atau mengubah ukuran. Anda dapat menggunakan Secrets Manager untuk mengubah nilai rahasia yang digunakan dalam konfigurasi klaster 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.