Skip to content

policy: add tablesReadOnly and tablesReadWrite canned policies#225

Merged
harshavardhana merged 3 commits intominio:mainfrom
varun0630:table-canned-policies
Mar 23, 2026
Merged

policy: add tablesReadOnly and tablesReadWrite canned policies#225
harshavardhana merged 3 commits intominio:mainfrom
varun0630:table-canned-policies

Conversation

@varun0630
Copy link
Contributor

@varun0630 varun0630 commented Mar 19, 2026

Adds two new canned policies for S3 Tables access control:

  • tablesReadOnly — read-only access to tables and views (s3tables:Get* + s3tables:List*). Analogous to AWS AmazonS3TablesReadOnlyAccess.
  • tablesReadWrite — read + write access: everything in tablesReadOnly plus table creation, metadata updates, renames, registration, and full view CRUD. Does not include namespace/warehouse creation or deletion (DDL), keeping the scope to data-level operations.

Both policies use arn:aws:s3tables:::* as the resource, allowing them to be attached as-is without requiring warehouse-specific ARNs.

Varun Venkatesh added 2 commits March 19, 2026 04:33
tablesReadOnly mirrors AWS AmazonS3TablesReadOnlyAccess (Get* + List*).
tablesReadWrite adds data write, non-destructive table mutations, and
full view CRUD on top of read-only, without DDL (no create/delete
namespace or table).
…policy

The tablesReadWrite policy was missing S3TablesCreateTableAction, causing
all CreateTable requests from users with this policy to receive 403 Access
Denied even though the policy intent includes non-destructive table mutations.
@harshavardhana
Copy link
Member

Please resolve the conflicts @varun0630

@varun0630
Copy link
Contributor Author

Please resolve the conflicts @varun0630

@harshavardhana done

@harshavardhana harshavardhana merged commit 54ff789 into minio:main Mar 23, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants