Chris Lu
c023493cf0
s3api: tolerate session tokens on statically configured credentials ( #11694 )
...
* s3api: consolidate session token extraction into extractSessionToken
Three call sites duplicated the same header/header/query lookup; share
one helper named after the existing s3tables equivalent.
* s3api: tolerate session tokens on statically configured credentials
Credential vendors like Unity Catalog emit a session token with every vended credential, including static ones (UC's StaticAwsCredentialGenerator only engages when s3.sessionToken is set). Requests signed by a configured access key were routed to STS validation and rejected, so static credential vending never worked against SeaweedFS.
Resolve the access key first: when it maps to a configured credential the signature alone authenticates the request, and the attached token is marked ignored so authorization does not route it into the STS session-policy path. STS-issued access keys are never in the static map, so temporary credentials still validate their token exactly as before.
* s3api: cover static credentials carrying a session token
* test: exercise UC static credential vending against SeaweedFS
s3.sessionToken.0 selects UC's StaticAwsCredentialGenerator, which vends the configured keys verbatim. The vended session token is foreign to SeaweedFS and previously failed SigV4; now it round-trips through temporary-table-credentials into real S3 I/O.
* s3api: reject temporary credentials in GetFederationToken after auth
Token presence alone cannot distinguish a temporary credential from a
statically configured one carrying a vended token. Move the check behind
verifyV4Signature and key it on the operative session token so tolerated
tokens keep the caller eligible.
* s3api: test GetFederationToken with authenticated temporary credentials
Sign the rejection cases with real session credentials so they reach the
post-auth check, and cover a vended static credential being accepted.
* test: check vended-credential delete error in UC integration test
2026-10-10 10:11:24 +08:00
..
2026-01-28 14:34:07 -08:00
2026-10-09 09:59:32 +08:00
2026-09-24 07:02:59 +08:00
2026-08-21 23:42:26 -07:00
2026-04-20 12:04:41 -07:00
2026-10-05 09:13:19 +08:00
2026-10-10 10:11:24 +08: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-08-21 23:42:26 -07:00
2026-10-10 10:11:24 +08:00
2026-07-02 21:11:41 -07:00
2026-08-03 12:45:42 -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-10 10:11:24 +08: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-08-26 10:09:05 -07:00
2026-10-07 21:02:38 +08:00
2026-10-10 10:11:24 +08: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-09-11 22:23:26 -07:00
2026-07-22 14:38:06 -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-06-10 00:30:43 -07:00
2026-10-09 10:01:28 +08: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-07-23 17:44:02 -07:00
2026-09-26 11:58:23 +08: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-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-01-07 13:06:08 -08:00
2025-11-13 16:10:46 -08:00
2026-07-10 12:14:18 -07:00
2026-09-17 23:50:16 -07:00
2026-09-28 07:17:58 +08: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-01 01:10:38 +08: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-07-27 17:48:20 -07: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-09-28 06:56:46 +08: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-07 21:02:38 +08: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-09-09 20:15:43 -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-09-07 20:25:03 -07:00
2026-09-29 11:51:39 +08:00
2026-09-30 20:45:47 +08:00
2026-10-07 21:02:38 +08:00
2026-10-07 21:02:38 +08:00
2026-10-07 21:02:38 +08:00
2026-08-26 10:05:49 -07:00
2026-09-16 20:34:06 -07:00
2026-08-28 16:32:30 -07:00
2026-08-28 16:32:30 -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-08-16 12:57:12 -07:00
2026-08-16 12:57:12 -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-10 08:52:34 +08: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-04 19:41:10 +08:00
2026-10-01 01:11:19 +08:00
2026-10-01 01:11:19 +08:00
2026-08-27 11:56:33 -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-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-08-05 20:29:28 -07:00
2026-10-06 18:05:15 +08:00
2026-08-28 14:30:21 -07:00
2026-10-07 21:02:38 +08:00
2026-10-09 12:43:04 +08:00
2026-01-17 18:40:48 -08:00
2026-10-07 20:53:39 +08:00
2026-08-05 00:24:54 -07:00
2026-07-09 00:22:34 -07:00
2026-09-28 06:58:44 +08:00
2026-10-05 11:58:04 +08:00
2026-10-05 11:58:04 +08:00
2026-10-07 20:53:39 +08:00
2026-10-09 12:43:04 +08: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-09-18 12:30:07 -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-10 08:52:34 +08:00
2026-10-01 22:21:03 +08:00
2026-09-05 11:48:42 -07:00
2026-09-05 11:48:42 -07:00
2025-07-19 00:49:56 -07:00
2026-07-15 02:31:51 -07:00
2026-10-09 12:43:04 +08:00
2026-07-02 21:11:34 -07:00
2026-05-08 21:35:27 -07:00
2026-09-27 20:17:12 +08:00
2026-09-16 15:27:09 -07:00
2026-07-02 21:11:34 -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-09-18 12:30:07 -07:00
2026-09-17 21:09:21 -07:00
2026-10-05 18:22:16 +08:00
2026-10-05 18:22:16 +08:00
2026-10-05 18:22:16 +08:00
2026-09-17 21:09:21 -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-07 20:04:09 +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-07 21:02:38 +08:00
2026-10-07 21:02:38 +08:00
2026-09-04 23:50:11 -07: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-01 23:12:23 +08:00
2026-09-07 20:25:03 -07:00
2026-10-07 21:02:38 +08: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-09-18 01:01:04 -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