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 暗号化を有効にする] を選択します。
-
[Create] (作成) を選択します。
作成したノートブックセッションが暗号化されます。新しいノートブックは、通常どおりに使用してください。後ほど、ノートブックを使用する新しいセッションを起動すると、新しいセッションも暗号化されます。
また、Athena コンソールを使用して、既存のノートブックの Spark 暗号化を有効にできます。
既存のノートブックの暗号化を有効にする方法
-
以前に作成したノートブックの [新しいセッションを開く] を実行します。
-
ノートブックエディタで、右上の [Session] (セッション) メニューから [Edit session] (セッションの編集) を選択します。
-
[セッションの詳細の編集] ダイアログボックスにある [Spark プロパティ] を拡張します。
-
[Spark 暗号化を有効にする] を選択します。
-
[Save] を選択します。
コンソールに、暗号化が有効になっている新しいセッションが起動します。このノートブック用に作成する後続のセッションでも、暗号化が有効になっています。
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
リクエスト内の暗号化設定を指定します。