本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
加密 AWS Glue 写入的数据
安全配置是 AWS Glue 可以使用的一组安全属性。您可以使用安全配置加密静态数据。以下场景显示了使用安全配置的一些方法。
-
将安全配置附加到 AWS Glue 爬网程序以写入加密的 Amazon CloudWatch Logs。有关将安全配置附加到爬网程序的更多信息,请参阅 步骤 3:配置安全设置。
-
将安全配置附加到提取、转换和加载(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 环境以使用安全配置。
-
创建或更新您的 AWS Key Management Service(AWS KMS)密钥,向传递到 AWS Glue 爬网程序和任务的 IAM 角色授予 AWS KMS 权限以加密 CloudWatch Logs。有关更多信息,请参阅 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
语句(显示为"Service": "logs.
)。region
.amazonaws.com" -
确保 AWS KMS 密钥为
ENABLED
,然后才可使用。
注意
如果您使用 Iceberg 作为数据湖框架,则 Iceberg 表有自己的机制来启用服务器端加密。除了 AWS Glue 的安全配置外,您还应该启用这些配置。要在 Iceberg 表上启用服务器端加密,请查看 Iceberg 文档
为 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 开发人员指南中的通过 VPC 终端节点连接到 AWS KMS。
当您按照以下说明操作时,在 VPC 控制台
选择 Enable Private DNS name (启用私有 DNS 名称)。
选择 Security group (安全组)(带自引用规则),此安全组将用于访问 Java 数据库连接 (JDBC) 的任务或爬网程序。有关 AWS Glue 连接的更多信息,请参阅 连接到数据。
当您将安全配置添加到访问 JDBC 数据存储的爬网程序或任务时,AWS Glue 必须具有到 AWS KMS 终端节点的路由。您可以使用网络地址转换 (NAT) 网关或 AWS KMS VPC 终端节点提供路由。要创建 NAT 网关,请参阅 Amazon VPC 用户指南中的 NAT 网关。