クローラ、ジョブ、および開発エンドポイントによって書き込まれたデータの暗号化 - AWS Glue

クローラ、ジョブ、および開発エンドポイントによって書き込まれたデータの暗号化

セキュリティ設定は、AWS Glue が使用できるセキュリティプロパティのセットです。セキュリティ設定を使用して、保管時にデータを暗号化できます。以下のシナリオでは、セキュリティ設定を使用できるいくつかの方法を示します。

  • 暗号化された Amazon CloudWatch Logs​ を書き込む ​AWS Glue クローラにセキュリティ設定をアタッチします。

  • 抽出、変換、ロード (ETL) ジョブにセキュリティ設定をアタッチして、暗号化された Amazon Simple Storage Service (Amazon S3) ターゲット、および暗号化された CloudWatch Logs を書き込みます。

  • ETL ジョブにセキュリティ設定をアタッチして、暗号化された Amazon S3 データとして​ジョブブックマークを書き込みます。

  • 開発エンドポイントにセキュリティ設定をアタッチして、暗号化された ​Amazon S3 ターゲットを書き込みます。

重要

現時点では、セキュリティ設定は、ETL ジョブのパラメータとして渡されるサーバー側暗号化 (SSE-S3) 設定をすべてオーバーライドします。したがって、ジョブにセキュリティ設定と SSE-S3 の両方が関連付けられている場合、SSE-S3 パラメータは無視されます。

セキュリティ設定の詳細については、「AWS Glue コンソールでセキュリティ設定を使用する」を参照してください。

セキュリティ設定を使用するための AWS Glue​ のセットアップ

以下の手順を実行して、セキュリティ設定を使用するように AWS Glue​ 環境をセットアップします。

  1. ​AWS Glue クローラに渡される IAM ロールおよび CloudWatch Logs を暗号化するジョブ​への AWS KMS​ アクセス許可を付与するため、AWS Key Management Service​ (AWS KMS) キーを作成または更新します。詳しくは、Amazon CloudWatch Logs ユーザーガイドの「AWS KMS を使用して CloudWatch Logs のログデータを暗号化する」を参照してください。

    次の例では、"role1""role2"、および "role3" が、クローラおよびジョブに渡される IAM ロールです。

    { "Effect": "Allow", "Principal": { "Service": "logs.region.amazonaws.com", "AWS": [ "role1", "role2", "role3" ] }, "Action": [ "kms:Encrypt*", "kms:Decrypt*", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:Describe*" ], "Resource": "*" }

    キーを使用して ​CloudWatch Logs を暗号化する場合、"Service": "logs.region.amazonaws.com"​ と表示される ​Service ステートメントが必要です。

  2. 使用する前に、AWS KMS​ キーが ENABLED​ であることを確認します。

  3. セキュリティ設定を反映するための以下のコードが AWS Glue ジョブに含まれていることを確認します。

    job = Job(glueContext) job.init(args['JOB_NAME'], args)

VPC ジョブとクローラの AWS KMS へのルートを作成する

インターネットを介さずに、Virtual Private Cloud (VPC) のプライベートエンドポイントから AWS KMS に直接接続できます。VPC エンドポイントを使用すると、VPC と AWS KMS の間の通信は完全に AWS ネットワーク内で実施されます。

VPC 内に AWS KMS VPC エンドポイントを作成することができます。この手順を実行しないと、ジョブまたはクローラがジョブの kms timeout またはクローラの internal service exception で失敗する可能性があります。詳細な手順については、AWS Key Management Serviceデベロッパーガイドの「Connecting to AWS KMS Through a VPC Endpoint」を参照してください。

これらの手順に従って、VPC コンソールで次の操作を行う必要があります。

  • [プライベート DNS 名を有効にする] を選択します。

  • Java Database Connectivity (JDBC) にアクセスするジョブまたはクローラに使用する [セキュリティグループ] (自己参照ルールを持つ) を選択します。AWS Glue 接続の詳細については、「AWS Glue Data Catalog での接続の定義」を参照してください。

JDBC データストアにアクセスするクローラまたはジョブにセキュリティ設定を追加する場合、AWS Glue には AWS KMS エンドポイントへのルートが必要です。ネットワークアドレス変換 (NAT) ゲートウェイまたは AWS KMS VPC エンドポイントを使用してルートを指定できます。NAT ゲートウェイを作成するには、Amazon VPC ユーザーガイドの「NAT ゲートウェイ」を参照してください。