mirror of
https://github.com/paralus/paralus.git
synced 2026-08-24 15:47:19 +00:00
Create audit logs for partner and oidc provider
This commit is contained in:
@@ -247,6 +247,25 @@ func CreateProjectAuditEvent(ctx context.Context, al *zap.Logger, action string,
|
||||
}
|
||||
}
|
||||
|
||||
func CreatePartnerAuditEvent(ctx context.Context, al *zap.Logger, action string, name string, id uuid.UUID) {
|
||||
sd, ok := GetSessionDataFromContext(ctx)
|
||||
if !ok {
|
||||
_log.Warn("unable to create audit event: could not fetch info from context")
|
||||
return
|
||||
}
|
||||
|
||||
detail := &audit.EventDetail{
|
||||
Message: fmt.Sprintf("Partner %s %sd", name, action),
|
||||
Meta: map[string]string{
|
||||
"partner_id": id.String(),
|
||||
"partner_name": name,
|
||||
},
|
||||
}
|
||||
if err := audit.CreateV1Event(al, sd, detail, fmt.Sprintf("partner.%s.success", action), id.String()); err != nil {
|
||||
_log.Warn("unable to create audit event", err)
|
||||
}
|
||||
}
|
||||
|
||||
func CreateOrganizationAuditEvent(ctx context.Context, al *zap.Logger, action string, name string, id uuid.UUID, settingsBefore, settingsAfter *systemv3.OrganizationSettings) {
|
||||
sd, ok := GetSessionDataFromContext(ctx)
|
||||
if !ok {
|
||||
@@ -341,12 +360,32 @@ func CreateIdpAuditEvent(ctx context.Context, al *zap.Logger, action string, nam
|
||||
"idp_name": name,
|
||||
},
|
||||
}
|
||||
// TODO: it is idp.config.created in rcloud
|
||||
// idp.create.success is idp.config.created in rcloud
|
||||
if err := audit.CreateV1Event(al, sd, detail, fmt.Sprintf("idp.%s.success", action), ""); err != nil {
|
||||
_log.Warn("unable to create audit event", err)
|
||||
}
|
||||
}
|
||||
|
||||
func CreateOidcAuditEvent(ctx context.Context, al *zap.Logger, action string, name string, id uuid.UUID) {
|
||||
sd, ok := GetSessionDataFromContext(ctx)
|
||||
if !ok {
|
||||
_log.Warn("unable to create audit event: could not fetch info from context")
|
||||
return
|
||||
}
|
||||
|
||||
detail := &audit.EventDetail{
|
||||
Message: fmt.Sprintf("Oidc %s %sd", name, action),
|
||||
Meta: map[string]string{
|
||||
"oidc_id": id.String(),
|
||||
"oidc_name": name,
|
||||
},
|
||||
}
|
||||
|
||||
if err := audit.CreateV1Event(al, sd, detail, fmt.Sprintf("oidc.%s.success", action), ""); err != nil {
|
||||
_log.Warn("unable to create audit event", err)
|
||||
}
|
||||
}
|
||||
|
||||
func CreateApiKeyAuditEvent(ctx context.Context, al *zap.Logger, action string, id string) {
|
||||
sd, ok := GetSessionDataFromContext(ctx)
|
||||
if !ok {
|
||||
|
||||
@@ -154,6 +154,8 @@ func (s *oidcProvider) Create(ctx context.Context, provider *systemv3.OIDCProvid
|
||||
CallbackUrl: generateCallbackUrl(entity.Id.String(), s.kratosUrl),
|
||||
},
|
||||
}
|
||||
|
||||
CreateOidcAuditEvent(ctx, s.al, AuditActionCreate, rv.GetMetadata().GetName(), entity.Id)
|
||||
return rv, nil
|
||||
}
|
||||
|
||||
@@ -376,6 +378,8 @@ func (s *oidcProvider) Update(ctx context.Context, provider *systemv3.OIDCProvid
|
||||
CallbackUrl: generateCallbackUrl(provider.GetMetadata().GetId(), s.kratosUrl),
|
||||
},
|
||||
}
|
||||
|
||||
CreateOidcAuditEvent(ctx, s.al, AuditActionUpdate, rv.GetMetadata().GetName(), entity.Id)
|
||||
return rv, nil
|
||||
}
|
||||
|
||||
@@ -394,5 +398,7 @@ func (s *oidcProvider) Delete(ctx context.Context, provider *systemv3.OIDCProvid
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
CreateOidcAuditEvent(ctx, s.al, AuditActionDelete, name, entity.Id)
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -78,6 +78,8 @@ func (s *partnerService) Create(ctx context.Context, partner *systemv3.Partner)
|
||||
//update v3 spec
|
||||
partner.Metadata.Id = createdPartner.ID.String()
|
||||
partner.Metadata.ModifiedAt = timestamppb.New(createdPartner.ModifiedAt)
|
||||
|
||||
CreatePartnerAuditEvent(ctx, s.al, AuditActionCreate, partner.GetMetadata().GetName(), createdPartner.ID)
|
||||
}
|
||||
|
||||
return partner, nil
|
||||
@@ -244,6 +246,8 @@ func (s *partnerService) Update(ctx context.Context, partner *systemv3.Partner)
|
||||
//update metadata and status
|
||||
partner.Metadata.ModifiedAt = timestamppb.New(part.ModifiedAt)
|
||||
|
||||
CreatePartnerAuditEvent(ctx, s.al, AuditActionUpdate, partner.GetMetadata().GetName(), part.ID)
|
||||
|
||||
}
|
||||
|
||||
return partner, nil
|
||||
@@ -260,6 +264,8 @@ func (s *partnerService) Delete(ctx context.Context, partner *systemv3.Partner)
|
||||
if err != nil {
|
||||
return &systemv3.Partner{}, err
|
||||
}
|
||||
|
||||
CreatePartnerAuditEvent(ctx, s.al, AuditActionDelete, partner.GetMetadata().GetName(), part.ID)
|
||||
return partner, nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user