Apache Spark 暗号化を有効にする - Amazon Athena

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 暗号化が有効になっているノートブックを新規作成する方法
  1. https://console.aws.amazon.com/athena/ で Athena コンソールを開きます。

  2. コンソールのナビゲーションペインが表示されない場合は、左側の展開メニューをクリックします。

  3. 次のいずれかを行います。

    • [Notebook explorer] (ノートブックエクスプローラー) で、[Create notebook] (ノートブックの作成) を選択します。

    • [Notebook editor] (ノートブックエディタ) で、[Create notebook] (ノートブックの作成) を選択するか、プラスアイコン ([+]) を選択してノートブックを追加します。

  4. [ノートブック名] に、ノートブックの名前を入力します。

  5. [Spark プロパティ] オプションを拡張します。

  6. [Spark 暗号化を有効にする] を選択します。

  7. [Create] (作成) を選択します。

作成したノートブックセッションが暗号化されます。新しいノートブックは、通常どおりに使用してください。後ほど、ノートブックを使用する新しいセッションを起動すると、新しいセッションも暗号化されます。

また、Athena コンソールを使用して、既存のノートブックの Spark 暗号化を有効にできます。

既存のノートブックの暗号化を有効にする方法
  1. 以前に作成したノートブックの [新しいセッションを開く] を実行します。

  2. ノートブックエディタで、右上の [Session] (セッション) メニューから [Edit session] (セッションの編集) を選択します。

  3. [セッションの詳細の編集] ダイアログボックスにある [Spark プロパティ] を拡張します。

  4. [Spark 暗号化を有効にする] を選択します。

  5. [Save] を選択します。

コンソールに、暗号化が有効になっている新しいセッションが起動します。このノートブック用に作成する後続のセッションでも、暗号化が有効になっています。

AWS CLI を使用して、適切な Spark プロパティを指定することで、セッションを起動するときに暗号化を有効にできます。

AWS CLI を使用して Spark 暗号化を有効にする
  1. 次のようなコマンドを使用して、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 )
  2. 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 リクエスト内の暗号化設定を指定します。