Skip to content

Commit 57f7db9

Browse files
authored
feat(policy): add S3TablesDeleteTableEncryptionAction (#253)
Table-level Iceberg encryption overrides had a Put/Get action pair but no Delete action, unlike warehouse-level encryption which already has a dedicated Put/Get/Delete set. This adds the missing action so a server can authorize removal of a table's encryption override.
1 parent 146b267 commit 57f7db9

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

‎policy/table-action.go‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,10 @@ const (
3737
// S3TablesDeleteTableAction maps to the AWS `DeleteTable` S3 Tables action.
3838
S3TablesDeleteTableAction TableAction = "s3tables:DeleteTable"
3939

40+
// S3TablesDeleteTableEncryptionAction is a MinIO extension for deleting a
41+
// table-level encryption configuration override.
42+
S3TablesDeleteTableEncryptionAction TableAction = "s3tables:DeleteTableEncryption"
43+
4044
// S3TablesDeleteTablePolicyAction maps to the AWS `DeleteTablePolicy` S3 Tables action.
4145
S3TablesDeleteTablePolicyAction TableAction = "s3tables:DeleteTablePolicy"
4246

@@ -257,6 +261,7 @@ var SupportedTableActions = map[TableAction]struct{}{
257261
S3TablesDeleteTableBucketAction: {},
258262
S3TablesDeleteTableBucketEncryptionAction: {},
259263
S3TablesDeleteTableBucketPolicyAction: {},
264+
S3TablesDeleteTableEncryptionAction: {},
260265
S3TablesDeleteTablePolicyAction: {},
261266
S3TablesGetNamespaceAction: {},
262267
S3TablesGetTableAction: {},
@@ -401,6 +406,7 @@ func createTableActionConditionKeyMap() map[Action]condition.KeySet {
401406
tableActionConditionKeyMap[Action(S3TablesDeleteTableBucketAction)] = withWarehouseCommon()
402407
tableActionConditionKeyMap[Action(S3TablesDeleteTableBucketEncryptionAction)] = withWarehouseCommon()
403408
tableActionConditionKeyMap[Action(S3TablesDeleteTableBucketPolicyAction)] = withWarehouseCommon()
409+
tableActionConditionKeyMap[Action(S3TablesDeleteTableEncryptionAction)] = withTableCommon()
404410
tableActionConditionKeyMap[Action(S3TablesDeleteTablePolicyAction)] = withTableCommon()
405411
tableActionConditionKeyMap[Action(S3TablesGetNamespaceAction)] = withWarehouseCommon(s3TablesNamespaceKey)
406412
tableActionConditionKeyMap[Action(S3TablesGetTableAction)] = withTableCommon()

0 commit comments

Comments
 (0)