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

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 eksternal. APIs 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 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 akses EMR Amazon untuk mengambil rahasia

Amazon EMR menggunakan peran layanan IAM untuk menyediakan dan mengelola klaster untuk Anda. Peran layanan untuk Amazon EMR mendefinisikan tindakan yang diijinkan untuk Amazon EMR ketika menyediakan sumber daya dan melakukan tugas level layanan yang tidak dilakukan di konteks instans Amazon yang berjalan di sebuah klaster. EC2 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 cara menyediakan 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 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.