如何限制Amazon MWAA公共环境UI仅对特定IP段开放访问
限制Amazon MWAA UI公网访问权限的解决方案
可以限制MWAA UI的访问权限,你之前的操作未生效是因为MWAA UI的访问控制并非直接通过环境安全组实现,而是由AWS管理的负载均衡和资源策略共同管控。以下是具体的解决方法:
1. 明确核心逻辑
MWAA的环境安全组主要用于管控Airflow内部组件(调度器、Worker、元数据库)之间的通信,以及与外部数据源的连接,不直接控制UI的公网访问路径。这就是为什么修改安全组入站规则后UI仍可访问,删除5432端口会导致调度器崩溃——该端口是调度器连接内部元数据库的必要端口。
2. 限制UI访问的正确配置
方式一:通过资源策略指定允许的IP段
MWAA支持通过资源策略限制仅特定IP段能获取UI登录令牌,具体配置:
- 进入MWAA控制台,选中目标环境
- 切换到「Permissions」标签页,找到「Resource policy」模块
- 添加如下策略(替换占位符为你的实际信息):
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "airflow:CreateWebLoginToken", "Resource": "arn:aws:airflow:<你的区域>:<你的账号ID>:environment:<你的环境名称>", "Condition": { "IpAddress": { "aws:SourceIp": "<允许的IP段,例如192.168.1.0/24>" } } } ] }
该策略会拦截非指定IP段的用户获取登录令牌,从而阻止其访问UI。
方式二:配置私有访问彻底关闭公网UI
如果不需要公网访问UI,可将MWAA切换为私有访问模式:
- 确保MWAA环境部署在VPC私有子网中
- 创建针对Airflow的VPC端点(服务名称为
com.amazonaws.<你的区域>.airflow) - 更新MWAA环境的访问模式为「Private only」,此时UI仅能通过VPC内部、VPN或Direct Connect访问,彻底阻断公网入口
3. 保留必要的安全组规则
请勿删除环境安全组的关键入站规则,必须保留的包括:
- 5432端口:允许调度器、Worker访问内部元数据库
- 8793端口:允许Worker与调度器通信
- 按需添加外部数据源访问所需的端口规则
内容的提问来源于stack exchange,提问作者chook
相关产品推荐
相关产品推荐

