

# AWS Glue 中的基础结构安全性
<a name="infrastructure-security"></a>

作为一项托管式服务，AWS Glue 由 [Amazon Web Services：安全流程概览](https://d0.awsstatic.com/whitepapers/Security/AWS_Security_Whitepaper.pdf)白皮书中所述的 AWS 全球网络安全程序提供保护。

您可以使用 AWS 发布的 API 调用通过网络访问。AWS Glue客户端必须支持传输层安全性协议 (TLS) 1.0 或更高版本。建议使用 TLS 1.2 或更高版本。客户端还必须支持具有完全向前保密（PFS）的密码套件，例如 Ephemeral Diffie-Hellman（DHE）或 Elliptic Curve Ephemeral Diffie-Hellman（ECDHE）。大多数现代系统（如 Java 7 及更高版本）都支持这些模式。

此外，必须使用访问密钥 ID 和与 IAM 主体关联的秘密访问密钥来对请求进行签名。或者，您可以使用 [AWS Security Token Service](https://docs.aws.amazon.com/STS/latest/APIReference/Welcome.html)（AWS STS）生成临时安全凭证来对请求进行签名。

**Topics**
+ [为 AWS Glue（AWS PrivateLink）配置接口 VPC 端点（AWS PrivateLink）](vpc-interface-endpoints.md)
+ [配置共享的 Amazon VPC](shared-vpc.md)

# 为 AWS Glue（AWS PrivateLink）配置接口 VPC 端点（AWS PrivateLink）
<a name="vpc-interface-endpoints"></a>

您可以通过创建*接口 VPC 端点*在 VPC 和 AWS Glue 之间建立私有连接。接口端点由 [AWS PrivateLink](https://aws.amazon.com/privatelink) 提供支持，该技术支持您通过私密方式访问 AWS Glue API，而无需互联网网关、NAT 设备、VPN 连接或 AWS Direct Connect 连接。VPC 中的实例即使没有公有 IP 地址也可与 AWS Glue API 进行通信。VPC 和 AWS Glue 之间的流量不会脱离 Amazon 网络。

每个接口终端节点均由子网中的一个或多个[弹性网络接口](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html)表示。

有关更多信息，请参阅《Amazon VPC 用户指南》**中的[接口 VPC 端点（AWS PrivateLink）](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html)。

## AWS Glue VPC 端点注意事项
<a name="vpc-endpoint-considerations"></a>

请务必先查看 *Amazon VPC 用户指南*中的[接口端点属性和限制](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#vpce-interface-limitations)，然后再为 AWS Glue 设置接口 VPC 终端节点。

AWS Glue 支持从 VPC 调用它的所有 API 操作。

## 为 AWS Glue 创建接口 VPC 端点
<a name="vpc-endpoint-create"></a>

您可以使用 Amazon VPC 控制台或 AWS Command Line Interface (AWS CLI) 为 AWS Glue 服务创建 VPC 端点。有关更多信息，请参阅《Amazon VPC 用户指南》**中的[创建接口端点](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint)

使用以下服务名称为 AWS Glue 创建 VPC 端点：
+ com.amazonaws.*region*.glue

如果为端点启用私有 DNS，则可以使用其默认 DNS 名称作为区域，向 AWS Glue 发送 API 请求，例如 `glue.us-east-1.amazonaws.com`。

有关更多信息，请参阅《Amazon VPC 用户指南》**中的[通过接口端点访问服务](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#access-service-though-endpoint)。

## 为 AWS Glue 创建 VPC 端点策略
<a name="vpc-endpoint-policy"></a>

您可以为 VPC 端点附加控制对 AWS Glue 的访问的端点策略。该策略指定以下信息：
+ 可执行操作的主体。
+ 可执行的操作。
+ 可对其执行操作的资源。

有关更多信息，请参阅《Amazon VPC 用户指南》**中的[使用 VPC 端点控制对服务的访问](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html)。

**示例：适用于 AWS Glue 允许创建和更新任务的 VPC 终端节点策略**  
下面是用于 AWS Glue 的端点策略示例。当附加到端点时，此策略会向所有资源上的所有主体授予对列出的 AWS Glue 操作的访问权限。

```
{
  "Statement": [
    {
      "Sid": "RestrictPassRole",
      "Effect": "Allow",
      "Action": "iam:PassRole",
      "Resource": "arn:aws:iam::123456789012:role/GlueServiceRole*",
      "Condition": {
        "StringEquals": {
          "iam:PassedToService": "glue.amazonaws.com"
        }
      }
    }
  ]
}
```

**示例：允许只读数据目录访问的 VPC 终端节点策略**  
下面是用于 AWS Glue 的端点策略示例。当附加到端点时，此策略会向所有资源上的所有主体授予对列出的 AWS Glue 操作的访问权限。

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "glue:GetDatabase",
        "glue:GetDatabases",
        "glue:GetTable",
        "glue:GetTables",
        "glue:GetTableVersion",
        "glue:GetTableVersions",
        "glue:GetPartition",
        "glue:GetPartitions",
        "glue:BatchGetPartition",
        "glue:SearchTables"
      ],
      "Resource": "*"
    }
  ]
}
```

# 配置共享的 Amazon VPC
<a name="shared-vpc"></a>

AWS Glue 支持 Amazon Virtual Private Cloud 中的共享 Virtual Private Cloud（VPC）。Amazon VPC 共享允许多个 AWS 账户将其应用程序资源（例如 Amazon EC2 实例和 Amazon Relational Database Service（Amazon RDS）数据库）创建到共享的集中管理式 Amazon VPC 中。在此模型中，拥有 VPC 的账户（拥有者）与属于 AWS Organizations 中同一企业的其他账户（参与者）共享一个或多个子网。共享子网之后，参与者可以查看、创建、修改和删除与他们共享的子网中的应用程序资源。

在 AWS Glue 中，要创建与共享子网的连接，您必须在账户中创建一个安全组，并将安全组附加到共享子网。

有关更多信息，请参阅以下主题：
+ 《Amazon VPC 用户指南》**中的[使用共享 VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-sharing.html)
+ 《AWS Organizations 用户指南》**中的[什么是 AWS Organizations？](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html)