feat: Add support for audit notifications for transition (#12842)

This PR adds audit notifications for transitioning objects,
similar to audit logging for expiration and replication
traffic.
This commit is contained in:
Harshavardhana 2021-07-30 12:45:25 -07:00 committed by GitHub
parent e7baf2d7d2
commit a51799d9f0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 6 deletions

View File

@ -1354,6 +1354,8 @@ const (
ILMExpiry = "ilm:expiry"
// ILMFreeVersionDelete - audit trail for ILM free-version delete
ILMFreeVersionDelete = "ilm:free-version-delete"
// ILMTransition - audit trail for ILM transitioning.
ILMTransition = " ilm:transition"
)
func auditLogLifecycle(ctx context.Context, oi ObjectInfo, trigger string) {
@ -1363,6 +1365,8 @@ func auditLogLifecycle(ctx context.Context, oi ObjectInfo, trigger string) {
apiName = "ILMExpiry"
case ILMFreeVersionDelete:
apiName = "ILMFreeVersionDelete"
case ILMTransition:
apiName = "ILMTransition"
}
auditLogInternal(ctx, oi.Bucket, oi.Name, AuditLogOptions{
Trigger: trigger,

View File

@ -1437,16 +1437,15 @@ func (er erasureObjects) TransitionObject(ctx context.Context, bucket, object st
er.addPartial(bucket, object, opts.VersionID, -1)
break
}
// Notify object deleted event.
objInfo := fi.ToObjectInfo(bucket, object)
sendEvent(eventArgs{
EventName: eventName,
BucketName: bucket,
Object: ObjectInfo{
Name: object,
VersionID: opts.VersionID,
},
Host: "Internal: [ILM-Transition]",
Object: objInfo,
Host: "Internal: [ILM-Transition]",
})
auditLogLifecycle(ctx, objInfo, ILMTransition)
return err
}