@@ -26,7 +26,7 @@ function updateBucketEncryption(bucket, log, cb) {
2626 }
2727 log . debug ( 'trying to update bucket encryption' , { oldKey : masterKey || configuredKey } ) ;
2828 // this should trigger vault account key update as well
29- return kms . createBucketKey ( bucket , log , ( err , key ) => {
29+ return kms . createBucketKey ( bucket , log , ( err , newSse ) => {
3030 if ( err ) {
3131 return cb ( err , bucket ) ;
3232 }
@@ -36,13 +36,21 @@ function updateBucketEncryption(bucket, log, cb) {
3636 // will break and the same KMS key will continue to be used.
3737 // And the key is managed (created) by Scality, not passed from input.
3838 if ( updateMaster ) {
39- sse . masterKeyId = key . masterKeyArn ;
39+ sse . masterKeyId = newSse . masterKeyArn ;
4040 }
4141 if ( updateConfigured ) {
42- sse . configuredMasterKeyId = key . masterKeyArn ;
42+ sse . configuredMasterKeyId = newSse . masterKeyArn ;
43+ }
44+ // KMS account key will not be deleted when bucket is deleted
45+ if ( newSse . isAccountEncryptionEnabled ) {
46+ sse . isAccountEncryptionEnabled = newSse . isAccountEncryptionEnabled ;
4347 }
4448
45- log . info ( 'updating bucket encryption' , { oldKey : masterKey || configuredKey , newKey : key . masterKeyArn } ) ;
49+ log . info ( 'updating bucket encryption' , {
50+ oldKey : masterKey || configuredKey ,
51+ newKey : newSse . masterKeyArn ,
52+ isAccount : newSse . isAccountEncryptionEnabled ,
53+ } ) ;
4654 return metadata . updateBucket ( bucket . getName ( ) , bucket , log , err => cb ( err , bucket ) ) ;
4755 } ) ;
4856}
0 commit comments