在資料開發與任務執行過程中,明文儲存AccessKey或密碼等資訊容易引發安全風險。通過密文管理功能,您可以將敏感資訊進行加密儲存,並在資料開發及會話配置中進行動態引用,從而避免代碼泄露風險,提升敏感資訊的維護效率。
建立密文
進入密文管理頁面。
在左側導覽列,選擇EMR Serverless > Spark。
在Spark頁面,單擊目標工作空間名稱。
在EMR Serverless Spark頁面,單擊左側導覽列中的密文管理。
在密文管理頁面,單擊新增密文。
在新增密文介面,配置以下資訊,單擊確認。
參數
說明
變數名稱
變數名稱在同一個工作空間下保持唯一,建立後不支援修改。
密文
對字母大小寫敏感,建立後不支援修改與再次查看。
使用密文
在 Notebook 中使用
在Notebook任務中,可以通過emrssutils.utils工具庫使用密文,但所使用的引擎版本必須為esr-2.8.0、esr-3.4.0、esr-4.4.0及其以上版本。
使用樣本
匯入工具庫並載入密文。
# 擷取密文範例程式碼 import emrssutils.utils # 動態擷取解密後的值 password = emrssutils.utils.get_secret(key='<變數名稱>')引用密文。
# 引用密文範例程式碼 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.變數名稱}來引用密文。
