AWS Glue での暗号化のセットアップ - AWS Glue

英語の翻訳が提供されている場合で、内容が矛盾する場合には、英語版がオリジナルとして取り扱われます。翻訳は機械翻訳により提供されています。

AWS Glue での暗号化のセットアップ

次のワークフローの例では、AWS Glue で暗号化を使用するときに設定するオプションに注目します。この例では、特定の AWS Key Management Service (AWS KMS) キーの使用方法を示していますが、特定のニーズに基づいて他の設定を選択することもできます。このワークフローでは、AWS Glue の設定時に暗号化に関連するオプションのみを取り上げます。

  1. AWS Glue コンソールのユーザーがすべての AWS Glue API オペレーションを許可するアクセス許可ポリシー (例: "glue:*") を使用しない場合は、次のアクションが許可されていることを確認してください。

    • "glue:GetDataCatalogEncryptionSettings"

    • "glue:PutDataCatalogEncryptionSettings"

    • "glue:CreateSecurityConfiguration"

    • "glue:GetSecurityConfiguration"

    • "glue:GetSecurityConfigurations"

    • "glue:DeleteSecurityConfiguration"

  2. 暗号化されたカタログにアクセスまたは書き込みするクライアント、つまりコンソールユーザー、クローラー、ジョブ、開発エンドポイントなどには、次のようなアクセス許可が必要です。

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt", "kms:Encrypt" ], "Resource": "<key-arns-used-for-data-catalog>" } }
  3. 暗号化された接続パスワードにアクセスするユーザーまたはロールには、次のアクセス許可が必要です。

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": "<key-arns-used-for-password-encryption>" } }
  4. 暗号化されたデータを Amazon S3 に書き込む抽出、変換、ロード (ETL) ジョブのロールには、次のようなアクセス許可が必要です。

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey" ], "Resource": "<key-arns-used-for-s3>" } }
  5. 暗号化された Amazon CloudWatch Logs を書き込む ETL ジョブまたはクローラには、キーポリシーに次のアクセス許可が必要です (IAM ポリシーではありません)。

    { "Effect": "Allow", "Principal": { "Service": "logs.region.amazonaws.com" }, "Action": [ "kms:Encrypt*", "kms:Decrypt*", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:Describe*" ], "Resource": "<arn of key used for ETL/crawler cloudwatch encryption>" }

    キーポリシーの詳細については、『AWS Key Management Service Developer Guide』の「AWS KMS のキーポリシーを使用する」を参照してください。

  6. 暗号化されたジョブのブックマークを使用する ETL ジョブには、次のアクセス許可が必要です。

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:Encrypt" ], "Resource": "<key-arns-used-for-job-bookmark-encryption>" } }
  7. AWS Glue コンソールで、ナビゲーションペインの [設定] を選択します。

    1. [データカタログ設定] ページで [メタデータの暗号化] を選択し、Data Catalog を暗号化します。このオプションは、選択した AWS KMS キーを使用して、Data Catalog のすべてのオブジェクトを暗号化します。

    2. [AWS KMS キー] で、[aws/glue] を選択します。作成したカスタマーマスターキー (CMK) を選択することもできます。

    重要

    AWS Glue は、対称カスタマーマスターキー (CMK) のみをサポートしています。AWS KMS キーは、対称キーのみを表示します。ただし、[Choose a KMS key ARN (KMS キーの ARN を選択)] を選択すると、コンソールで任意のキータイプの ARN を入力できます。必ず、対称キーの ARN のみを入力してください。

    暗号化が有効になっている場合、Data Catalog にアクセスするクライアントは AWS KMS アクセス権限を持っている必要があります。

  8. ナビゲーションペインで、[セキュリティ設定] を選択します。セキュリティ設定は、AWS Glue プロセスを設定するために使用できるセキュリティプロパティのセットです。次に [セキュリティ設定の追加] を選択します。設定で、次のオプションのいずれかを選択します。

    1. [S3 暗号化] を選択します。[暗号化モード] では、SSE-KMSを選択します。[AWS KMS キー] については、[aws/s3] を選択します (ユーザーがこのキーを使用するアクセス権限を持っていることを確認してください)。これにより、ジョブによって Amazon S3 に書き込まれたデータは、AWS 管理 AWS Glue AWS KMS キーを使用できます。

    2. [CloudWatch Logs の暗号化] を選択し、CMK を選択します(ユーザーにこのキーを使用するアクセス許可があることを確認してください)。詳細については、AWS Key Management Service Developer Guideの「AWS KMS を使用した CloudWatch Logs でのログデータの暗号化」を参照してください。

      重要

      AWS Glue は、対称カスタマーマスターキー (CMK) のみをサポートしています。AWS KMS キーは、対称キーのみを表示します。ただし、[Choose a KMS key ARN (KMS キーの ARN を選択)] を選択すると、コンソールで任意のキータイプの ARN を入力できます。必ず、対称キーの ARN のみを入力してください。

    3. [詳細プロパティ] を選択し、[ジョブのブックマーク暗号化モード] を選択します。[AWS KMS キー] には、[aws/glue] を選択します (ユーザーがこのキーを使用するアクセス権限を持っていることを確認してください)。これにより、AWS Glue AWS KMS キーを使用して Amazon S3 に書き込まれたジョブブックマークの暗号化が可能になります。

  9. ナビゲーションペインで [Connections (接続)] を選択します。

    1. [接続の追加] を選択して、ETL ジョブのターゲットとなる Java Database Connectivity (JDBC) データ・ストアへの接続を作成します。

    2. Secure Sockets Layer (SSL) 暗号化が使用されるようにするには、[Require SSL connection (SSL接続を要求)] を選択し、接続をテストします。

  10. ナビゲーションペインで [Jobs (ジョブ)] を選択します。

    1. [ジョブを追加] を選択して、データを変換するジョブを作成します。

    2. ジョブ定義で、作成したセキュリティ構成を選択します。

  11. AWS Glue コンソールで、オンデマンドでジョブを実行します。ジョブによって書き込まれた Amazon S3 データ、ジョブによって書き込まれた CloudWatch Logs ログ、およびジョブブックマークがすべて暗号化されていることを確認します。