Skip to content

Commit acd7bb6

Browse files
craig[bot]shubhamdhama
andcommitted
Merge #150482
150482: rpc: authorize DRPC method endpoints for tenants for split Internal service r=cthumuluru-crdb a=shubhamdhama Previously, we had a single Internal service with many RPC methods. As part of the work in #148726, this service was split into several specialized services (KVBatch, TenantService, RangeFeed, TenantUsage, TenantSpanConfig). This change will allow the upcoming DRPC authorization interceptors to authorize access to these newly split service endpoints. Release note: none Epic: CRDB-49359 Co-authored-by: Shubham Dhama <[email protected]>
2 parents 802ecdc + 95b19ff commit acd7bb6

File tree

1 file changed

+23
-11
lines changed

1 file changed

+23
-11
lines changed

pkg/rpc/auth_tenant.go

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -55,22 +55,29 @@ func (a tenantAuthorizer) authorize(
5555
req interface{},
5656
) error {
5757
switch fullMethod {
58-
case "/cockroach.roachpb.Internal/Batch", "/cockroach.roachpb.Internal/BatchStream":
58+
case "/cockroach.roachpb.Internal/Batch", "/cockroach.roachpb.Internal/BatchStream",
59+
"/cockroach.roachpb.KVBatch/Batch", "/cockroach.roachpb.KVBatch/BatchStream":
5960
return a.authBatch(ctx, sv, tenID, req.(*kvpb.BatchRequest))
6061

61-
case "/cockroach.roachpb.Internal/RangeLookup":
62+
case "/cockroach.roachpb.Internal/RangeLookup",
63+
"/cockroach.roachpb.TenantService/RangeLookup":
6264
return a.authRangeLookup(ctx, tenID, req.(*kvpb.RangeLookupRequest))
6365

64-
case "/cockroach.roachpb.Internal/RangeFeed", "/cockroach.roachpb.Internal/MuxRangeFeed":
66+
case "/cockroach.roachpb.Internal/RangeFeed",
67+
"/cockroach.roachpb.Internal/MuxRangeFeed",
68+
"/cockroach.roachpb.RangeFeed/MuxRangeFeed":
6569
return a.authRangeFeed(tenID, req.(*kvpb.RangeFeedRequest))
6670

67-
case "/cockroach.roachpb.Internal/GossipSubscription":
71+
case "/cockroach.roachpb.Internal/GossipSubscription",
72+
"/cockroach.roachpb.TenantService/GossipSubscription":
6873
return a.authGossipSubscription(tenID, req.(*kvpb.GossipSubscriptionRequest))
6974

70-
case "/cockroach.roachpb.Internal/TokenBucket":
75+
case "/cockroach.roachpb.Internal/TokenBucket",
76+
"/cockroach.roachpb.TenantUsage/TokenBucket":
7177
return a.authTokenBucket(tenID, req.(*kvpb.TokenBucketRequest))
7278

73-
case "/cockroach.roachpb.Internal/TenantSettings":
79+
case "/cockroach.roachpb.Internal/TenantSettings",
80+
"/cockroach.roachpb.TenantService/TenantSettings":
7481
return a.authTenantSettings(tenID, req.(*kvpb.TenantSettingsRequest))
7582

7683
case "/cockroach.rpc.Heartbeat/Ping":
@@ -130,19 +137,24 @@ func (a tenantAuthorizer) authorize(
130137
case "/cockroach.server.serverpb.Status/SpanStats":
131138
return a.authSpanStats(ctx, tenID, req.(*roachpb.SpanStatsRequest))
132139

133-
case "/cockroach.roachpb.Internal/GetSpanConfigs":
140+
case "/cockroach.roachpb.Internal/GetSpanConfigs",
141+
"/cockroach.roachpb.TenantSpanConfig/GetSpanConfigs":
134142
return a.authGetSpanConfigs(ctx, tenID, req.(*roachpb.GetSpanConfigsRequest))
135143

136-
case "/cockroach.roachpb.Internal/SpanConfigConformance":
144+
case "/cockroach.roachpb.Internal/SpanConfigConformance",
145+
"/cockroach.roachpb.TenantSpanConfig/SpanConfigConformance":
137146
return a.authSpanConfigConformance(ctx, tenID, req.(*roachpb.SpanConfigConformanceRequest))
138147

139-
case "/cockroach.roachpb.Internal/GetAllSystemSpanConfigsThatApply":
148+
case "/cockroach.roachpb.Internal/GetAllSystemSpanConfigsThatApply",
149+
"/cockroach.roachpb.TenantSpanConfig/GetAllSystemSpanConfigsThatApply":
140150
return a.authGetAllSystemSpanConfigsThatApply(tenID, req.(*roachpb.GetAllSystemSpanConfigsThatApplyRequest))
141151

142-
case "/cockroach.roachpb.Internal/UpdateSpanConfigs":
152+
case "/cockroach.roachpb.Internal/UpdateSpanConfigs",
153+
"/cockroach.roachpb.TenantSpanConfig/UpdateSpanConfigs":
143154
return a.authUpdateSpanConfigs(ctx, tenID, req.(*roachpb.UpdateSpanConfigsRequest))
144155

145-
case "/cockroach.roachpb.Internal/GetRangeDescriptors":
156+
case "/cockroach.roachpb.Internal/GetRangeDescriptors",
157+
"/cockroach.roachpb.TenantService/GetRangeDescriptors":
146158
return a.authGetRangeDescriptors(ctx, tenID, req.(*kvpb.GetRangeDescriptorsRequest))
147159

148160
case "/cockroach.server.serverpb.Status/HotRangesV2":

0 commit comments

Comments
 (0)