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

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

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

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

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

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

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

重要

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

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

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

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

  1. CloudWatch Logs を暗号化する AWS Glue​ クローラおよびジョブに渡される​IAM ロールへのAWS KMS​ アクセス許可を付与するため、AWS Key Management Service​ (AWS KMS) キーを作成または更新します。詳細については、​『Amazon CloudWatch Logs User Guide』の「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 Developer Guide』の「VPC エンドポイント経由の AWS KMS への接続」を参照してください。

これらの手順に従って、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 ゲートウェイ」を参照してください。