访问AWS MWAA Airflow REST API遇未授权错误,需额外权限吗?
AWS Airflow REST API 未授权问题的权限排查方案
- 确认身份验证模式:AWS托管的Airflow(如MWAA)默认采用IAM身份验证,Basic Auth或自定义WebToken不生效。必须使用AWS Signature Version 4对请求签名,同时验证调用者的IAM权限配置。
- 检查核心IAM权限:
- 调用Airflow API需具备
airflow:InvokeAirflowApi权限,权限策略需指定目标MWAA环境资源,示例如下:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "airflow:InvokeAirflowApi", "Resource": "arn:aws:airflow:<区域>:<账号ID>:environment/<你的MWAA环境名称>" } ] } - 除IAM权限外,还需Airflow内部RBAC权限:确保调用者对应的IAM角色在Airflow中被授予Viewer及以上权限(如Admin、User),才能读取DAG列表。
- 调用Airflow API需具备
- 绑定Airflow RBAC与IAM角色:
- 在MWAA控制台的环境配置页,检查
Airflow UI access设置,确认你的IAM角色已加入允许访问的角色列表。 - 若启用Airflow RBAC,需在Airflow UI中为对应IAM身份(通过
aws:PrincipalArn映射)分配权限组,例如给arn:aws:iam::<账号ID>:role/<你的角色名>分配Viewer角色,解锁DAG读取权限。
- 在MWAA控制台的环境配置页,检查
- 验证请求签名正确性:
- 推荐使用AWS SDK(如boto3)自动处理SigV4签名,避免手动签名出错;手动签名时需确保服务名为
airflow,区域与MWAA环境一致,请求头包含X-Amz-Date、Authorization等必填字段,不要混合使用多种验证方式。
- 推荐使用AWS SDK(如boto3)自动处理SigV4签名,避免手动签名出错;手动签名时需确保服务名为
内容的提问来源于stack exchange,提问作者kaushik
相关产品推荐
相关产品推荐

