s3: enforce authentication and JSON error format for Iceberg REST Catalog (#8192)
* s3: enforce authentication and JSON error format for Iceberg REST Catalog * s3/iceberg: align error exception types with OpenAPI spec examples * s3api: refactor AuthenticateRequest to return identity object * s3/iceberg: propagate full identity object to request context * s3/iceberg: differentiate NotAuthorizedException and ForbiddenException * s3/iceberg: reject requests if authenticator is nil to prevent auth bypass * s3/iceberg: refactor Auth middleware to build context incrementally and use switch for error mapping * s3api: update misleading comment for authRequestWithAuthType * s3api: return ErrAccessDenied if IAM is not configured to prevent auth bypass * s3/iceberg: optimize context update in Auth middleware * s3api: export CanDo for external authorization use * s3/iceberg: enforce identity-based authorization in all API handlers * s3api: fix compilation errors by updating internal CanDo references * s3/iceberg: robust identity validation and consistent action usage in handlers * s3api: complete CanDo rename across tests and policy engine integration * s3api: fix integration tests by allowing admin access when auth is disabled and explicit gRPC ports * duckdb * create test bucket
This commit is contained in:
@@ -181,9 +181,9 @@ func TestCheckGovernanceBypassPermissionIntegrationBehavior(t *testing.T) {
|
||||
//
|
||||
// 1. Function calls s3a.iam.authRequest() with the bypass action
|
||||
// 2. If authRequest returns errCode != s3err.ErrNone, function returns false
|
||||
// 3. If authRequest succeeds, function checks identity.canDo() with the bypass action
|
||||
// 4. If canDo() returns true, function returns true
|
||||
// 5. If bypass permission fails, function checks admin action with identity.canDo()
|
||||
// 3. If authRequest succeeds, function checks identity.CanDo() with the bypass action
|
||||
// 4. If CanDo() returns true, function returns true
|
||||
// 5. If bypass permission fails, function checks admin action with identity.CanDo()
|
||||
// 6. If admin action succeeds, function returns true and logs admin access
|
||||
// 7. If all checks fail, function returns false
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user