diff --git a/management/server/http/policies_handler.go b/management/server/http/policies_handler.go index 8255e4896..ca256a183 100644 --- a/management/server/http/policies_handler.go +++ b/management/server/http/policies_handler.go @@ -128,8 +128,13 @@ func (h *Policies) savePolicy(w http.ResponseWriter, r *http.Request, accountID Description: req.Description, } for _, rule := range req.Rules { + ruleID := policyID // TODO: when policy can contain multiple rules, need refactor + if rule.Id != nil { + ruleID = *rule.Id + } + pr := server.PolicyRule{ - ID: policyID, // TODO: when policy can contain multiple rules, need refactor + ID: ruleID, PolicyID: policyID, Name: rule.Name, Destinations: rule.Destinations, diff --git a/management/server/sql_store_test.go b/management/server/sql_store_test.go index 8931008d7..c05793fc6 100644 --- a/management/server/sql_store_test.go +++ b/management/server/sql_store_test.go @@ -1832,6 +1832,8 @@ func TestSqlStore_SavePolicy(t *testing.T) { policy.Enabled = false policy.Description = "policy" + policy.Rules[0].Sources = []string{"group"} + policy.Rules[0].Ports = []string{"80", "443"} err = store.SavePolicy(context.Background(), LockingStrengthUpdate, policy) require.NoError(t, err)