@@ -55,7 +55,7 @@ import {
5555 PostNewAgentActionResponseSchema ,
5656 PostRetrieveAgentsByActionsResponseSchema ,
5757} from '../../types/rest_spec/agent' ;
58-
58+ import { FLEET_API_PRIVILEGES } from '../../constants/api_privileges' ;
5959import { calculateRouteAuthz } from '../../services/security/security' ;
6060
6161import { genericErrorResponse } from '../schema/errors' ;
@@ -95,8 +95,10 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT
9595 router . versioned
9696 . get ( {
9797 path : AGENT_API_ROUTES . INFO_PATTERN ,
98- fleetAuthz : {
99- fleet : { readAgents : true } ,
98+ security : {
99+ authz : {
100+ requiredPrivileges : [ FLEET_API_PRIVILEGES . AGENTS . READ ] ,
101+ } ,
100102 } ,
101103 summary : `Get an agent` ,
102104 description : `Get an agent by ID.` ,
@@ -126,8 +128,10 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT
126128 router . versioned
127129 . put ( {
128130 path : AGENT_API_ROUTES . UPDATE_PATTERN ,
129- fleetAuthz : {
130- fleet : { allAgents : true } ,
131+ security : {
132+ authz : {
133+ requiredPrivileges : [ FLEET_API_PRIVILEGES . AGENTS . ALL ] ,
134+ } ,
131135 } ,
132136 summary : `Update an agent` ,
133137 description : `Update an agent by ID.` ,
@@ -157,8 +161,10 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT
157161 router . versioned
158162 . post ( {
159163 path : AGENT_API_ROUTES . BULK_UPDATE_AGENT_TAGS_PATTERN ,
160- fleetAuthz : {
161- fleet : { allAgents : true } ,
164+ security : {
165+ authz : {
166+ requiredPrivileges : [ FLEET_API_PRIVILEGES . AGENTS . ALL ] ,
167+ } ,
162168 } ,
163169 summary : `Bulk update agent tags` ,
164170 options : {
@@ -187,8 +193,10 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT
187193 router . versioned
188194 . delete ( {
189195 path : AGENT_API_ROUTES . DELETE_PATTERN ,
190- fleetAuthz : {
191- fleet : { allAgents : true } ,
196+ security : {
197+ authz : {
198+ requiredPrivileges : [ FLEET_API_PRIVILEGES . AGENTS . ALL ] ,
199+ } ,
192200 } ,
193201 summary : `Delete an agent` ,
194202 description : `Delete an agent by ID.` ,
@@ -218,9 +226,10 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT
218226 router . versioned
219227 . get ( {
220228 path : AGENT_API_ROUTES . LIST_PATTERN ,
221-
222- fleetAuthz : {
223- fleet : { readAgents : true } ,
229+ security : {
230+ authz : {
231+ requiredPrivileges : [ FLEET_API_PRIVILEGES . AGENTS . READ ] ,
232+ } ,
224233 } ,
225234 summary : `Get agents` ,
226235 options : {
@@ -249,8 +258,10 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT
249258 router . versioned
250259 . get ( {
251260 path : AGENT_API_ROUTES . LIST_TAGS_PATTERN ,
252- fleetAuthz : {
253- fleet : { readAgents : true } ,
261+ security : {
262+ authz : {
263+ requiredPrivileges : [ FLEET_API_PRIVILEGES . AGENTS . READ ] ,
264+ } ,
254265 } ,
255266 summary : `Get agent tags` ,
256267 options : {
@@ -279,8 +290,10 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT
279290 router . versioned
280291 . post ( {
281292 path : AGENT_API_ROUTES . ACTIONS_PATTERN ,
282- fleetAuthz : {
283- fleet : { allAgents : true } ,
293+ security : {
294+ authz : {
295+ requiredPrivileges : [ FLEET_API_PRIVILEGES . AGENTS . ALL ] ,
296+ } ,
284297 } ,
285298 summary : `Create an agent action` ,
286299 options : {
@@ -313,8 +326,10 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT
313326 router . versioned
314327 . post ( {
315328 path : AGENT_API_ROUTES . CANCEL_ACTIONS_PATTERN ,
316- fleetAuthz : {
317- fleet : { allAgents : true } ,
329+ security : {
330+ authz : {
331+ requiredPrivileges : [ FLEET_API_PRIVILEGES . AGENTS . ALL ] ,
332+ } ,
318333 } ,
319334 summary : `Cancel an agent action` ,
320335 options : {
@@ -348,8 +363,10 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT
348363 router . versioned
349364 . post ( {
350365 path : AGENT_API_ROUTES . LIST_PATTERN ,
351- fleetAuthz : {
352- fleet : { readAgents : true } ,
366+ security : {
367+ authz : {
368+ requiredPrivileges : [ FLEET_API_PRIVILEGES . AGENTS . READ ] ,
369+ } ,
353370 } ,
354371 summary : `Get agents by action ids` ,
355372 options : {
@@ -377,8 +394,10 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT
377394 router . versioned
378395 . post ( {
379396 path : AGENT_API_ROUTES . UNENROLL_PATTERN ,
380- fleetAuthz : {
381- fleet : { allAgents : true } ,
397+ security : {
398+ authz : {
399+ requiredPrivileges : [ FLEET_API_PRIVILEGES . AGENTS . ALL ] ,
400+ } ,
382401 } ,
383402 summary : `Unenroll an agent` ,
384403 options : {
@@ -396,8 +415,10 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT
396415 router . versioned
397416 . post ( {
398417 path : AGENT_API_ROUTES . REASSIGN_PATTERN ,
399- fleetAuthz : {
400- fleet : { allAgents : true } ,
418+ security : {
419+ authz : {
420+ requiredPrivileges : [ FLEET_API_PRIVILEGES . AGENTS . ALL ] ,
421+ } ,
401422 } ,
402423 summary : `Reassign an agent` ,
403424 options : {
@@ -425,8 +446,10 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT
425446 router . versioned
426447 . post ( {
427448 path : AGENT_API_ROUTES . REQUEST_DIAGNOSTICS_PATTERN ,
428- fleetAuthz : {
429- fleet : { readAgents : true } ,
449+ security : {
450+ authz : {
451+ requiredPrivileges : [ FLEET_API_PRIVILEGES . AGENTS . READ ] ,
452+ } ,
430453 } ,
431454 summary : `Request agent diagnostics` ,
432455 options : {
@@ -454,8 +477,10 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT
454477 router . versioned
455478 . post ( {
456479 path : AGENT_API_ROUTES . BULK_REQUEST_DIAGNOSTICS_PATTERN ,
457- fleetAuthz : {
458- fleet : { readAgents : true } ,
480+ security : {
481+ authz : {
482+ requiredPrivileges : [ FLEET_API_PRIVILEGES . AGENTS . READ ] ,
483+ } ,
459484 } ,
460485 summary : `Bulk request diagnostics from agents` ,
461486 options : {
@@ -483,8 +508,10 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT
483508 router . versioned
484509 . get ( {
485510 path : AGENT_API_ROUTES . LIST_UPLOADS_PATTERN ,
486- fleetAuthz : {
487- fleet : { readAgents : true } ,
511+ security : {
512+ authz : {
513+ requiredPrivileges : [ FLEET_API_PRIVILEGES . AGENTS . READ ] ,
514+ } ,
488515 } ,
489516 summary : `Get agent uploads` ,
490517 options : {
@@ -512,8 +539,10 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT
512539 router . versioned
513540 . get ( {
514541 path : AGENT_API_ROUTES . GET_UPLOAD_FILE_PATTERN ,
515- fleetAuthz : {
516- fleet : { readAgents : true } ,
542+ security : {
543+ authz : {
544+ requiredPrivileges : [ FLEET_API_PRIVILEGES . AGENTS . READ ] ,
545+ } ,
517546 } ,
518547 summary : `Get an uploaded file` ,
519548 description : `Get a file uploaded by an agent.` ,
@@ -542,8 +571,10 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT
542571 router . versioned
543572 . delete ( {
544573 path : AGENT_API_ROUTES . DELETE_UPLOAD_FILE_PATTERN ,
545- fleetAuthz : {
546- fleet : { allAgents : true } ,
574+ security : {
575+ authz : {
576+ requiredPrivileges : [ FLEET_API_PRIVILEGES . AGENTS . ALL ] ,
577+ } ,
547578 } ,
548579 summary : `Delete an uploaded file` ,
549580 description : `Delete a file uploaded by an agent.` ,
@@ -568,11 +599,11 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT
568599 } ,
569600 deleteAgentUploadFileHandler
570601 ) ;
571-
572602 // Get agent status for policy
573603 router . versioned
574604 . get ( {
575605 path : AGENT_API_ROUTES . STATUS_PATTERN ,
606+ // TODO move to kibana authz https://github.com/elastic/kibana/issues/203170
576607 fleetAuthz : ( fleetAuthz : FleetAuthz ) : boolean =>
577608 calculateRouteAuthz (
578609 fleetAuthz ,
@@ -604,8 +635,10 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT
604635 router . versioned
605636 . get ( {
606637 path : AGENT_API_ROUTES . DATA_PATTERN ,
607- fleetAuthz : {
608- fleet : { readAgents : true } ,
638+ security : {
639+ authz : {
640+ requiredPrivileges : [ FLEET_API_PRIVILEGES . AGENTS . READ ] ,
641+ } ,
609642 } ,
610643 summary : `Get incoming agent data` ,
611644 options : {
@@ -634,8 +667,10 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT
634667 router . versioned
635668 . post ( {
636669 path : AGENT_API_ROUTES . UPGRADE_PATTERN ,
637- fleetAuthz : {
638- fleet : { allAgents : true } ,
670+ security : {
671+ authz : {
672+ requiredPrivileges : [ FLEET_API_PRIVILEGES . AGENTS . ALL ] ,
673+ } ,
639674 } ,
640675 summary : `Upgrade an agent` ,
641676 options : {
@@ -663,8 +698,10 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT
663698 router . versioned
664699 . post ( {
665700 path : AGENT_API_ROUTES . BULK_UPGRADE_PATTERN ,
666- fleetAuthz : {
667- fleet : { allAgents : true } ,
701+ security : {
702+ authz : {
703+ requiredPrivileges : [ FLEET_API_PRIVILEGES . AGENTS . ALL ] ,
704+ } ,
668705 } ,
669706 summary : `Bulk upgrade agents` ,
670707 options : {
@@ -693,8 +730,10 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT
693730 router . versioned
694731 . get ( {
695732 path : AGENT_API_ROUTES . ACTION_STATUS_PATTERN ,
696- fleetAuthz : {
697- fleet : { readAgents : true } ,
733+ security : {
734+ authz : {
735+ requiredPrivileges : [ FLEET_API_PRIVILEGES . AGENTS . READ ] ,
736+ } ,
698737 } ,
699738 summary : `Get an agent action status` ,
700739 options : {
@@ -723,8 +762,10 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT
723762 router . versioned
724763 . post ( {
725764 path : AGENT_API_ROUTES . BULK_REASSIGN_PATTERN ,
726- fleetAuthz : {
727- fleet : { allAgents : true } ,
765+ security : {
766+ authz : {
767+ requiredPrivileges : [ FLEET_API_PRIVILEGES . AGENTS . ALL ] ,
768+ } ,
728769 } ,
729770 summary : `Bulk reassign agents` ,
730771 options : {
@@ -753,8 +794,10 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT
753794 router . versioned
754795 . post ( {
755796 path : AGENT_API_ROUTES . BULK_UNENROLL_PATTERN ,
756- fleetAuthz : {
757- fleet : { allAgents : true } ,
797+ security : {
798+ authz : {
799+ requiredPrivileges : [ FLEET_API_PRIVILEGES . AGENTS . ALL ] ,
800+ } ,
758801 } ,
759802 summary : `Bulk unenroll agents` ,
760803 options : {
@@ -783,8 +826,10 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT
783826 router . versioned
784827 . get ( {
785828 path : AGENT_API_ROUTES . AVAILABLE_VERSIONS_PATTERN ,
786- fleetAuthz : {
787- fleet : { readAgents : true } ,
829+ security : {
830+ authz : {
831+ requiredPrivileges : [ FLEET_API_PRIVILEGES . AGENTS . READ ] ,
832+ } ,
788833 } ,
789834 summary : `Get available agent versions` ,
790835 options : {
@@ -817,8 +862,10 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT
817862 . get ( {
818863 path : '/internal/fleet/agents/status_runtime_field' ,
819864 access : 'internal' ,
820- fleetAuthz : {
821- fleet : { readAgents : true } ,
865+ security : {
866+ authz : {
867+ requiredPrivileges : [ FLEET_API_PRIVILEGES . AGENTS . READ ] ,
868+ } ,
822869 } ,
823870 } )
824871 . addVersion (
0 commit comments