Encrypting data in transit
AWS は転送中のデータに対して Transport Layer Security (TLS) 暗号化を提供します。AWS Glue の [security configurations] (セキュリティ設定) を使用して、クローラー、ETL ジョブ、開発エンドポイントの暗号化を設定できます。Data Catalog の設定を介して、AWS Glue Data Catalog 暗号化を有効にできます。
2018 年 9 月 4 日現在、 (AWS KMSbring your own keyとserver-side encryption) が AWS Glue ETLおよび AWS Glue Data Catalog がサポートされています。
転送中の Spark Connect 暗号化
AWS Glue インタラクティブセッションで Spark Connect を使用する場合、クライアントアプリケーションと Spark Connect エンドポイント間のすべての通信は TLS 1.3 を使用して暗号化されます。Spark Connect データパスは HTTP/2 経由で gRPC を使用し、すべてのトラフィックは次のホップ間でエンドツーエンドで暗号化されます。
-
クライアントからエンドポイント – Spark Connect クライアント (pyspark または spark-connect-go) は、TLS で暗号化された gRPC (HTTP/2) を介してセッションエンドポイントに接続します。エンドポイントは、TLS 1.3 セキュリティポリシーを持つ Application Load Balancer を使用して TLS を終了します。
-
Proxy to compute – リバースプロキシとセッションワーカーで実行されている Spark Connect サーバー間の内部トラフィックは、トランジットゲートウェイ接続を介し、TLS を使用して暗号化されます。
Spark Connect セッションは、リクエスト認証に存続期間の短いベアラートークンを使用します。これらのトークンは、AWS KMS データキーを用い、AES-256-GCM を使用して暗号化され、有効期間は 5 分です。トークンは GetSessionEndpoint API によって返され、Spark Connect エンドポイントへの各 gRPC リクエストに含める必要があります。
顧客データ (Spark クエリ、DataFrames、結果) は、プロキシチェーンを介してのみ転送中に流れ、プロキシインフラストラクチャによって保持されません。ワーカーボリュームのセッションデータの保管時のストレージは、デフォルトの Amazon EBS 暗号化を使用します。