Chris Lu
8d2b417c69
iceberg, lance: vend read-only credentials to callers that may only read ( #11859 )
...
* s3tables: share the UpdateTable authorization gate
Extract the validation, load, and permission check from handleUpdateTable
into authorizeUpdateTable so the table an update was authorized against is
the same snapshot the mutation writes to. Manager gains
AuthorizeUpdateTable, mirroring AuthorizeCreateTable, so callers can ask the
question without updating anything.
* s3tables: share the UpdateView authorization gate
Extract the lookup, policy load, and permission check from handleUpdateView
into authorizeUpdateView, mirroring authorizeUpdateTable, and expose it as
Manager.AuthorizeUpdateView for callers that need the answer without the
update.
* s3api: scope vended table credentials to read-only on request
VendTableCredentials takes a readOnly flag and tablePrefixSessionPolicy
emits only s3:GetObject for the table prefix when it is set, keeping the
conditioned ListBucket and unconditioned GetBucketLocation statements that
reads still need.
* iceberg: vend read-only credentials when the caller may not write
LoadTable and friends vend storage credentials only for the authority the
caller holds: the vend now checks UpdateTable/UpdateView permission and a
caller that may only read the catalog entry gets a read-only session. Paths
that just passed a write gate (stage-create, view commit) keep the full
session.
* lance: vend read-only credentials when the caller may not write
storage_options vends the same read-only session as the Iceberg catalog
when the caller lacks UpdateTable on the table.
* lance: keep write credentials for callers authorized to declare
A Lance commit is a direct S3 write that never revisits the catalog, so a
caller that just passed CreateTable still gets a writable session; the
UpdateTable gate applies to describe, the read path.
* iceberg, lance: log a failed write check instead of only reading it as denied
2026-10-20 07:16:27 -07:00
..
2026-01-28 14:34:07 -08:00
2026-10-20 07:16:27 -07:00
2026-10-20 07:16:27 -07:00
2026-08-21 23:42:26 -07:00
2026-04-20 12:04:41 -07:00
2026-10-19 15:55:18 -07:00
2026-10-17 21:36:39 -07:00
2026-09-02 11:35:19 -07:00
2026-05-31 11:15:05 -07:00
2026-10-09 12:43:04 +08:00
2026-10-17 20:30:21 -07:00
2026-10-20 07:16:27 -07:00
2026-07-02 21:11:41 -07:00
2026-10-18 02:43:03 -07:00
2026-09-27 07:03:01 +08:00
2026-08-25 15:31:32 -07:00
2026-05-18 21:35:53 -07:00
2026-09-28 07:17:58 +08:00
2026-07-29 10:30:30 -07:00
2026-07-29 10:30:30 -07:00
2026-07-29 10:30:30 -07:00
2026-10-10 09:34:11 +08:00
2026-09-11 10:42:19 -07:00
2026-09-30 20:45:47 +08:00
2026-01-12 10:45:24 -08:00
2026-10-17 15:25:00 -07:00
2026-10-19 18:35:20 -07:00
2026-05-28 18:10:24 -07:00
2026-07-10 12:17:35 -07:00
2026-07-09 02:34:13 -07:00
2026-07-02 09:14:54 -07:00
2026-09-28 07:17:58 +08:00
2026-06-20 08:28:40 -07:00
2026-08-24 18:39:30 -07:00
2026-06-14 13:55:11 -07:00
2026-10-19 18:32:44 -07:00
2026-10-07 21:02:38 +08:00
2026-10-19 18:32:44 -07:00
2026-10-10 10:11:24 +08:00
2026-02-16 13:59:13 -08:00
2026-09-17 23:50:16 -07:00
2026-09-17 23:50:16 -07:00
2026-10-19 15:55:18 -07:00
2026-10-15 21:53:16 -07:00
2026-08-05 13:15:28 -07:00
2026-08-04 16:00:04 -07:00
2026-08-19 22:59:56 -07:00
2026-08-09 00:00:19 -07:00
2026-08-09 00:00:19 -07:00
2025-08-11 10:31:01 -07:00
2026-10-04 01:14:15 +08:00
2026-10-09 10:01:28 +08:00
2026-10-16 21:10:38 -07:00
2026-10-16 21:10:38 -07:00
2026-06-11 21:56:16 -07:00
2026-07-05 20:19:20 -07:00
2026-07-05 20:19:20 -07:00
2026-05-01 01:14:15 -07:00
2026-07-27 17:48:20 -07:00
2026-09-18 01:01:52 -07:00
2026-09-02 11:57:45 -07:00
2026-07-23 17:44:02 -07:00
2026-10-12 02:41:28 -07:00
2026-10-19 18:10:06 -07:00
2026-07-23 17:44:02 -07:00
2026-10-19 18:10:06 -07:00
2026-08-28 14:30:21 -07:00
2026-08-27 22:30:53 -07:00
2026-01-07 13:06:08 -08:00
2026-08-28 14:30:21 -07:00
2026-08-08 21:24:30 -07:00
2026-09-30 20:45:47 +08:00
2026-09-28 06:58:44 +08:00
2026-05-19 13:03:30 -07:00
2026-02-19 22:52:05 -08:00
2026-10-10 23:44:09 +08:00
2026-06-09 00:48:38 -07:00
2024-07-04 11:00:41 -07:00
2026-09-15 13:09:07 -07:00
2026-09-15 13:09:07 -07:00
2026-09-26 21:42:34 +08:00
2026-10-05 09:13:19 +08:00
2026-04-03 16:04:27 -07:00
2026-10-01 01:10:38 +08:00
2026-07-07 12:36:47 -07:00
2026-09-17 23:50:16 -07:00
2026-08-27 22:30:53 -07:00
2026-10-17 22:30:32 -07:00
2025-11-13 16:10:46 -08:00
2026-10-16 19:48:32 -07:00
2026-09-17 23:50:16 -07:00
2026-10-16 19:48:32 -07:00
2025-08-30 11:15:48 -07:00
2026-09-17 23:50:16 -07:00
2025-11-13 16:10:46 -08:00
2026-10-12 02:41:28 -07:00
2026-04-03 16:04:27 -07:00
2025-11-18 23:18:35 -08:00
2026-05-04 19:14:41 -07:00
2026-10-10 10:59:36 +08:00
2026-04-29 10:06:51 -07:00
2026-04-26 16:31:42 -07:00
2026-05-04 19:21:41 -07:00
2025-11-18 23:18:35 -08:00
2026-07-23 17:44:02 -07:00
2025-10-23 20:10:12 -07:00
2025-11-18 23:18:35 -08:00
2025-12-23 14:48:50 -08:00
2026-05-04 19:14:41 -07:00
2026-05-04 19:14:41 -07:00
2026-10-05 09:13:19 +08:00
2026-10-05 09:13:19 +08:00
2026-06-14 13:54:49 -07:00
2026-09-20 23:34:57 -07:00
2025-12-30 12:40:59 -08:00
2026-07-02 21:11:34 -07:00
2026-05-19 17:34:51 -07:00
2026-07-02 21:11:34 -07:00
2026-10-07 21:02:38 +08:00
2025-10-29 13:43:27 -07:00
2026-10-10 23:41:17 +08:00
2026-10-17 15:25:56 -07:00
2026-07-27 16:42:01 -07:00
2026-09-26 17:59:57 +08:00
2026-10-07 21:02:38 +08:00
2026-02-07 13:27:47 -08:00
2026-10-18 11:48:01 -07:00
2026-08-21 23:42:26 -07:00
2026-09-05 12:13:37 -07:00
2026-09-05 12:13:37 -07:00
2026-07-02 21:11:34 -07:00
2025-08-21 08:28:07 -07:00
2026-07-02 21:11:41 -07:00
2026-08-28 14:30:21 -07:00
2026-02-12 23:11:41 -08:00
2026-07-26 00:52:22 -07:00
2026-10-05 09:13:19 +08:00
2026-08-24 00:52:01 -07:00
2026-10-16 19:50:36 -07:00
2026-08-24 00:52:01 -07:00
2026-09-11 22:17:30 -07:00
2026-09-15 13:09:07 -07:00
2026-08-19 20:09:23 -07:00
2025-08-21 08:28:07 -07:00
2026-09-05 10:16:17 -07:00
2026-09-04 23:12:27 -07:00
2026-06-16 16:29:30 -07:00
2026-06-16 16:29:30 -07:00
2026-04-03 16:04:27 -07:00
2026-07-14 11:53:53 -07:00
2026-10-09 12:43:04 +08:00
2026-10-09 12:43:04 +08:00
2026-08-28 14:30:21 -07:00
2025-10-24 01:45:22 -07:00
2026-10-18 11:48:01 -07:00
2026-09-29 11:51:39 +08:00
2026-09-30 20:45:47 +08:00
2026-10-16 21:11:10 -07:00
2026-10-07 21:02:38 +08:00
2026-10-18 11:48:01 -07:00
2026-10-10 10:59:36 +08:00
2026-09-16 20:34:06 -07:00
2026-08-28 16:32:30 -07:00
2026-10-17 21:36:39 -07:00
2026-10-10 08:52:34 +08:00
2026-10-07 21:02:38 +08:00
2026-09-30 20:45:47 +08:00
2026-10-20 07:16:27 -07:00
2026-10-20 07:16:27 -07:00
2026-02-07 13:27:47 -08:00
2026-09-08 15:09:31 -07:00
2026-10-01 23:12:23 +08:00
2026-09-18 01:01:52 -07:00
2026-01-07 13:06:08 -08:00
2026-09-26 11:58:23 +08:00
2026-08-24 16:14:52 -07:00
2026-06-11 21:56:16 -07:00
2026-04-26 16:31:42 -07:00
2026-08-28 16:12:09 -07:00
2026-01-22 16:56:35 -08:00
2026-10-04 19:41:10 +08:00
2026-10-17 21:36:39 -07:00
2026-10-06 14:25:43 +08:00
2026-10-06 09:52:37 +08:00
2026-10-06 09:52:37 +08:00
2026-07-15 02:31:51 -07:00
2026-10-17 22:30:32 -07:00
2026-10-01 01:11:19 +08:00
2026-10-16 19:50:36 -07:00
2026-10-12 02:49:55 -07:00
2026-10-05 18:22:16 +08:00
2026-05-10 12:08:06 -07:00
2026-05-10 14:55:59 -07:00
2026-10-06 18:05:15 +08:00
2026-05-10 13:34:25 -07:00
2026-08-19 20:07:57 -07:00
2026-10-10 10:59:36 +08:00
2026-10-06 18:05:15 +08:00
2026-06-22 22:19:24 -07:00
2026-08-28 14:30:21 -07:00
2026-08-05 20:29:28 -07:00
2026-07-22 14:38:06 -07:00
2026-10-10 10:59:36 +08:00
2026-10-16 19:52:10 -07:00
2026-08-28 14:30:21 -07:00
2026-10-17 22:30:32 -07:00
2026-10-09 12:43:04 +08:00
2026-10-16 21:07:05 -07:00
2026-10-16 21:07:05 -07:00
2026-10-17 22:30:32 -07:00
2026-10-07 20:53:39 +08:00
2026-10-19 04:35:23 -07:00
2026-10-16 23:45:37 -07:00
2026-09-28 06:58:44 +08:00
2026-10-20 05:36:22 -07:00
2026-10-10 22:36:43 +08:00
2026-10-20 05:36:22 -07:00
2026-10-12 02:41:28 -07:00
2026-09-01 13:20:20 -07:00
2026-07-02 21:11:34 -07:00
2026-09-27 20:17:12 +08:00
2026-10-18 02:23:00 -07:00
2026-04-14 21:52:49 -07:00
2026-07-25 11:30:02 -07:00
2026-10-01 22:21:03 +08:00
2026-10-18 02:23:00 -07:00
2026-10-01 22:21:03 +08:00
2026-09-05 11:48:42 -07:00
2026-10-16 19:50:36 -07:00
2026-10-17 22:30:32 -07:00
2026-10-17 22:30:32 -07:00
2026-10-19 04:35:23 -07:00
2026-07-02 21:11:34 -07:00
2026-05-08 21:35:27 -07:00
2026-10-19 18:35:20 -07:00
2026-09-16 15:27:09 -07:00
2026-10-16 19:52:10 -07:00
2026-09-27 20:17:12 +08:00
2026-07-02 21:11:34 -07:00
2026-09-04 23:10:41 -07:00
2026-06-22 07:52:01 -07:00
2026-06-09 00:48:38 -07:00
2026-09-16 20:34:06 -07:00
2026-06-03 00:12:28 -07:00
2026-10-17 21:36:39 -07:00
2026-10-17 21:36:39 -07:00
2026-10-17 21:36:39 -07:00
2026-10-05 18:22:16 +08:00
2026-10-05 18:22:16 +08:00
2026-10-16 19:44:26 -07:00
2026-10-07 20:04:09 +08:00
2026-09-01 10:37:52 -07:00
2026-09-01 10:11:09 -07:00
2026-10-05 11:58:04 +08:00
2026-06-01 20:01:30 -07:00
2026-10-10 22:36:43 +08:00
2026-07-21 00:08:05 -07:00
2026-06-11 21:56:16 -07:00
2026-09-20 23:34:57 -07:00
2026-10-09 12:43:04 +08:00
2026-10-16 21:10:38 -07:00
2026-10-16 21:10:38 -07:00
2026-10-10 11:00:04 +08:00
2026-09-02 11:36:58 -07:00
2026-07-29 10:30:46 -07:00
2026-10-01 23:12:23 +08:00
2026-10-12 02:55:50 -07:00
2026-10-18 11:48:01 -07:00
2026-10-17 22:30:32 -07:00
2026-08-09 21:59:42 -07:00
2026-04-25 23:06:37 -07:00
2025-11-18 23:18:35 -08:00
2026-08-24 18:36:46 -07:00
2026-01-07 13:06:08 -08:00
2026-03-30 12:11:30 -07:00
2026-07-31 19:50:59 -07:00
2026-07-29 10:30:30 -07:00
2026-06-24 21:38:21 -07:00
2026-05-05 19:14:44 -07:00
2026-05-05 19:14:44 -07:00
2026-09-30 20:45:47 +08:00
2026-07-31 23:56:04 -07:00
2026-09-10 23:03:32 -07:00
2026-07-31 23:56:04 -07:00
2026-04-02 15:59:09 -07:00
2026-10-10 10:11:24 +08:00
2026-07-31 23:56:04 -07:00
2026-10-10 10:11:24 +08:00
2026-09-18 01:01:04 -07:00
2026-08-16 10:36:59 -07:00
2026-06-24 16:24:45 -07:00
2026-05-19 14:24:25 -07:00
2026-10-18 02:43:03 -07:00
2026-01-07 13:06:08 -08:00
2026-06-11 21:56:16 -07:00
2026-06-11 21:56:16 -07:00
2026-05-13 10:48:58 -07:00
2026-08-27 22:28:25 -07:00
2026-05-13 10:48:58 -07:00
2026-09-30 16:22:31 +08:00
2024-07-04 11:00:41 -07:00
2026-09-30 16:22:31 +08:00
2026-07-23 17:44:02 -07:00
2026-05-13 09:24:59 -07:00
2026-08-24 18:39:30 -07:00
2026-05-04 22:10:49 -07:00
2026-03-06 15:22:39 -08:00
2026-05-04 22:10:49 -07:00
2026-06-23 01:25:32 -07:00
2026-06-23 01:25:32 -07:00