mirror of
https://github.com/minio/minio.git
synced 2025-04-20 18:44:21 -04:00
Redact sensitive fields from DescribeBatchJob (#20881)
Redacts the following if set: * replicate/credentials/secretKey * replicate/credentials/sessionToken * expire/notify/token
This commit is contained in:
parent
bdb3db6dad
commit
4a319bedc9
@ -289,6 +289,16 @@ type BatchJobExpire struct {
|
|||||||
|
|
||||||
var _ yaml.Unmarshaler = &BatchJobExpire{}
|
var _ yaml.Unmarshaler = &BatchJobExpire{}
|
||||||
|
|
||||||
|
// RedactSensitive will redact any sensitive information in b.
|
||||||
|
func (r *BatchJobExpire) RedactSensitive() {
|
||||||
|
if r == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if r.NotificationCfg.Token != "" {
|
||||||
|
r.NotificationCfg.Token = redactedText
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// UnmarshalYAML - BatchJobExpire extends default unmarshal to extract line, col information.
|
// UnmarshalYAML - BatchJobExpire extends default unmarshal to extract line, col information.
|
||||||
func (r *BatchJobExpire) UnmarshalYAML(val *yaml.Node) error {
|
func (r *BatchJobExpire) UnmarshalYAML(val *yaml.Node) error {
|
||||||
type expireJob BatchJobExpire
|
type expireJob BatchJobExpire
|
||||||
|
@ -61,6 +61,8 @@ var globalBatchConfig batch.Config
|
|||||||
const (
|
const (
|
||||||
// Keep the completed/failed job stats 3 days before removing it
|
// Keep the completed/failed job stats 3 days before removing it
|
||||||
oldJobsExpiration = 3 * 24 * time.Hour
|
oldJobsExpiration = 3 * 24 * time.Hour
|
||||||
|
|
||||||
|
redactedText = "**REDACTED**"
|
||||||
)
|
)
|
||||||
|
|
||||||
// BatchJobRequest this is an internal data structure not for external consumption.
|
// BatchJobRequest this is an internal data structure not for external consumption.
|
||||||
@ -74,6 +76,29 @@ type BatchJobRequest struct {
|
|||||||
ctx context.Context `msg:"-"`
|
ctx context.Context `msg:"-"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// RedactSensitive will redact any sensitive information in b.
|
||||||
|
func (j *BatchJobRequest) RedactSensitive() {
|
||||||
|
j.Replicate.RedactSensitive()
|
||||||
|
j.Expire.RedactSensitive()
|
||||||
|
j.KeyRotate.RedactSensitive()
|
||||||
|
}
|
||||||
|
|
||||||
|
// RedactSensitive will redact any sensitive information in b.
|
||||||
|
func (r *BatchJobReplicateV1) RedactSensitive() {
|
||||||
|
if r == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if r.Target.Creds.SecretKey != "" {
|
||||||
|
r.Target.Creds.SecretKey = redactedText
|
||||||
|
}
|
||||||
|
if r.Target.Creds.SessionToken != "" {
|
||||||
|
r.Target.Creds.SessionToken = redactedText
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// RedactSensitive will redact any sensitive information in b.
|
||||||
|
func (r *BatchJobKeyRotateV1) RedactSensitive() {}
|
||||||
|
|
||||||
func notifyEndpoint(ctx context.Context, ri *batchJobInfo, endpoint, token string) error {
|
func notifyEndpoint(ctx context.Context, ri *batchJobInfo, endpoint, token string) error {
|
||||||
if endpoint == "" {
|
if endpoint == "" {
|
||||||
return nil
|
return nil
|
||||||
@ -1695,6 +1720,8 @@ func (a adminAPIHandlers) DescribeBatchJob(w http.ResponseWriter, r *http.Reques
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Remove sensitive fields.
|
||||||
|
req.RedactSensitive()
|
||||||
buf, err := yaml.Marshal(req)
|
buf, err := yaml.Marshal(req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
batchLogIf(ctx, err)
|
batchLogIf(ctx, err)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user