AWS CDK - Role.addManagedPolicy 不适用于导入的角色
AWS CDK - Role.addManagedPolicy does not work for imported roles
我有一个用例,我需要单独创建角色和策略,然后再向角色添加策略。
我正在分别使用 fromRoleArn、fromManagedPolicyArn 导入现有角色和策略,并尝试使用 Role.addManagedPolicy 方法向角色添加策略。
我没有看到政策被添加到角色中。代码运行成功,但策略未添加到角色。
这是一个错误吗?。谁能为我的用例提出替代解决方案
这不是错误。 CDK 无法更改导入的资源,因此此操作将是 no-op.
来自docs:
Although you can use an imported resource anywhere, you cannot modify the imported resource. For example, calling addToResourcePolicy (Python: add_to_resource_policy) on an imported s3.Bucket does nothing.
另一种方法是使用 CDK 创建角色。
IAM 角色在这里是一种“例外”,您可以修改其策略并内联添加语句。这就是 mutable
道具在导入时的用途。
不过,这不适用于附加托管策略,因此在这种情况下对您没有帮助。
我有一个用例,我需要单独创建角色和策略,然后再向角色添加策略。
我正在分别使用 fromRoleArn、fromManagedPolicyArn 导入现有角色和策略,并尝试使用 Role.addManagedPolicy 方法向角色添加策略。
我没有看到政策被添加到角色中。代码运行成功,但策略未添加到角色。
这是一个错误吗?。谁能为我的用例提出替代解决方案
这不是错误。 CDK 无法更改导入的资源,因此此操作将是 no-op.
来自docs:
Although you can use an imported resource anywhere, you cannot modify the imported resource. For example, calling addToResourcePolicy (Python: add_to_resource_policy) on an imported s3.Bucket does nothing.
另一种方法是使用 CDK 创建角色。
IAM 角色在这里是一种“例外”,您可以修改其策略并内联添加语句。这就是 mutable
道具在导入时的用途。
不过,这不适用于附加托管策略,因此在这种情况下对您没有帮助。