gpt4 book ai didi

aws-cloudformation - 向堆栈添加权限边界

转载 作者:行者123 更新时间:2023-12-03 07:15:03 25 4
gpt4 key购买 nike

当我部署 CDK 堆栈时 - 它会创建多个角色,两者都是明确的,例如通过 iam.Role 构造,并隐式地例如当角色由 2 级构造内部创建时。

有没有办法将现有的权限边界附加到堆栈创建的所有角色(显式和隐式)?

最佳答案

是的,through aspects .

您可以在 bin/app.ts 中添加以下内容(该文件的名称可能有所不同):

class ConfigurePermissionBoundary implements IAspect {
visit(node: IConstruct): void {
if (node instanceof CfnRole) {
const stack1 = Stack.of(node);
let policy = stack1.node.tryFindChild('GlobalPermissionBoundaryPolicy') as ManagedPolicy | undefined

if (!policy) {
policy = new ManagedPolicy(stack1, 'GlobalPermissionBoundaryPolicy', {
statements: [new PolicyStatement({
effect: Effect.DENY,
actions: ['sts:*'],
resources: ['*']
})]
})
}

node.permissionsBoundary = policy.managedPolicyArn
}
}
}

Aspects.of(app).add(new ConfigurePermissionBoundary())

请注意,我们添加了一个托管策略 GlobalPermissionBoundaryPolicy,它定义了一次权限边界。此外,该方面还处理由您或库代码定义的 new iam.Role() 以及任何 new CfnRole()

关于aws-cloudformation - 向堆栈添加权限边界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72999299/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com