Skip to content

Commit 8894644

Browse files
authored
Merge pull request TencentBlueKing#5391 from wcy00000000000000/v3.10.x-bugfix
删除权限中心action之前先删除相关的权限策略
2 parents f14ab18 + 3e79375 commit 8894644

File tree

2 files changed

+27
-0
lines changed

2 files changed

+27
-0
lines changed

src/ac/iam/client.go

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -476,3 +476,25 @@ func (c *iamClient) UpdateCommonActions(ctx context.Context, commonActions []Com
476476

477477
return nil
478478
}
479+
480+
func (c *iamClient) DeleteActionPolicies(ctx context.Context, actionID ActionID) error {
481+
resp := new(BaseResponse)
482+
result := c.client.Delete().
483+
SubResourcef("/api/v1/model/systems/%s/actions/%s/policies", c.Config.SystemID, actionID).
484+
WithContext(ctx).
485+
WithHeaders(c.basicHeader).
486+
Do()
487+
err := result.Into(resp)
488+
if err != nil {
489+
return err
490+
}
491+
492+
if resp.Code != 0 {
493+
return &AuthError{
494+
RequestID: result.Header.Get(IamRequestHeader),
495+
Reason: fmt.Errorf("delete action %s policies failed, code: %d, msg: %s", actionID, resp.Code, resp.Message),
496+
}
497+
}
498+
499+
return nil
500+
}

src/ac/iam/iam.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,11 @@ func (i Iam) RegisterSystem(ctx context.Context, host string) error {
194194
removedResourceActionIDs := make([]ActionID, actionLen)
195195
idx := 0
196196
for resourceActionID := range removedResourceActionMap {
197+
if err = i.client.DeleteActionPolicies(ctx, resourceActionID); err != nil {
198+
blog.Errorf("delete action %s policies failed, err: %v", resourceActionID, err)
199+
return err
200+
}
201+
197202
removedResourceActionIDs[idx] = resourceActionID
198203
idx++
199204
}

0 commit comments

Comments
 (0)