Aws cdk 如何指定将在许多地区使用的IAM角色的信任关系?

Aws cdk 如何指定将在许多地区使用的IAM角色的信任关系?,aws-cdk,Aws Cdk,我正在创建一个将创建IAM角色的CDK堆栈。由于角色是全局的,因此只部署一次。第二个堆栈将通过查找role.fromrolern(…)来使用此角色。此角色将由step功能承担。我在角色堆栈中有以下CDK构造: 假设:新服务主体('states.amazonaws.com')。当我查看生成的角色时,我会在信任关系选项卡上看到以下内容:身份提供者states.eu-north-1.amazonaws.com。另外还添加了部署角色堆栈的区域(eu-north-1),尽管我没有指定它。当我使用IAM控制

我正在创建一个将创建IAM角色的CDK堆栈。由于角色是全局的,因此只部署一次。第二个堆栈将通过查找
role.fromrolern(…)
来使用此角色。此角色将由step功能承担。我在角色堆栈中有以下CDK构造:
假设:新服务主体('states.amazonaws.com')
。当我查看生成的角色时,我会在信任关系选项卡上看到以下内容:
身份提供者states.eu-north-1.amazonaws.com
。另外还添加了部署角色堆栈的区域(eu-north-1),尽管我没有指定它。当我使用IAM控制台创建角色时,没有添加区域
身份提供者声明。amazonaws.com

我的目标是使用单角色regardles,在该区域中部署第二个堆栈,并且每个区域中的状态函数都可以承担该角色。
编辑:
相同的代码添加了信任关系
lambda.amazonaws.com
apigateway.amazonaws.com
。对于这些关系,不添加区域。

如何在创建角色时从AWS服务中删除区域?

出于最小特权原则,目前似乎不支持,请参阅。您可以尝试使用用例打开新特性请求


但是,您仍然可以使用低级的
Cfn
类来实现您想要的-

如果是最小权限的情况,为什么不将区域添加到指定的其他两个信任关系中(总共3个)。第二:AWS控制台在添加信任关系时不添加区域。AFAIK并非所有服务都有其特定于区域的表示,对于那些服务主体字符串没有区域的服务。特权执行最少的似乎只是在CDK构造上,这是CDK的一个“特性”,如上面Github链接中所指定的。