assuming you do not have a bunch of Youtubers in your network :) and you only want to shape streams from from Youtube (not uploading of videos), then you will need to create a shaping policy for Youtube application with reversed 100Mbps shaper and 2Mbps per-ip shaper .
Example of shaping policy that should work for your needs:
config firewall shaping-policy
set name "shape_youtube"
set service "ALL"
set application 31077 # Youtube app ID
set dstintf <your_WAN_port> # Interface(s) towards your ISP(s)
set traffic-shaper-reverse <shaper_name> # Your 100Mbps shared shaper
set per-ip-shaper <shaper_name> # Your 2Mbps per-ip shaper
set srcaddr "all"
set dstaddr "all"
Note: For application-based shaping policy to work correctly, ensure your firewall policy has application control enabled.
You can either use a shared shaper with a maximum bandwidth of 100 Mbps for all YouTube traffic, which would be shared among all clients accessing YouTube, or you can use a per-IP shaper to limit each client's YouTube bandwidth to 2 Mbps. However, you cannot combine both methods within the same traffic shaping policy.
The Fortinet Security Fabric brings together the concepts of convergence and consolidation to provide comprehensive cybersecurity protection for all users, devices, and applications and across all network edges.