consul/agent/grpc-external/services/resource
R.B. Boyer ef6f2494c7
resource: allow for the ACLs.Read hook to request the entire data payload to perform the authz check (#18925)
The ACLs.Read hook for a resource only allows for the identity of a 
resource to be passed in for use in authz consideration. For some 
resources we wish to allow for the current stored value to dictate how 
to enforce the ACLs (such as reading a list of applicable services from 
the payload and allowing service:read on any of them to control reading the enclosing resource).

This change update the interface to usually accept a *pbresource.ID, 
but if the hook decides it needs more data it returns a sentinel error 
and the resource service knows to defer the authz check until after
 fetching the data from storage.
2023-09-22 09:53:55 -05:00
..
testing add v2 tenancy bridge Flag and v2 Tenancy Bridge initial implementation (#18830) 2023-09-18 12:25:05 -04:00
delete.go add v2 tenancy bridge Flag and v2 Tenancy Bridge initial implementation (#18830) 2023-09-18 12:25:05 -04:00
delete_test.go resource: Allow nil tenancy (#18618) 2023-08-31 09:24:09 -05:00
list.go resource: allow for the ACLs.Read hook to request the entire data payload to perform the authz check (#18925) 2023-09-22 09:53:55 -05:00
list_by_owner.go resource: allow for the ACLs.Read hook to request the entire data payload to perform the authz check (#18925) 2023-09-22 09:53:55 -05:00
list_by_owner_test.go resource: Allow nil tenancy (#18618) 2023-08-31 09:24:09 -05:00
list_test.go resource: Make resource watchlist tenancy aware (#18539) 2023-08-21 15:02:23 -05:00
mock_ACLResolver.go Check acls on resource `Read`, `List`, and `WatchList` (#16842) 2023-04-11 06:10:14 -05:00
mock_Backend.go resource: List resources by owner (#17190) 2023-05-08 12:26:19 -05:00
mock_Registry.go Check acls on resource `Read`, `List`, and `WatchList` (#16842) 2023-04-11 06:10:14 -05:00
mock_TenancyBridge.go resource: Make resource write tenancy aware (#18423) 2023-08-10 09:53:38 -05:00
read.go resource: allow for the ACLs.Read hook to request the entire data payload to perform the authz check (#18925) 2023-09-22 09:53:55 -05:00
read_test.go resource: allow for the ACLs.Read hook to request the entire data payload to perform the authz check (#18925) 2023-09-22 09:53:55 -05:00
server.go add v2 tenancy bridge Flag and v2 Tenancy Bridge initial implementation (#18830) 2023-09-18 12:25:05 -04:00
server_ce.go OSS -> CE (community edition) changes (#18517) 2023-08-22 09:46:03 -05:00
server_ce_test.go OSS -> CE (community edition) changes (#18517) 2023-08-22 09:46:03 -05:00
server_test.go add v2 tenancy bridge Flag and v2 Tenancy Bridge initial implementation (#18830) 2023-09-18 12:25:05 -04:00
watch.go resource: allow for the ACLs.Read hook to request the entire data payload to perform the authz check (#18925) 2023-09-22 09:53:55 -05:00
watch_test.go resource: Make resource watchlist tenancy aware (#18539) 2023-08-21 15:02:23 -05:00
write.go resource: mutate and validate before acls on write (#18868) 2023-09-18 17:04:29 -05:00
write_status.go add v2 tenancy bridge Flag and v2 Tenancy Bridge initial implementation (#18830) 2023-09-18 12:25:05 -04:00
write_status_test.go resource: Allow nil tenancy (#18618) 2023-08-31 09:24:09 -05:00
write_test.go add v2 tenancy bridge Flag and v2 Tenancy Bridge initial implementation (#18830) 2023-09-18 12:25:05 -04:00