SecretsManager: Adding ability to disable all DEKs (#108444)
* Adding dek deactivation and rename list dek * disable data keys from manager * separate interface and don't use in encryption manager
This commit is contained in:
@@ -29,7 +29,12 @@ type DataKeyStorage interface {
|
||||
CreateDataKey(ctx context.Context, dataKey *SecretDataKey) error
|
||||
GetDataKey(ctx context.Context, namespace, uid string) (*SecretDataKey, error)
|
||||
GetCurrentDataKey(ctx context.Context, namespace, label string) (*SecretDataKey, error)
|
||||
GetAllDataKeys(ctx context.Context, namespace string) ([]*SecretDataKey, error)
|
||||
ListDataKeys(ctx context.Context, namespace string) ([]*SecretDataKey, error)
|
||||
DisableDataKeys(ctx context.Context, namespace string) error
|
||||
DeleteDataKey(ctx context.Context, namespace, uid string) error
|
||||
}
|
||||
|
||||
// GlobalDataKeyStorage is an interface for namespace unbounded operations.
|
||||
type GlobalDataKeyStorage interface {
|
||||
DisableAllDataKeys(ctx context.Context) error
|
||||
}
|
||||
|
||||
@@ -45,7 +45,7 @@ func TestEncryptionService_EnvelopeEncryption(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, plaintext, decrypted)
|
||||
|
||||
keys, err := svc.store.GetAllDataKeys(ctx, namespace)
|
||||
keys, err := svc.store.ListDataKeys(ctx, namespace)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, len(keys), 1)
|
||||
})
|
||||
@@ -60,7 +60,7 @@ func TestEncryptionService_EnvelopeEncryption(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, plaintext, decrypted)
|
||||
|
||||
keys, err := svc.store.GetAllDataKeys(ctx, namespace)
|
||||
keys, err := svc.store.ListDataKeys(ctx, namespace)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, len(keys), 1)
|
||||
})
|
||||
@@ -139,12 +139,12 @@ func TestEncryptionService_DataKeys(t *testing.T) {
|
||||
})
|
||||
|
||||
t.Run("deleting DEK when no id provided must fail", func(t *testing.T) {
|
||||
beforeDelete, err := store.GetAllDataKeys(ctx, namespace)
|
||||
beforeDelete, err := store.ListDataKeys(ctx, namespace)
|
||||
require.NoError(t, err)
|
||||
err = store.DeleteDataKey(ctx, namespace, "")
|
||||
require.Error(t, err)
|
||||
|
||||
afterDelete, err := store.GetAllDataKeys(ctx, namespace)
|
||||
afterDelete, err := store.ListDataKeys(ctx, namespace)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, beforeDelete, afterDelete)
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user