You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用CreateWebLoginToken触发AccessDeniedException,请求排查

问题原因及解决方法

1. IAM策略资源范围不正确

很多时候用户只配置了airflow:CreateWebLoginToken操作权限,但未指定精确的MWAA环境ARN作为资源。必须确保策略中的Resource字段匹配目标MWAA环境的完整ARN,不能使用泛通配符*(特殊场景除外)。

正确的IAM策略示例:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "airflow:CreateWebLoginToken",
      "Resource": "arn:aws:airflow:<区域>:<账号ID>:environment:<你的MWAA环境名>"
    }
  ]
}

同时确认该策略已正确附加到调用API的IAM用户/角色上,而非MWAA的执行角色。

2. 未将调用者添加到MWAA环境的允许访问列表

使用Idealo的MWAA Terraform模块时,需明确指定哪些IAM实体有权访问MWAA环境(包括创建登录令牌)。模块通常提供allowed_iam_entities参数,需将调用API的用户/角色ARN添加到该列表中:

module "mwaa" {
  source  = "idealo/mwaa/aws"
  version = "x.x.x"

  # 其他必要配置
  name = "my-mwaa-env"
  execution_role_arn = "arn:aws:iam::<账号ID>:role/my-mwaa-exec-role"
  # ...

  # 添加允许创建令牌的IAM实体
  allowed_iam_entities = [
    "arn:aws:iam::<账号ID>:user/my-api-user",
    # 若使用角色则填写角色ARN
    # "arn:aws:iam::<账号ID>:role/my-api-role"
  ]
}

更新配置后重新部署MWAA环境,确保配置生效。

3. IAM权限边界限制

若调用者的IAM用户/角色设置了权限边界,需检查边界策略是否包含airflow:CreateWebLoginToken操作及对应的MWAA环境资源。权限边界会覆盖直接附加的策略,可能导致权限失效。

4. 验证调用身份的正确性

调用API时,确保使用的是已配置权限的IAM用户/角色凭证。可通过以下CLI命令验证当前身份:

aws sts get-caller-identity

确认返回的ARN与你配置权限的实体一致。


内容的提问来源于stack exchange,提问作者HouKaide

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 20:43:11