@@ -240,6 +240,106 @@ var DefaultPolicies = []struct {
240240 },
241241 },
242242
243+ // TablesReadWrite - provides read and write access to S3 Tables data and views
244+ // but no DDL (cannot create/delete namespaces or tables). Mirrors the data
245+ // access tier of AWS AmazonS3TablesFullAccess minus administrative operations.
246+ {
247+ Name : "tablesReadWrite" ,
248+ Definition : Policy {
249+ Version : DefaultVersion ,
250+ Statements : []Statement {
251+ {
252+ SID : ID ("" ),
253+ Effect : Allow ,
254+ Actions : NewActionSet (
255+ // Warehouse read
256+ S3TablesGetWarehouseAction ,
257+ S3TablesGetWarehouseEncryptionAction ,
258+ S3TablesGetWarehouseMaintenanceConfigurationAction ,
259+ S3TablesGetWarehousePolicyAction ,
260+ S3TablesListWarehousesAction ,
261+ // Namespace read + property updates
262+ S3TablesGetNamespaceAction ,
263+ S3TablesListNamespacesAction ,
264+ S3TablesUpdateNamespacePropertiesAction ,
265+ // Table read + data write
266+ S3TablesGetTableAction ,
267+ S3TablesListTablesAction ,
268+ S3TablesGetTableDataAction ,
269+ S3TablesPutTableDataAction ,
270+ S3TablesGetTableEncryptionAction ,
271+ S3TablesGetTableMaintenanceConfigurationAction ,
272+ S3TablesGetTableMaintenanceJobStatusAction ,
273+ S3TablesGetTableMetadataLocationAction ,
274+ S3TablesGetTablePolicyAction ,
275+ // Table mutations (non-destructive)
276+ S3TablesCreateTableAction ,
277+ S3TablesUpdateTableAction ,
278+ S3TablesUpdateTableMetadataLocationAction ,
279+ S3TablesRenameTableAction ,
280+ S3TablesRegisterTableAction ,
281+ // Views full CRUD
282+ S3TablesGetViewAction ,
283+ S3TablesListViewsAction ,
284+ S3TablesCreateViewAction ,
285+ S3TablesUpdateViewAction ,
286+ S3TablesRenameViewAction ,
287+ S3TablesDeleteViewAction ,
288+ S3TablesRegisterViewAction ,
289+ // Catalog config + metrics
290+ S3TablesGetConfigAction ,
291+ S3TablesTableMetricsAction ,
292+ ),
293+ Resources : NewResourceSet (NewS3TablesResource ("*" )),
294+ Conditions : condition .NewFunctions (),
295+ },
296+ },
297+ },
298+ },
299+
300+ // TablesReadOnly - provides read-only access to S3 Tables. Mirrors
301+ // AWS AmazonS3TablesReadOnlyAccess (s3tables:Get* + s3tables:List*).
302+ {
303+ Name : "tablesReadOnly" ,
304+ Definition : Policy {
305+ Version : DefaultVersion ,
306+ Statements : []Statement {
307+ {
308+ SID : ID ("" ),
309+ Effect : Allow ,
310+ Actions : NewActionSet (
311+ // Warehouse read
312+ S3TablesGetWarehouseAction ,
313+ S3TablesGetWarehouseEncryptionAction ,
314+ S3TablesGetWarehouseMaintenanceConfigurationAction ,
315+ S3TablesGetWarehousePolicyAction ,
316+ S3TablesListWarehousesAction ,
317+ // Namespace read
318+ S3TablesGetNamespaceAction ,
319+ S3TablesListNamespacesAction ,
320+ // Table read
321+ S3TablesGetTableAction ,
322+ S3TablesListTablesAction ,
323+ S3TablesGetTableDataAction ,
324+ S3TablesGetTableEncryptionAction ,
325+ S3TablesGetTableMaintenanceConfigurationAction ,
326+ S3TablesGetTableMaintenanceJobStatusAction ,
327+ S3TablesGetTableMetadataLocationAction ,
328+ S3TablesGetTablePolicyAction ,
329+ // View read
330+ S3TablesGetViewAction ,
331+ S3TablesListViewsAction ,
332+ // Catalog config + metrics
333+ S3TablesGetConfigAction ,
334+ S3TablesTableMetricsAction ,
335+ ),
336+ Resources : NewResourceSet (NewS3TablesResource ("*" )),
337+ Conditions : condition .NewFunctions (),
338+ },
339+ },
340+ },
341+ },
342+
243343 // Admin - provides admin all-access canned policy
244344 {
245345 Name : "consoleAdmin" ,
0 commit comments