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

AWS跨账号访问失败:无权限访问资源问题排查

AWS跨账号Lambda访问父账号Route53配置错误排查

核心错误点

1. 父账号test_role信任策略的主体(Principal)配置错误

当前信任策略允许子账号的root用户假设该角色,但实际发起sts:AssumeRole请求的是子账号中Lambda的执行角色(即报错信息中的arn:aws:sts::{sub_account_id}:assumed-role/{lambda_role_name}/{lambda_name}),而非子账号root用户。因此父角色的信任策略未授权正确的请求主体,导致权限验证失败。

2. 子账号Lambda执行角色权限策略冗余

Lambda权限中的route53:*权限是针对子账号自身的Route53资源,无法直接用于访问父账号资源。跨账号访问的核心是通过sts:AssumeRole获取父账号角色的临时凭证,再用该凭证操作父账号资源,这部分冗余权限可以移除。

修正后的配置

父账号test_role信任策略

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::{sub_account_id}:role/{lambda_role_name}"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

替换{sub_account_id}和{lambda_role_name}为实际的子账号ID和Lambda执行角色名称。

子账号Lambda执行角色权限策略

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": "sts:AssumeRole",
      "Resource": "arn:aws:iam::{parent_account_id}:role/test_role",
      "Effect": "Allow"
    }
  ]
}

替换{parent_account_id}为实际的父账号ID。

额外注意事项

Lambda代码中必须先调用STS的AssumeRole接口,获取父账号test_role的临时访问凭证,然后使用该凭证初始化Route53客户端,才能操作父账号的Route53资源,不能直接使用Lambda自身的角色权限发起请求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 09:55:11