问题描述
我有一个 API 网关,其中包含多个启用了 IAM 身份验证的端点,我们称它们为 /get_data
和 /post_data
。
我创建了一个有权执行上述端点的角色。比方说,这部署在 AWS 账户 ABC 上。
let assumeRole = new Role(this,'sigv4CallableRole',{
assumedBy: new ServicePrincipal('ec2.amazonaws.com')
});
assumeRole.addToPolicy(new PolicyStatement({
actions: ['execute-api:Invoke'],effect: Effect.ALLOW,resources: methodArns
}));
据我所知,如果我想授予对 AWS 账户 XYZ 的访问权限,以便他们可以调用这些端点,我需要将他们的 AWS 账户作为可调用的受信任实体添加到posedBy 中。在高层次上,我知道用户然后获取他们帐户 XYZ 的凭证,在 AWS 帐户 ABC 下承担角色 sigv4CallableRole
作为受信任的实体,然后以某种方式构造 sigv4 请求并调用端点 {{1} } 或 /get_data
。这是我有点模糊的部分,这是正确的假设吗?用户是否必须首先获得 XYZ 的凭证,然后 /post_data
在 sts
下承担 AWS 账户 ABC 的角色,然后构建 sigv4 签名请求并调用端点?有人可以用更多细节来澄清这一点吗?我一直在阅读的大多数教程主要是阅读文档和超级手稿。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)