启用 Apache Spark 加密
您可以在 Athena 上启用 Apache Spark 加密。这样做可以加密 Spark 节点之间的传输中数据,还可以加密 Spark 本地存储的静态数据。为了增强这些数据的安全性,Athena 使用以下加密配置:
spark.io.encryption.keySizeBits="256"
spark.io.encryption.keygen.algorithm="HmacSHA384"
要启用 Spark 加密,可使用 Athena 控制台、AWS CLI 或 Athena API。
新建启用了 Spark 加密的笔记本
从 https://console.aws.amazon.com/athena/
打开 Athena 控制台。 -
如果控制台导航窗格不可见,请选择左侧的扩展菜单。
-
请执行以下操作之一:
-
在 Notebook explorer(笔记本资源管理器)中,选择 Create notebook(创建笔记本)。
-
在 Notebook editor(笔记本编辑器)中,选择 Create notebook(创建笔记本),或选择加号图标(+)添加笔记本。
-
-
在笔记本名称中,输入笔记本的名称。
-
展开 Spark 属性选项。
-
选择打开 Spark 加密。
-
选择创建。
您创建的笔记本会话已加密。像往常一样使用新笔记本。当您稍后启动使用笔记本的新会话时,也会对新会话进行加密。
您还可以使用 Athena 控制台为现有笔记本启用 Spark 加密。
为现有笔记本启用加密
-
为先前创建的笔记本打开一个新会话。
-
在笔记本编辑器中,从右上角的 Session(会话)菜单中选择 Edit session(编辑会话)。
-
在编辑会话详细信息对话框中,展开 Spark 属性。
-
选择打开 Spark 加密。
-
选择保存。
控制台将启动启用了加密的新会话。您稍后为此笔记本创建的会话也将启用加密。
可在启动会话时使用 AWS CLI 通过指定相应的 Spark 属性启用加密。
使用 AWS CLI 启用 Spark 加密
-
使用如下所示的命令创建指定 Spark 加密属性的引擎配置 JSON 对象。
ENGINE_CONFIGURATION_JSON=$( cat <<EOF { "CoordinatorDpuSize": 1, "MaxConcurrentDpus": 20, "DefaultExecutorDpuSize": 1, "SparkProperties": { "spark.authenticate": "true", "spark.io.encryption.enabled": "true", "spark.network.crypto.enabled": "true" } } EOF )
-
在 AWS CLI 中,使用
athena start-session
命令并将您创建的 JSON 对象传递给--engine-configuration
参数,如以下示例所示:aws athena start-session \ --region "
region
" \ --work-group "your-work-group
" \ --engine-configuration "$ENGINE_CONFIGURATION_JSON"
要使用 Athena API 启用 Spark 加密,使用 StartSession 操作及其 EngineConfiguration SparkProperties
参数在 StartSession
请求中指定加密配置。