全部產品
Search
文件中心

E-MapReduce:通過密文管理敏感資訊

更新時間:Sep 20, 2025

在資料開發與任務執行過程中,明文儲存AccessKey或密碼等資訊容易引發安全風險。通過密文管理功能,您可以將敏感資訊進行加密儲存,並在資料開發及會話配置中進行動態引用,從而避免代碼泄露風險,提升敏感資訊的維護效率。

建立密文

  1. 進入密文管理頁面。

    1. 登入E-MapReduce控制台

    2. 在左側導覽列,選擇EMR Serverless > Spark

    3. Spark頁面,單擊目標工作空間名稱。

    4. EMR Serverless Spark頁面,單擊左側導覽列中的密文管理

  2. 密文管理頁面,單擊新增密文

  3. 新增密文介面,配置以下資訊,單擊確認

    參數

    說明

    變數名稱

    變數名稱在同一個工作空間下保持唯一,建立後不支援修改。

    密文

    對字母大小寫敏感,建立後不支援修改與再次查看。

使用密文

在 Notebook 中使用

在Notebook任務中,可以通過emrssutils.utils工具庫使用密文,但所使用的引擎版本必須為esr-2.8.0、esr-3.4.0、esr-4.4.0及其以上版本。

使用樣本

  1. 匯入工具庫並載入密文。

    # 擷取密文範例程式碼
    import emrssutils.utils
    # 動態擷取解密後的值
    password = emrssutils.utils.get_secret(key='<變數名稱>')
  2. 引用密文。

    # 引用密文範例程式碼
    df = spark.read \
      .format("jdbc") \
      .option("url", "jdbc:mysql://<jdbc_url>") \
      .option("dbtable", "<db>.<table>") \
      .option("user", "<username>") \
      .option("password", password) \ # 引用密文  
      .load()
    df.show()

在Spark配置中使用

在會話或批任務的Spark配置中,通過${secret_values.變數名稱}格式使用密文。

使用樣本

在進行MaxCompute的讀寫操作時,可以首先將AccessKey添加到密文管理中。隨後,在SQL會話的Spark配置中使用該密文。有關MaxCompute的具體讀寫操作,請參見讀寫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>
# 引用密文 
spark.hadoop.odps.access.key                  ${secret_values.AccessKey}  

在批/流任務中使用

在批或流任務運行參數中,通過${secret_values.變數名稱}格式使用密文。

使用樣本

建立JAR批任務時,可以將相關的加密資訊添加至密文管理中。隨後,在運行參數中可通過使用${secret_values.變數名稱}來引用密文。

image