Chris Lu and Devin
e442eda88e
s3: authorize POST policy uploads through the shared object check ( #12047 )
...
* s3: authorize POST policy uploads through the shared object check
doesPolicySignatureMatch gated a verified POST Object signature on the
identity's legacy Write action, which cannot represent attached IAM
policies, STS session policies, or key-scoped grants. Users authorized
only by an attached policy (e.g. s3:PutObject on bucket/*) were denied
with AccessDenied even though the equivalent PUT succeeds.
The handler already runs AuthorizeObjectWrite against the real object
key after the form's x-amz-* fields are promoted to headers, so the
coarse check only shadowed the full evaluation. Signature verification
now just returns the identity; authorization stays in one place.
Generated with [Devin](https://devin.ai )
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
* test: POST Object authorizes attached-policy identities, still denies others
Cover the signature check and AuthorizeObjectWrite for an identity whose
only write grant comes from an attached IAM policy, plus the deny leg
for an identity whose attached policy omits s3:PutObject.
Generated with [Devin](https://devin.ai )
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
---------
Co-authored-by: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-24 15:09:34 -07:00
..
2026-10-21 13:10:49 -07:00
2026-10-23 03:58:06 -07:00
2026-10-23 03:58:06 -07:00
2026-08-21 23:42:26 -07:00
2026-10-24 02:04:39 -07:00
2026-10-23 03:58:06 -07:00
2026-09-02 11:35:19 -07:00
2026-05-31 11:15:05 -07:00
2026-10-21 20:43:32 -07:00
2026-10-23 03:19:41 -07:00
2026-10-24 07:04:01 -07:00
2026-07-02 21:11:41 -07:00
2026-10-21 20:33:08 -07:00
2026-10-21 20:33:08 -07:00
2026-10-21 20:33:08 -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-10-21 16:50:34 -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-10-17 15:25:00 -07:00
2026-10-23 17:05:44 -07:00
2026-10-21 14:08:33 -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-10-23 03:58:06 -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-23 03:58:06 -07:00
2026-10-10 10:11:24 +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-10-21 14:49:36 -07:00
2026-08-09 00:00:19 -07:00
2026-08-09 00:00:19 -07:00
2026-10-04 01:14:15 +08:00
2026-10-09 10:01:28 +08:00
2026-10-22 18:38:33 -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-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-23 18:21:26 -07:00
2026-10-24 07:18:10 -07:00
2026-07-23 17:44:02 -07:00
2026-10-24 07:18:10 -07:00
2026-08-28 14:30:21 -07:00
2026-08-27 22:30:53 -07:00
2026-10-23 00:46:10 -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-10-10 23:44:09 +08:00
2026-06-09 00:48:38 -07:00
2026-09-15 13:09:07 -07:00
2026-09-15 13:09:07 -07:00
2026-10-21 16:50:34 -07:00
2026-10-21 16:50:34 -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-21 16:50:34 -07: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
2026-09-17 23:50:16 -07:00
2026-10-24 07:04:01 -07:00
2026-10-10 10:59:36 +08:00
2026-07-23 17:44:02 -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
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
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-10-20 19:01:08 -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
2026-07-02 21:11:41 -07:00
2026-10-22 18:40:30 -07: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
2026-10-24 07:04:01 -07:00
2026-10-24 07:04:01 -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-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
2026-10-21 20:06:30 -07:00
2026-09-29 11:51:39 +08:00
2026-09-30 20:45:47 +08:00
2026-10-20 17:41:37 -07:00
2026-10-23 17:08:49 -07:00
2026-10-07 21:02:38 +08:00
2026-10-23 17:08:49 -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-22 14:34:52 -07:00
2026-10-07 21:02:38 +08:00
2026-09-30 20:45:47 +08:00
2026-10-21 20:33:08 -07:00
2026-10-23 03:58:06 -07:00
2026-10-23 03:58:06 -07:00
2026-10-23 03:58:06 -07: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-09-26 11:58:23 +08:00
2026-08-24 16:14:52 -07:00
2026-06-11 21:56:16 -07:00
2026-08-28 16:12:09 -07:00
2026-10-04 19:41:10 +08:00
2026-10-17 21:36:39 -07:00
2026-10-21 20:02:04 -07:00
2026-10-21 14:08:33 -07:00
2026-10-21 20:02:04 -07:00
2026-07-15 02:31:51 -07:00
2026-10-21 16:50:34 -07:00
2026-10-01 01:11:19 +08:00
2026-10-21 16:50:34 -07:00
2026-10-12 02:49:55 -07:00
2026-10-20 23:43:30 -07:00
2026-10-05 18:22:16 +08:00
2026-05-10 12:08:06 -07:00
2026-10-21 13:46:11 -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-21 14:15:04 -07:00
2026-06-22 22:19:24 -07:00
2026-10-21 13:46:11 -07:00
2026-08-05 20:29:28 -07:00
2026-10-24 07:06:20 -07:00
2026-10-21 13:46:11 -07:00
2026-10-10 10:59:36 +08:00
2026-10-24 07:06:20 -07:00
2026-08-28 14:30:21 -07:00
2026-10-21 20:02:04 -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-21 14:03:02 -07:00
2026-09-28 06:58:44 +08:00
2026-10-22 09:31:20 -07:00
2026-10-20 05:36:22 -07:00
2026-10-24 07:18:10 -07:00
2026-10-10 22:36:43 +08:00
2026-10-24 07:18:10 -07:00
2026-10-24 07:18:10 -07:00
2026-10-24 15:09:34 -07:00
2026-07-02 21:11:34 -07:00
2026-10-24 15:09:34 -07:00
2026-10-18 02:23:00 -07:00
2026-07-25 11:30:02 -07:00
2026-10-01 22:21:03 +08:00
2026-10-24 07:04:01 -07:00
2026-10-21 13:46:11 -07: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-24 07:04:01 -07:00
2026-10-24 07:04:01 -07:00
2026-10-21 20:24:48 -07:00
2026-07-02 21:11:34 -07:00
2026-05-08 21:35:27 -07:00
2026-10-20 12:52:58 -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-10-21 13:37:00 -07:00
2026-10-24 06:57:02 -07:00
2026-10-24 06:57:02 -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-24 07:18:10 -07: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-24 06:58:59 -07:00
2026-10-24 06:58:59 -07:00
2026-08-09 21:59:42 -07:00
2026-08-24 18:36:46 -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-10-10 10:11:24 +08:00
2026-10-23 00:46:14 -07:00
2026-10-10 10:11:24 +08:00
2026-10-21 22:45:53 -07:00
2026-10-21 22:45:53 -07: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-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
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-10-21 14:49:36 -07:00
2026-10-24 07:04:01 -07:00
2026-10-24 07:04:01 -07:00