@@ -1041,6 +1041,32 @@ func AddAWSLoadbalancerControllerPermissions(p *Policy, enableWAF, enableWAFv2,
10411041 },
10421042 },
10431043 })
1044+ // AddTags is called by ELBv2 internally during ELBv2 create operations.
1045+ // Scope to those create actions and the cluster tag.
1046+ p .Statement = append (p .Statement , & Statement {
1047+ Effect : StatementEffectAllow ,
1048+ Action : stringorset .String ("elasticloadbalancing:AddTags" ),
1049+ Resource : stringorset .Of (
1050+ fmt .Sprintf ("arn:%s:elasticloadbalancing:*:*:targetgroup/*/*" , p .partition ),
1051+ fmt .Sprintf ("arn:%s:elasticloadbalancing:*:*:loadbalancer/net/*/*" , p .partition ),
1052+ fmt .Sprintf ("arn:%s:elasticloadbalancing:*:*:loadbalancer/app/*/*" , p .partition ),
1053+ fmt .Sprintf ("arn:%s:elasticloadbalancing:*:*:listener/app/*/*/*" , p .partition ),
1054+ fmt .Sprintf ("arn:%s:elasticloadbalancing:*:*:listener/net/*/*/*" , p .partition ),
1055+ fmt .Sprintf ("arn:%s:elasticloadbalancing:*:*:listener-rule/app/*/*/*" , p .partition ),
1056+ fmt .Sprintf ("arn:%s:elasticloadbalancing:*:*:listener-rule/net/*/*/*" , p .partition ),
1057+ ),
1058+ Condition : Condition {
1059+ "StringEquals" : map [string ]interface {}{
1060+ "aws:RequestTag/elbv2.k8s.aws/cluster" : p .clusterName ,
1061+ "elasticloadbalancing:CreateAction" : []string {
1062+ "CreateListener" ,
1063+ "CreateLoadBalancer" ,
1064+ "CreateRule" ,
1065+ "CreateTargetGroup" ,
1066+ },
1067+ },
1068+ },
1069+ })
10441070 p .unconditionalAction .Insert (
10451071 "elasticloadbalancing:SetRulePriorities" ,
10461072 )
0 commit comments