All Products
Search
Document Center

E-MapReduce:Kelola informasi sensitif dengan ciphertext

Last Updated:Oct 23, 2025

Menyimpan informasi sensitif seperti AccessKey atau kata sandi dalam teks biasa selama pengembangan data dan eksekusi tugas menimbulkan risiko keamanan. Fitur manajemen ciphertext memungkinkan Anda mengenkripsi dan menyimpan informasi sensitif tersebut. Anda dapat mereferensikan informasi terenkripsi secara dinamis selama pengembangan data dan konfigurasi sesi, membantu mencegah kebocoran data serta meningkatkan efisiensi pemeliharaan.

Buat sebuah ciphertext

  1. Buka halaman Manajemen Ciphertext.

    1. Masuk ke Konsol E-MapReduce.

    2. Di panel navigasi sebelah kiri, pilih EMR Serverless > Spark.

    3. Pada halaman Spark, klik nama ruang kerja target.

    4. Pada halaman EMR Serverless Spark, klik Manajemen Ciphertext di panel navigasi sebelah kiri.

  2. Pada halaman Manajemen Ciphertext, klik Tambah Ciphertext.

  3. Pada halaman Tambah Ciphertext, konfigurasikan parameter yang diperlukan, lalu klik Konfirmasi.

    Parameter

    Deskripsi

    Variable Name

    Nama variabel harus unik dalam ruang kerja yang sama. Tidak dapat dimodifikasi setelah dibuat.

    Ciphertext

    Ciphertext bersifat peka huruf besar-kecil. Tidak dapat dimodifikasi atau dilihat kembali setelah dibuat.

Gunakan sebuah ciphertext

Gunakan dalam Notebook

Dalam pekerjaan Notebook, Anda dapat menggunakan ciphertext melalui pustaka emrssutils.utils. Versi Mesin DPI harus esr-2.8.0, esr-3.4.0, esr-4.4.0, atau versi lebih baru.

Contoh

  1. Impor pustaka dan muat ciphertext.

    # Contoh kode untuk mendapatkan ciphertext
    import emrssutils.utils
    # Dapatkan nilai terdekripsi secara dinamis
    password = emrssutils.utils.get_secret(key='<variable_name>')
  2. Referensikan ciphertext.

    # Contoh kode untuk mereferensikan ciphertext
    df = spark.read \
      .format("jdbc") \
      .option("url", "jdbc:mysql://<jdbc_url>") \
      .option("dbtable", "<db>.<table>") \
      .option("user", "<username>") \
      .option("password", password) \ # Referensikan ciphertext  
      .load()
    df.show()

Gunakan dalam konfigurasi Spark

Dalam konfigurasi Spark untuk sesi atau pekerjaan batch, gunakan format ${secret_values.variable_name} untuk ciphertext.

Contoh

Saat membaca atau menulis data dari/ke MaxCompute, tambahkan terlebih dahulu AccessKey ke Manajemen Ciphertext. Kemudian, gunakan ciphertext dalam konfigurasi Spark dari sesi SQL. Untuk informasi lebih lanjut, lihat Baca dari dan tulis ke MaxCompute.

spark.sql.catalog.odps                        org.apache.spark.sql.execution.datasources.v2.odps.OdpsTableCatalog
spark.sql.extensions                          org.apache.spark.sql.execution.datasources.v2.odps.extension.OdpsExtensions
spark.sql.sources.partitionOverwriteMode      dynamic
spark.hadoop.odps.tunnel.quota.name           pay-as-you-go
spark.hadoop.odps.project.name                <project_name>
spark.hadoop.odps.end.point                   https://service.cn-hangzhou-vpc.maxcompute.aliyun-inc.com/api
spark.hadoop.odps.access.id                   <accessId>
# Referensikan ciphertext 
spark.hadoop.odps.access.key                  ${secret_values.AccessKey}  

Gunakan dalam pekerjaan batch atau stream

Untuk parameter runtime pekerjaan batch atau stream, Anda dapat menggunakan ciphertext dalam format ${secret_values.variable_name}.

Contoh

Saat membuat pekerjaan batch JAR, tambahkan informasi sensitif terkait ke Manajemen Ciphertext. Kemudian, referensikan ciphertext dalam parameter runtime menggunakan format ${secret_values.variable_name}.

image