Amazon MWAA 上的 VPC 安全
本页介绍用于保护 Amazon MWAA 环境的 Amazon VPC 组件以及这些组件所需的配置。
目录
术语
- 公有路由
-
可以访问互联网的 Amazon VPC 网络。
- 私有路由
-
无法访问互联网的 Amazon VPC 网络。
安全性概述
安全组和访问控制列表(ACL)提供了使用您指定的规则控制 Amazon VPC 中跨子网和实例的网络流量的方法。
-
进出子网的网络流量可以通过访问控制列表(ACL)控制。您只需要一个 ACL,并且可以在多个环境中使用相同的 ACL。
-
进出实例的网络流量可以由 Amazon VPC 安全组控制。您可以在每个环境中使用一到五个安全组。
-
进出实例的网络流量也可以通过 VPC 端点策略进行控制。如果贵组织不允许在 Amazon VPC 内访问互联网,并且您使用的是带有私有路由的 Amazon VPC 网络,则需要为 AWS VPC 端点和 Apache Airflow VPC 端点制定一个 VPC 端点策略。
网络访问控制列表(ACL)
网络访问控制列表(ACL)可以管理(通过允许或拒绝规则)子网级别的入站和出站流量。ACL 是无状态的,这意味着必须单独、明确指定入站和出站规则。它用于指定 VPC 网络中允许从实例进出的网络流量类型。
每个 Amazon VPC 都有允许所有入站和出站流量的默认 ACL。您可以编辑默认 ACL 规则,也可以创建自定义 ACL 并将其附加到子网。一个子网在任何时候只能连接一个 ACL,但一个 ACL 可以连接到多个子网。
(推荐)ACL 示例
以下示例演示的入站和出站 ACL 规则,可用于使用公有路由或私有路由的 Amazon VPC。
规则编号 | 类型 | 协议 | 端口范围 | 源 | 允许/拒绝 |
---|---|---|---|---|---|
100 |
所有 IPv4 流量 |
全部 |
全部 |
0.0.0.0/0 |
允许 |
* |
所有 IPv4 流量 |
全部 |
全部 |
0.0.0.0/0 |
拒绝 |
VPC 安全组
VPC 安全组可以作为虚拟防火墙,用于控制一个或多个实例级别的流量。安全组是有状态的,这意味着当允许入站连接时,它可以进行回复。它用于指定 VPC 网络中允许从实例进入的网络流量类型。
每个 Amazon VPC 都有一个默认安全组。默认情况下,它没有入站规则。它有一条允许所有出站流量的出站规则。您可以编辑默认安全组规则,也可以创建自定义安全组并将其附加到 Amazon VPC。在 Amazon MWAA 上,您需要配置入站和出站规则,以便在 NAT 网关上引导流量。
(推荐)所有访问自引用安全组示例
以下示例演示的入站安全组规则,将允许使用公有路由或私有路由的 Amazon VPC 的所有流量。本例中的安全组必须为自己指定自引用规则。
类型 | 协议 | 源类型 | 来源 |
---|---|---|---|
所有流量 |
All |
全部 |
sg-0909e8e81919/my-mwaa-vpc-security-group |
以下示例显示了出站安全组规则。
类型 | 协议 | 源类型 | 来源 |
---|---|---|---|
所有流量 |
All |
全部 |
0.0.0.0/0 |
(可选)限制入站访问端口 5432 的安全组示例
以下示例显示了入站安全组规则,这些规则允许环境的 Amazon Aurora PostgreSQL 元数据数据库(由 Amazon MWAA 拥有)在端口 5432 上使用所有 HTTPS 流量。
注意
如果您选择使用此规则限制流量,则需要添加另一条规则以允许端口 443 上的 TCP 流量。
类型 | 协议 | 端口范围 | 源类型 | 来源 |
---|---|---|---|---|
自定义 TCP |
TCP |
5432 |
自定义 |
sg-0909e8e81919/my-mwaa-vpc-security-group |
(可选)限制入站访问端口 443 的安全组示例
以下示例显示了允许 Apache Airflow Web 服务器端口 443 上所有 TCP 流量的入站安全组规则。
类型 | 协议 | 端口范围 | 源类型 | 来源 |
---|---|---|---|---|
HTTPS |
TCP |
443 |
自定义 |
sg-0909e8e81919/my-mwaa-vpc-security-group |
VPC 端点策略(仅限私有路由)
VPC 端点 (AWS PrivateLink) 策略控制从私有子网访问 AWS 服务。VPC 端点策略是一种 IAM 资源策略,您可以将其附加到 VPC 网关或接口端点。本节介绍每个 VPC 端点的 VPC 端点策略所需的权限。
我们建议对您创建的每个 VPC 端点使用允许完全访问所有 AWS 服务的 VPC 接口端点策略,并仅使用执行角色来获得 AWS 权限。
(推荐)允许所有人访问的 VPC 端点策略示例
对于使用私有路由的 Amazon VPC,以下示例显示了使用 VPC 接口端点策略。
{ "Statement": [ { "Action": "*", "Effect": "Allow", "Resource": "*", "Principal": "*" } ] }
(推荐)允许访问存储桶的 Amazon S3 网关端点策略示例
以下示例显示一个 VPC 网关端点策略,对于使用私有路由的 Amazon VPC,它提供了对 Amazon ECR 操作所需的 Amazon S3 存储桶的访问权限。除了存储 DAG 和支持文件的存储桶外,还需要这样才能检索 Amazon ECR 镜像。
{ "Statement": [ { "Sid": "Access-to-specific-bucket-only", "Principal": "*", "Action": [ "s3:GetObject" ], "Effect": "Allow", "Resource": ["arn:aws:s3:::prod-
region
-starport-layer-bucket/*"] } ] }