我有一个用例,我需要单独创建角色和策略,然后将策略添加到角色。
我分别使用 fromRoleArn、fromManagedPolicyArn 导入现有角色和策略,并尝试使用 Role.addManagedPolicy 方法将策略添加到 Role。
我没有看到该政策被添加到角色中。代码运行成功,但策略未添加到角色中。
这是一个错误吗?任何人都可以为我的用例建议替代解决方案
这不是一个错误。 CDK 无法更改导入的资源,因此此操作将是空操作。
来自文档:
虽然您可以在任何地方使用导入的资源,但您无法修改导入的资源。例如,在导入的 s3.Bucket 上调用 addToResourcePolicy(Python:add_to_resource_policy)不会执行任何操作。
另一种方法是使用 CDK 创建角色。
IAM 角色在这里有点“例外”,因为您可以修改其策略并添加内联语句。这就是导入时
mutable
属性的用途。
但这不适用于附加托管策略,因此在这种情况下对您没有帮助。
ImportedRole.addManagedPolicy
是一个空操作: